C es el lenguaje de programación de propósito general asociado, de modo universal, al sistema operativo UNIX.
Sin embargo, la popularidad, eficacia y potencia de C, se ha producido porque este lenguaje no está prácticamente asociado a ningún sistema operativo, ni a ninguna máquina, en especial. Ésta es la razón fundamental, por la cual C, es conocido como el lenguaje de programación de sistemas, por excelencia.
C es una evolución de los lenguajes BCPL —desarrollado por Martin Richards— y B —desarrollado por Ken Thompson en 1970— para el primitivo INIX de la computadora DEC PDP-7.
C nació realmente en 1978, con la publicación de The C Programming Languaje, por Brian Kernig-han y Dennis Ritchie (Prentice Hall, 1978).
Desde su nacimiento, C fue creciendo en popularidad y los sucesivos cambios en el lenguaje a lo largo de los años junto a la creación de compiladores por grupos no involucrados en su diseño, hicieron necesario pensar en la estandarización de la definición del lenguaje C.
Así, en 1983, el American National Standard Institute (ANSI), una organización internacional de estandarización, creó un comité (el denominado X3J11) cuya tarea fundamental consistía en hacer “una definición no ambigua del lenguaje C, e independiente de la máquina”.
Había nacido el estándar ANSI del lenguaje C. Con esta definición de C se asegura que cualquier fabricante de software que vende un compilador ANSI C incorpora todas las características del lenguaje, especificadas por el estándar.
Esto significa también que los programadores que escriban programas en C estándar tendrán la seguridad de que correrán sus modificaciones en cualquier sistema que tenga un compilador C.
C es un lenguaje de alto nivel, que permite programar con instrucciones de lenguaje de propósito general. También, C se define como un lenguaje de programación estructurado de propósito general; aunque en su diseño también primó el hecho que fuera especificado como un lenguaje de programación de Sistemas, lo que proporciona una enorme cantidad de potencia y flexibilidad.
El estándar ANSI C formaliza construcciones no propuestas en la primera versión de C, en especial, asignación de estructuras y enumeraciones. Entre otras aportaciones, se definió esencialmente, una nueva forma de declaración de funciones (prototipos). Pero es, esencialmente, la biblioteca estándar de funciones, otra de las grandes aportaciones.
Hoy, en el siglo XXI, C sigue siendo uno de los lenguajes de programación más utilizados en la industria del software, así como en institutos tecnológicos, escuelas de ingeniería y universidades.
Prácticamente todos los fabricantes de sistemas operativos, Windows, UNIX, Linux, MacOS, Solaris…, soportan diferentes tipos de compiladores de lenguaje C y en muchas ocasiones distribuciones gratuitas bajo cualquiera de los sistemas operativos citados.
Todos los compiladores de C++ pueden ejecutar programas escritos en lenguaje C, preferentemente si cumplen el estándar ANSI C.