Historia de C++

Breve Historia del lenguaje C++
De forma resumida podemos ver la evolución de los lenguajes de programación según el siguiente esquema:
- Los primeros programas se crearon mediante conmutadores. El lenguaje utilizado era el lenguaje máquina. Sólo era aplicable a pequeños programas.
-  El lenguaje ensamblador apareció para evitar programas usando cadenas de ceros y unos.
- En los años 50 aparece el primer lenguaje de alto nivel denominado FORTRAN. Permite la construcción de programas largos, no obstante, se corría el peligro de crear programas difícilmente legibles.
Para evitar este problema, en los años 60 y 70 aparecen los lenguajes estructurados (C, Pascal, Algol).
Están basados en estructuras de control bien definidas, bloques de código, la ausencia de la instrucción GOTO, y subrutinas independientes que soportan recursividad y variables locales.
Aunque la programación estructurada nos ha llevado a excelentes resultados, cuando se ha aplicado a problemas complejos, los resultados son menos satisfactorios.

Algunos de los problemas que presenta el modelo tradicional de desarrollo de sistemas de información surgen:

·         Cuando la complejidad del sistema o su ambigüedad no permite un análisis inicial completo.
·         Si el sistema desarrollado no se adapta a las necesidades de los usuarios, por falta de entendimiento inicial entre usuarios y diseñadores.
·         Requiere excesivos recursos dedicados a su mantenimiento.
·         Resulta difícil llevar a cabo su modificación por cambios del entorno o de los requisitos iniciales.
·         Cuando necesita incorporar el tratamiento de nuevos tipos de datos como imágenes, sonido, vídeo digital, etc.
Para resolver estos problemas surge la Programación Orientada a Objetos. La POO toma las mejores ideas incorporadas a la programación estructurada y las combina con nuevos y potentes conceptos que permiten organizar los programas en una forma más efectiva.
En los años 70, nace Smalltalk como un lenguaje orientado a objetos puro. En la década de los 80 aparecen lenguajes híbridos orientados a procedimientos y a objetos como C++.
C++ nació como una extensión del lenguaje C, para conseguir aunar la eficiencia del lenguaje C con las ventajas del modelo orientado a objetos.
El primer paso hacia C++ se produjo en 1980, cuando se presentó un primer lenguaje llamado C with classes, descrito por Bjarne Stroustrup. En 1983/84 se rediseñó este lenguaje, pasando a llamarse C++ (el nombre proviene del operador incremento de C, ++, para indicar que es una evolución). Tras pequeños refinamientos, en 1985 se puso a disposición de todo el mundo y se documentó en el libro de Bjarne Stroustrup, “The C++ Programming Language”.
Además, C++ es compatible con C, es decir, todo lo que puede hacerse en C se puede hacer también en C++, por lo tanto, cualquier código C puede tratarse con un compilador de C++. Por esta razón, un gran porcentaje de usuarios de C++ lo emplean simplemente como un C más potente, desaprovechando muchas de sus capacidades.
Una de las principales críticas que recibe C++ de los expertos en orientación a objetos es que en C++ se puede programar con orientación a objetos o con metodología tradicional: es un lenguaje híbrido.
La evolución de C++ ha continuado con la aparición de lenguajes como Java y C#.
Java es un lenguaje orientado a objetos desarrollado por Sun Microsystems simplificando algunas cosas de C++ y añadiendo otras, y que se utiliza tanto para realizar aplicaciones web como aplicaciones de escritorio.
C# es un lenguaje orientado a objetos desarrollado por Microsoft para la plataforma .Net. Tiene sus raíces en Java, C y C++; adapta las mejores características de cada uno de estos lenguajes y agrega características propias. C# permite desarrollar aplicaciones de escritorio así como aplicaciones web.


10 comentarios: