-
Su versión original: C fue desarrollado por Dennis Ritchie en los laboratorios Bell a partir del lenguaje B, que a su vez se basaba en BCPL (Basic Combined Programming Language)
-
Se publica el libro The C Programming Language por Brian Kernighan y Dennis Ritchie, que estandariza el lenguaje.
-
Se introduce el estándar ANSI C, también conocido como C89
-
Se publica el estándar C99 con nuevas características y mejoras
-
Se publica el estándar C11 con mejoras adicionales
-
Se publica el estándar C17, que es una revisión menor con correcciones y mejoras
-
Desarrollo de sistemas operativos, software de sistemas, compiladores, y aplicaciones embebidas.
Programación de aplicaciones de alto rendimiento y de bajo nivel -
C: es altamente valorado en benchmarks de rendimiento debido a su capacidad para interactuar de cerca con el hardware.
A: menudo se utiliza como referencia para medir el rendimiento y la eficiencia de otros lenguajes. -
Referencias de artículos sobre la versatilidad:
"The C Programming Language" de Kernighan y Ritchie es considerado un texto fundamental y referencia para aprender y entender el lenguaje C.
Artículos y tutoriales en plataformas como Stack Overflow, GeeksforGeeks, y TutorialsPoint destacan la versatilidad de C en diferentes dominios -
1-Sistemas operativos: Linux, Unix.
2-Desarrollo de hardware embebido.
3-Software de sistemas: Compiladores, editores de texto.
4-Aplicaciones de alto rendimiento: Motores de juegos, simulaciones científicas. -
Se espera el estándar C2X, que promete nuevas características y mejoras
-
Funciones: C++ introduce funciones miembro y sobrecarga de operadores, mientras que C no.
Bibliotecas: C++ incluye una biblioteca estándar más amplia (STL) que proporciona estructuras de datos y algoritmos avanzados que no están presentes en C. -
Ventajas:
Eficiencia y rendimiento: C ofrece un control muy fino sobre el hardware, lo que permite optimizaciones y ejecución rápida.
Portabilidad: El código C puede ser compilado en una amplia variedad de plataformas.
Simplicidad: Aunque tiene una sintaxis relativamente simple, permite una programación eficiente. -
Gestión manual de memoria: Requiere que el programador maneje la memoria manualmente, lo que puede llevar a errores como fugas de memoria y corrupción.
Seguridad: La falta de protección contra errores comunes como desbordamientos de búfer puede hacer que el código en C sea más propenso a vulnerabilidades de seguridad.
Abstracción limitada: En comparación con lenguajes más modernos, C proporciona menos abstractions de alto nivel, lo que puede hacer el desarrollo más laborioso