Lenguaje de programación
C
El lenguaje C es fruto de un
lenguaje de programación anterior, el lenguaje
B, desarrollado por Ken
Thompson, en los Laboratorios
Bell en 1970, con la idea de recodificar el sistema operativo UNIX
que, hasta esa fecha, se programaba directamente en ensamblador, con el
inconveniente de estar vinculado a máquinas concretas (según el juego de
instrucciones de cada máquina). Por tanto, se hacía necesario un lenguaje que
permitiese al programador abstraerse de la capa hardware y conseguir una mayor
portabilidad del código, algo que se realizó en B (basándose en el BCPL de
Martin Richard de 1967).
Poco más tarde, también en los
Laboratorios Bell, Dennis Ritchie se
pone a trabajar en el diseño de un nuevo lenguaje de programación basado en el
lenguaje B de Ken Thompson y al que aportó tipos y estructuras de datos que
consiguiesen clarificar la programación y obtener un lenguaje mucho más
eficiente, así nació el lenguaje de
programación C. Ritchie diseñó, desde 1970 a 1972 junto a Brian
Kernighan, un lenguaje que permitía realizar una programación estructurada en
la que se podían economizar las expresiones a usar y con el que los
desarrolladores podrían contar con un buen conjunto de operadores y tipos de
datos para programar tanto en alto como en bajo nivel de manera simultánea. Entre
sus características:
§ Núcleo de lenguaje simple que
incluye funciones matemáticas y de manejo de archivos proporcionadas por
bibliotecas
§ Lenguaje flexible que permitía
programar de manera estructurada y no estructurada
§ Inclusión de un sistema de tipos que
impedía la realización de operaciones sin sentido
§ Acceso a memoria de bajo nivel
mediante el uso de punteros
§
Conjunto reducido de palabras
reservadas
§ Paso de parámetros a funciones por
valor
§ Tipos de datos agregados (struct) que permitían combinar, bajo un mismo tipo,
datos de tipos distintos y manejarlos como uno solo.
El lenguaje C ofrecía diversos tipos de datos: "CHAR"
(carácter), "INT" (enteros), "FLOAT" (números reales en
precisión simple), y "DOUBLE" (números reales en precisión doble) a
los que posteriormente se añadieron los tipos "SHORT" (números
enteros de tamaño menor a un INT), "LONG" (números enteros de tamaño
mayor a un INT), "UNSIGNED" (Enteros sin signo), y
"ENUMERACIONES" que junto a las estructuras, las uniones y las tablas
y matrices componían un variado juego de tipos de datos con los que abordar
múltiples problemas.
El lenguaje C se hizo muy
popular en los años 80 puesto que comenzó a desplazar a BASIC, los compiladores
se hicieron muy populares y, además, de empezarse a usar en los IBM PC. En paralelo, Bjarne Stroustrup (que también trabajaba en los
Laboratorios Bell) desarrolla C++, complementando C con clases y funciones
virtuales, tipos genéricos y expresiones de ADA y un motor de objetos que
permitía combinar la programación imperativa de C con la programación orientada
a objetos.
En 1983, el Instituto
Nacional Estadounidense de Estándares (ANSI) organizó un comité, X3j11, para
establecer una especificación estándar de C que, tras un proceso largo,
completó el estándar en 1989 (ANSI X3.159-1989), el C89. En 1990, la
Organización Internacional para la Estandarización (ISO) tomó el C89 en el
estándar ISO/IEC 9899:1990, conocido por C90 (el C 3.0, C++ 5.5 son otras
versiones). El lenguaje C permaneció estable, mientras que C++ siguió
evolucionando, hasta que en 1999 volvió a revisarse con la ISO 9899:1999.
El Lenguaje C se
ha utilizado mucho para para la programación en sistemas UNIX aunque también se
ha utilizado en el desarrollo de sistemas
operativos como
Windows o GNU/Linux y en el desarrollo de aplicaciones de escritorio como GIMP.
Tampoco es raro verlo en sistemas empotrados (control de procesos industriales,
ascensores, sistemas de monitorización, etc) o como base de kits de desarrollo
de micro controladores (abstrayendo al usuario de la programación en
ensamblador). Además, como decía al inicio, es un lenguaje muy especial dentro
del mundo de la ingeniería puesto que se sigue enseñando en los primeros cursos
de estos estudios y nunca ha dejado de ser utilizado.
No hay comentarios:
Publicar un comentario