Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que fueron desarrollados conjuntamente. Sin embargo, este lenguaje no está ligado a ningún sistema operativo ni a ninguna máquina concreta. Se le suele llamar lenguaje de de sistemas debido a su utilidad escribir compiladores y operativos, aunque de igual forma se puede desarrollar cualquier tipo de aplicación.
La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por Ken Thompson en 1970 para el primer en un DEC PDP-7. Estos son sin tipos, al contrario que el C que proporciona varios tipos de datos. Los tipos que ofrece son caracteres, enteros y en coma flotante, de varios tamaños. Además se pueden crear tipos derivados mediante la utilización de punteros, vectores, registros y uniones. El primer compilador de C fue escrito por Dennis Ritchie para un DEC PDP-11 y escribió el propio sistema operativo en C.Introducción al lenguaje C (2).
La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-7. Estos son lenguajes sin tipos, al contrario que el C que proporciona varios tipos de datos. Los tipos que ofrece son caracteres, números enteros y en coma flotante, de varios tamaños. Además se pueden crear tipos derivados mediante la utilización de punteros, vectores, registros y uniones. El primer compilador de C fue escrito por Dennis Ritchie para un DEC PDP-11 y escribió el propio sistema operativo en C.
C trabaja con tipos de datos que son directamente tratables por el hardware de la mayoría de computadoras actuales, como son los caracteres, números y direcciones. Estos tipos de datos pueden ser manipulados por las operaciones aritméticas que proporcionan las computadoras. No proporciona mecanismos para tratar tipos de datos que no sean los básicos, debiendo ser el programador el que los desarrolle. Esto permite que el código generado sea muy eficiente y de ahí el éxito que ha tenido como lenguaje de desarrollo de sistemas. No proporciona otros mecanismos de almacenamiento de datos que no sea el estático y no proporciona mecanismos de entrada ni salida. Ello permite que el lenguaje sea reducido y los compiladores de fácil implementación en distintos sistemas. Por contra, estas carencias se compensan mediante la inclusión de funciones de librería para realizar todas estas tareas, que normalmente dependen del sistema operativo.
Originariamente, el manual de
referencia del lenguaje para el gran público fue el
libro de
Kernighan y Ritchie, escrito en 1977. Es un libro que
explica y justifica totalmente el desarrollo de
aplicaciones en C, aunque en él se utilizaban
construcciones, en la definición de funciones, que
podían provocar confusión y errores de programación que no eran detectados por el
compilador. Como los tiempos cambian y las necesidades
también, en 1983 ANSI establece el comité X3J11
para que desarrolle una definición moderna y comprensible
del C. El estándar está basado en el manual de
referencia original de 1972 y se desarrolla con el mismo
espíritu de sus creadores originales. La primera
versión de estándar se publicó en 1988 y
actualmente todos los compiladores utilizan la nueva
definición. Una aportación muy importante de ANSI
consiste en la definición de un conjunto de
librerías que acompañan al compilador y de las
funciones contenidas en ellas. Muchas de las operaciones
comunes con el sistema operativo se realizan a través de
estas funciones. Una colección de ficheros de
encabezamiento, headers, en los que se definen los tipos de datos
y funciones incluidas en cada librería. Los programas que
utilizan estas bibliotecas para
interactuar con el sistema operativo obtendrán un comportamiento
equivalente en otro sistema.
No hay comentarios:
Publicar un comentario