Los Lenguajes de Programación C y C++

 

En el año 1969, Ken Thomson y Dennis Ritchie desarrollan en los laboratorios Bell el lenguaje B, un lenguaje imperativo, procedural, no tipado, pensado para implementar aplicaciones no numéricas, recursivas e independientes de la máquina donde fueran a ejecutarse.

A partir de la aparición de arquitecturas más modernas (a partir de PDP-11 de Digital en 1970), la ausencia de tipos empieza a verse como un problema y Denis Ritchie empieza a hacer cambios en el lenguaje para, inicialmente, introducir los tipos de datos en 1971. Estas modificaciones continúan en los siguientes años resultando en un lenguaje «nuevo B» que posteriormente se convierte en C, que permite reescribir el núcleo de UNIX para PDP-11 (originalmente desarrollada en ensamblador como todos los sistemas operativos hasta ese momento). A partir de UNIX versión 2 se incluyeron en la distribución tanto el compilador de C como algunas utilidades y a partir de los años 70 y 80 del s.XX en una amplia variedad de minicomputadores, mainframes y microcomputadores como el IBM PC.

Aparte de su uso en la implementación de sistemas operativos, la programación de sistemas, su eficiencia hace que, habitualmente, compiladores para otros lenguajes de programación se programen en C (como Python, Perl o PHP). También está presente total o parcialmente en aplicaciones de cálculo intensivo como Matlab o Matemática. Por otra parte, su disponibilidad hace que sea considerado como lenguaje para portabilidad.

Buscando mantener la eficiencia y flexibilidad de C, Bjarne Stroustrup extiende C en 1979 buscando incluir características de programación de otros lenguajes (Simula) y permitir la programación orientada a objetos. Estandarizado por primera vez en 1998, C++ está tan ampliamente extendido como C, siendo utilizado desde la industria del videojuego al desarrollo de aplicaciones de rendimiento crítico (como por ejemplo el enrutamiento telefónico o software de control de naves espaciales).

Dejando a un lado su extensiones más conocidas C++ y Objective-C, la influencia de C es muy patente en otros lenguajes como AWK, PHP, Java, JavaScript, D o C#, que de forma premeditada usan su «apariencia». Hoy día (2021), C y C++ ocupan respectivamente la 1ª y 4ª posiciones y en el ranking TIOBE de popularidad de lenguajes de programación, C es el lenguaje más utilizado para la programación de software y es considerado como la lingua franca de la comunidad open source.

C


Nacimiento: 1972
Versiones: Kernighan & Ritchie (1978); ANSI C (1989); ISO C90 (1990); C99 (2000)
Influencias de: B
Influye en: C++ (1979); Objective C; C#; Java; Python; Perl; ADA 95; Csh;

C++



Nacimiento: 1985
Versiones: ISO C++ (2003); C++0x (2011); C++14 (aka C++1y, 2014)
Influencias de: C; Ada; Algol 68; Modula-2; Simula; Smalltalk
Influye en: Ada 95; C#; Java; Perl; Python;