Historia del lenguaje C++

Qué es C++?

C++ es un superconjunto creado a partir del lenguaje C, cuenta con todas las funcionalidades de C y agrega funcionalidades nuevas como clases, sobrecarga de funciones, herencia entre clases, etc.

Origen

Su origen data del año 1979 y se le atribuye a Bjarne Stroustrup. El lenguaje que inspiró a Stroustrup fue el lenguaje Simula (lenguaje usado para simulaciones), que es considerado el primer lenguaje en permitir programación orientada a objetos. Stroustrup considero que esta funcionalidad del lenguaje Simula era muy útil en el desarrollo de software, pero Simula era muy lento para un uso práctico.

Stroustrup

Bjarne Stroustrup

Stroustrup comenzó a trabajar en su lenguaje llamado “C with classes” (C con clases) , su meta era agregar programación orientada a objetos al lenguaje C. El primer compilador de este lenguaje fue Cfront (un compilador escrito en C with classes) derivado del compilador de lenguaje C llamado CPre, aunque en 1993 se dejaría de usar por la dificultad para agregar nuevas funciones.

En 1983 el nombre del lenguaje fue cambiado de “C with classes” a “C++”. Podemos entender con esto la imagen que tenía Stroustrup de su lenguaje como una mejora del lenguaje “C” (al ser ++ un incrementador de variable).

Para 1985 Stroustrup publicó su referencia al lenguaje “The C++ Programming Language” (“El lenguaje de programación C++), el cual fue muy importante debido a la falta de estandarización del lenguaje recién creado. En 1990 se publicó “The Annotated C++ Reference Manual” (Manual de referencia anotada de C++) y ese mismo año salió al mercado el compilador “Turbo C++” (desarrollado por Borland Software Corporation) que agregaba una gran cantidad de nuevas librerías al lenguaje, ayudando a su desarrollo. El proyecto de librerías “Boost” agrego nuevas funcionalidades al lenguaje tales como aleatorización comprehensiva y una nueva librería de tiempo.

Estandarización

En 1998 el “Comité de estándares de C++”  publicó su primera estandarización internacional  ISO/IEC 14882:1998 (conocida también como C++98) la cual, al tener varios problemas, fue actualizada en 2003 (C++03). En 2011 se terminó y publicó la nueva estandarización del lenguaje (C++11).