-
Ken Thomson creo el lenguaje B que disponía de un compilador, una pieza de software que traducía los programas al código máquina de un procesador específico, para facilitar la portabilidad de un sistema a otro. Pero B no acababa de cuajar porque era lento.
-
Dennis Ritchie (un miembro del grupo del desarrollo de UNIX) empezó a mejorar B para que incluyera nuevas funcionalidades, como un tipo de dato de texto, y llamó a esta versión "nuevo B" o NB.
Thompson empezó a usar NB en vez de ensamblador para programar UNIX y sus necesidades fueron modelando el desarrollo del lenguaje. -
A lo largo de 1972, se añadieron nuevos tipos de datos, punteros a memoria, arrays de todos los tipos y la posibilidad de que las funciones devolvieran esos tipos. Se creó un nuevo compilador y, en un alarde de imaginación, el lenguaje se renombró como C.
La versión 2 de UNIX(un sistema operativo), ya incluía el compilador de C y algunas utilidades. -
La 4 version, lanzada en noviembre 1973, fue reimplementada casi por completo en C, lo que favoreció su portabilidad a otras máquinas (supuestamente, "solo" había que crear un compilador para el sistema al que lo quisieras portar) y por tanto, una explosión de su popularidad y la del lenguaje.
-
Es muy eficiente para hacer llamadas directas al sistema operativo.
Utiliza lenguaje compilado y se acopla de forma efectiva con el lenguaje ensamblador, así como también es el que mejor aprovecha la CPU de la máquina.
Se pueden desarrollar aplicaciones compatibles con sistemas operativos como Linux, Mac, Windows.
Tiene una buena gestión que garantiza el intercambio, consulta, almacenamiento y actualización de los datos. -
Los laboratorios Bell (empresa donde trabajaba Dennis Ritchie) concedieron la licencia de UNIX a las universidades, y así fue como se empezó a distribuir el lenguaje C.
-
En 1978 se publico el libro "The C Programming Language" escrito por el propio Ritchie y su compañero Brian Kernighan, autor del primer "Hola Mundo" conocido (en un tutorial sobre el lenguaje B) que replicó en el libro sobre C, lo que lo inmortalizó para siempre.
-
C++ es un lenguaje compilado que fue desarrollado en 1980 por Bjarne Stroustroup en los laboratorios At&T como una extensión orientada a objetos del lenguaje C.
Una diferencia entre C y C++ es que C++ cuenta con una amplia variedad de librerías y herramientas disponibles que facilitan el desarrollo de aplicaciones complejas y de gran escala. En contraste, C tiene una librería estándar más limitada. -
En 1983, la American National Standards Institute o ANSI creó un comité para crear una especificación estándar de C.
-
En 1989, se ratificó dicho estándar, es decir que fue oficialmente aprobada y confirmada como un estándar por la American National Standards Institute (ANSI).
-
En 1990 la norma C ANSI fue adoptada por la ISO o International Organization for Standardization. Esta versión, que es prácticamente idéntica a la versión ANSI, se le llamó C90.
-
En Este año se creo el lenguaje de programación java. Este lenguaje tiene una ventaja sobre C que es mas sencillo de manejar, a comparación de C que tiene una curva alta de aprendizaje.
-
Se lanzó una actualización importante conocida como "C99". Esta versión introdujo nuevos tipos de datos, como números enteros de 64 bits, así como características adicionales de programación, como variables de longitud variable y comentarios en línea. C99 también mejoró el soporte para programación en tiempo real y agregó bibliotecas de funciones adicionales.
-
Se publicó la versión más reciente del lenguaje C, conocida como "C11". Esta versión se centró en la seguridad y la corrección del código, introduciendo funciones como los límites seguros para las operaciones de manipulación de memoria y la aserción estática. Además, C11 incluyó nuevas bibliotecas de funciones y mejoró la compatibilidad con los sistemas operativos modernos.
-
Actualmente, la versión más estable del lenguaje C, es la C18, la cual fue lanzada en junio de 2018. Esta última versión ha introducido mejoras en manejo de hilos y operaciones atómicas, soporte para alineamiento de memoria y mejoras en el manejo de errores, entre otras características.