-
Creación.
La versión original del lenguaje C es conocida como "K&R C" (C de Kernighan y Ritchie)
Limitada, inicialmente utilizado en el desarrollo del sistema operativo Unix.
Sintaxis simple y elegante.
Portabilidad.
Eficiencia en términos de tiempo de ejecución y uso de memoria.
Falta de estándares formales, lo que puede llevar a incompatibilidades entre sistemas.
Limitaciones en cuanto a las características del lenguaje -
"The C Programming Language"
Aumentó significativamente debido a la disponibilidad del libro, que se convirtió en una referencia estándar para aprender y utilizar el lenguaje C.
Ventajas:
Proporcionó una guía exhaustiva y clara para aprender el lenguaje.
Contribuyó a la estandarización informal del lenguaje.
Desventajas:
No introdujo nuevas características en el lenguaje, ya que se centró en explicar la versión existente. -
Estándar ANSI C (C89/C90)
Experimentó un aumento significativo debido a la estandarización formal del lenguaje, lo que facilitó su adopción en una variedad de plataformas.
Ventajas:
Mayor portabilidad y compatibilidad entre sistemas.
Especificaciones claras y precisas.
Desventajas:
Algunas características del lenguaje consideradas obsoletas o problemáticas no fueron eliminadas.
Establecido por el Instituto Nacional Estadounidense de Estándares (ANSI) y la Organización Internacional de Estándares (ISO). -
Estándar C99
Popularidad: Aumentó entre los desarrolladores que buscaban utilizar las nuevas características introducidas en el estándar.
Ventajas:
Introducción de nuevas características como tipos de datos adicionales, declaraciones de variables en cualquier parte del bloque de código, comentarios en línea, entre otros.
Mayor claridad y expresividad en la escritura de código.
Desventajas:
Puede haber problemas de compatibilidad con compiladores que no admiten completamente el estándar C99. -
Estándar C11
Popularidad: Aumentó gradualmente a medida que los compiladores y herramientas de desarrollo comenzaron a ofrecer soporte completo para el estándar.
Ventajas:
Introdujo características como Generic selection, Atomic operations, Thread-local storage, entre otras.
Mejoras en el rendimiento y la seguridad del código.
Desventajas:
Adopción lenta debido a la necesidad de actualización de herramientas y sistemas existentes. -
Estándar C18
Popularidad: Aún en proceso de adopción, pero se espera que crezca con el tiempo.
Ventajas:
Refinamiento y corrección de características introducidas en C11.
Mejoras en la claridad y coherencia del estándar.
Desventajas:
Requiere actualización de herramientas y sistemas para aprovechar todas las características del estándar. -
Diferencias entre C y C++:
Paradigma de Programación: C es procedural, mientras que C++ es un lenguaje multiparadigma que incluye programación orientada a objetos. Manejo de Memoria: C++ tiene manejo de memoria más avanzado con características como new y delete, mientras que en C, el programador tiene un control más directo sobre la memoria. Librerías Estándar: C++ incluye las librerías estándar de C y agrega las suyas propias orientadas a objetos. -
Fortalezas del lenguaje C:
Eficiencia: C es un lenguaje de bajo nivel que permite un control preciso sobre el hardware, lo que lo hace eficiente en términos de rendimiento. Portabilidad: Es altamente portable y puede ejecutarse en diversas plataformas. Acceso a memoria: Proporciona un control directo sobre la memoria, lo que es beneficioso para la programación de sistemas y la optimización. -
En qué se aplica:
Sistemas Operativos: C se utiliza ampliamente para el desarrollo de sistemas operativos debido a su eficiencia y control de hardware. Desarrollo de Compiladores: Dado su nivel de abstracción, C se usa en el desarrollo de compiladores. Aplicaciones de Tiempo Real: Es adecuado para sistemas que requieren respuestas rápidas y en tiempo real. -
Score en los lenguajes de desarrollo:
C suele tener un alto puntaje en términos de rendimiento y control de hardware. Sin embargo, su sintaxis y manejo de memoria pueden ser desafiantes para algunos desarrolladores. -
Popularidad:
The Versatility of C Programming Language
[https://yourmicsters.com/blog/c.html]
Why Learn C? Reasons to Learn C Programming Language
[https://www.linkedin.com/pulse/why-you-should-learn-c-your-first-language-saroj-kumar-sharma] Sistemas embebidos, desarrollo de sistemas operativos, programación de microcontroladores, desarrollo de juegos,
Eficiencia, control de hardware, portabilidad.
Desventajas:Sintaxis compleja, falta de características modernas presentes en lenguajes modernos