Línea de tiempo del lenguaje C.

  • Creación.

    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"

    "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)

    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

    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

    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

    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++:

    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:

    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:

    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:

    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:

    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