-
B: El Predecesor de C
El lenguaje B, desarrollado por Ken Thompson en los laboratorios Bell en 1969, fue una simplificación hecha del lenguaje BCPL para que cupiera en la memoria de las computadoras de esa época. El lenguaje B solo tenía un tipo de datos y la mayoría de operadores lo manejaban como si fuera entero. Aún siendo tan antiguo, el lenguaje B te permitía acceder a las direcciones de memoria por medio de los apuntadores. -
Creación del lenguaje C
El lenguaje C fue desarrollado por Dennis Ritchie con aportaciones importantes hechas por Brian Kernighan ademas de Ken Thompson en los laboratorios Bell de AT&T. Desarrollado como una mejora al lenguaje B para crear y adaptarse mejor en Unix, mejorando la eficiencia, la velocidad y la portabilidad. A esta primera versión le llamaron la versión K&R C por las iniciales de sus creadores. -
Desarrollo de UnixV6
De las primeras cosas importantes en las que se aplicó el uso del lenguaje C, fue el desarrollo del sistema operativo UnixV6, escrito en su totalidad en C, allanando el camino para que se hicieran mas sistemas operativos con este lenguaje. Esto debido a que una de las fortalezas de este lenguaje es el desarrollo de software para sistemas embeidos, es decir, crear software para un hardware que lo necesite. -
La Biblia del C
En 1978, Brian Kernighan y Dennis Ritchie publicaron el libro “The C Programming Language”, considerado la "Bibila" del C, en este se describe el lenguaje C y establece las bases de ANSI C. -
Interface Manager
En 1983, Microsoft anunció su proyecto Interface Manager, en la que se usó el lenguaje C para la logica y funcionalidad de la interfaz de usuario de MS-DOS, además de ser usado este mismo lenguaje para el desarrollo de aplicaciones integradas de este mismo sistema, como lo es el Bloc de notas, la calculadora y el administrador de archivos. Ademas de hacer bibliotecas y funciones en C para que los desarrolladores pudieran hacer aplicaciones en Windows. Demostrando una de sus fortalezas. -
Creación de C++
En 1983, Bjarne Stroustrup, quien trabajaba en laboratorios Bell, creó lo que llamó C con Clases, extendiendo el lenguaje C para orientarlo a objetos. Las principales diferencias con el C original están en la creacion de clases, la herencia, plantillas, sobrecarga de operadoes y mejor gestion de memoria, ofrece abstracciones mas poderosas y con un desarrollo mas modular que es reutilizable. -
C en microcontroladores
Entre 1980 y 1990, a medida que el uso de la electrónica en la vida cotidiana fue aumentando, los microcontroladores se fueron abarantando, lo que hizo que muchos de los electrodomesticos, equipos médicos y carros ahora tuvieran microcontroladores programados con C para las interfaces de usuario de sus productos, ayudando a que fueran procesos más automaticos y personalizados, lo que hasta la fecha sigue siendo parte de muchos de nuestros aparatos. -
Primera versión de ANSI C (C89)
En 1989, aparece la estandarizacion de C por el Instituto Nacional Estadounidense de Estándares (ANSI), como objetivo de tener un estandar oficial, permitiendonos facilitar la portabilidad de los codigos entre sistemas y compiladores, haciendo el desarrollo de software algo más eficaz y sencillo para los programadores, mostrando asi una de sus fortalezas, ser portable. Se incluyeron características como algunos prototipos de funciones y la adición del void y el const. -
The C Book
En 1991, Declan Brady y Mark Doran, publicaron "The C Book", en el que te da una introducción al lenguaje C, va desde los conceptos más básicos hasta temas más avanzados. En este libro se habla de la versatilidad del lenguaje C, como utilizarlo correctamente para una mayor eficiencia. -
C en videojuegos: Battletoads
En 1991, después del lanzamiento del NES por Nintendo, los videojuedos para esta consola eran programados mayormente en machine code, sin embargo, debido a sus limitaciones, compañias como Rare y Electronic Arts, comenzaron a implementar C como vía para programar ciertas cosas de sus juegos, como primer ejemplo tenemos el título "Battletoads". Dando paso a C como una via para dearrollar videojuegos. -
Aparición de C99
En 1999, aparece el C99 como una mejora al su predecesor el C89, entre las mejoras mas importantes se encuentran: +Nuevos tipos de datos enteros fijos y mas precision en los flotantes.
+Declaraciones de variables en cualquier parte del bloque de código, ya no solo al principio.
+Funciones para el manejo de los complejos.
+Comentarios de una sola línea con //
+Palabras clave nuevas:_Bool, restrict, inline, stdbool.h. -
Auge de los lenguajes de scripting
Apartir de los años 2000, el auge de los lenguajes de scripting como lo son Python, Perl y Ruby comenzó y ganaron popularidad debido a su facilidad de uso, felxibilidad y su capacidad para desarrollar aplicaciones, ofreciendo mejor gestión de memoria, mas fácil interpretación, mucho mas portables, posibilidad de hacer aplicaciones mas complejas, entre otras cosas, que los hicieron más atractivos y quitaron terreno al lenguaje C. -
Aparición de C11
En 2011, aparece C11 como mejora a su predecesor el C99, añadiendo nuevas características como _Atomic para opreaciones atómicas y el tipo de datos _Bool como un estándar de los datos booleanos. Supuso una mejora en las cadenas de caracteres, las funciones de temporización, las expresiones de tipo genérico y proporcionó un soporte para el uso de memoria dinámica de forma segura. -
Aparición de C17
En 2017, llega C17 como una versión de C que corregía errores detectados con la versión de C11, por lo que no significó un gran avance en el lenguaje, si no mas bien, un parche de su predecesor. Por ejemplo, se realizaron correcciones en la especificación de comportamiento de algunas funciones de biblioteca estándar, como memcpy(), memmove(), memcmp()