2. Lenguaje de programación C++

2.1 Historia
Resultado de imagen de bjarne stroustrup c++      C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
En 1983, el Instituto Americano de Normalización (ANSI) se dio a la tarea de estandarizar el lenguaje C, aunque esta tarea tardó 6 años en completarse, y además con la ayuda de la Organización Internacional de Normalización (ISO), en el año de 1989 definió el C Estándar. A partir de éste, se dio pie para evolucionar el lenguaje de programación C. Fue en los mismos laboratorios de AT&T Bell, que Bjarnes Stroutstrup diseñó y desarrolló C++ buscando un lenguaje con las opciones de programación orientada a objetos.Ahora el desarrollo del estándar de C++ acaparaba la atención de los diseñadores. En el año 1995, se incluyeron algunas bibliotecas de funciones al lenguaje C. Y con base en ellas, se pudo en 1998 definir el estándar de C++. Algunas personas podrían pensar que entonces C++ desplazó a C, y en algunos aspectos podría ser cierto, pero también es cierto que algunas soluciones a problemas requieren de la estructura simple de C más que la de C++, C generalmente es usado por comodidad para escribir controladores de dispositivos y para programas de computadoras con recursos limitados. La base del lenguaje fue creada por programadores y para programadores, a diferencia de otros lenguajes como Basic o Cobol que fueron creados para que los usuarios resolvieran pequeños problemas de sus ordenadores y el segundo para que los no programadores pudiesen entender partes del programa. C++ es un lenguaje de nivel medio pero no porque sea menos potente que otro, sino porque combina la programación estructurada de los lenguajes de alto nivel con la flexibilidad del ensamblador.

2.2 Características del lenguaje de programación C++
Las principales características del Lenguaje C son:
1.-Tiene un conjunto completo de instrucciones de control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable).
4.-Los argumentos de las funciones se transfieren por su valor.
5.- E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca de funciones.
Permite la separación de un programa en módulos que admiten compilación independiente.
Originalmente el Lenguaje C estuvo muy ligado al sistema operativo UNIX como se había mencionado antes que, en su mayor parte, está escrito en C. Más adelante se comenzó a utilizar en otros sistemas operativos para programar editores, compiladores, etc. Aunque se le conoce como un lenguaje de programación de sistemas, no se adapta mal al resto de aplicaciones. De hecho, hoy en día un alto porcentaje de software para ordenadores personales está escrito en Lenguaje C. Por ejemplo, el sistema operativo MS-DOS.

Algunas de las características más importantes que definen el lenguaje y que han permitido que sea tan popular, como lenguaje de programación son:

Tamaño pequeño.
Uso extensivo de llamadas a funciones.
Comandos breves (poco tecleo).
Lenguaje estructurado.
Programación de bajo nivel (nivel bit)
Implementación de apuntadores - uso extensivo de apuntadores para la memoria, arreglos, estructuras y funciones
Las diversas razones por la cual se ha convertido en un lenguaje de uso profesional son:

El uso de constructores de alto nivel.
El poder manejar actividades de bajo-nivel.
El generar programas eficientes.
La posibilidad de poder ser compilado en una variedad de computadoras, con pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de errores, lo cual en ocasiones es problemático para los principiantes.

2.3 Versiones del lenguaje C++

El C++ es un idioma de programcion, tomado de mejorar con el agregado de pre-estructuras el idiona C.
EN general los programas en c++ son compatibles , los que tienen cierta diferencia son los compiladores.
Compilador, es un programa, que entiende el codigo y lo transforma en ordenes de maquina, El compilador tiene su sistema de deteccion de errores y su ayuda. Hay compiladores que solo procesan sobre consola es decir sobre la base del msdos o similar, otros permiten procesar en ventanas (windows) e incorporar objetos visuales a lo que es codificacion.
Para consola, los mas comunes son el turbo c++ de borland, que admiten objetos o ventanas el Dev C++ , el Visual C++ el borland buid C++ y hay muchos mas.
El C++ agrega preestructuras que es algo asi como las librerias que reciben el nombre de archivos de cabecera, cada compilador tiene sus librerias, y son compatibles entre si, salvo la forma de escribirse. Por ejemplo en Turbo C++ #include <iostream.h> es equivalente al #include <iostream> del Dev C++ y el Visual C++ El TurboC++ y el DevC++ tienen el achivo de cabecera conio.h, pero no son iguales asi que no todas las funciones de este archivo son compatibles y entre Visual C++ pasa lo mismo.


Estas son las "versiones" o nombres de los estándares que ha tomado con el paso del tiempo:
C++
C++98
C++03
C++TR1
C++11
C++14
C++17 (Esta última aún no está disponible, pero se espera que esté lista para el año 2017)



Comentarios