Historia
Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX.
Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C, con lo cual la práctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje.
A mediados de los ochenta el C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc.
A mediados de los ochenta se crea el C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios.
Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C, con lo cual la práctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje.
A mediados de los ochenta el C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc.
A mediados de los ochenta se crea el C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios.
Características
Orientado a la programación de sistemas
Es altamente transportable
Es muy flexible
Genera código muy eficiente
Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas líneas de código)
Es muy poco modular
Hace pocas comprobaciones
Da poca disciplina al programador
Es difícil leer código escrito por otras personas
Orientado a la programación de sistemas
Es altamente transportable
Es muy flexible
Genera código muy eficiente
Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas líneas de código)
Es muy poco modular
Hace pocas comprobaciones
Da poca disciplina al programador
Es difícil leer código escrito por otras personas
Fases de desarrollo de un programa en C
El preprocesador
Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las transformaciones incluyen:
Eliminar los comentarios.
Incluir en el fuente el contenido de los ficheros declarados con #include(a estos ficheros se les suele llamar cabeceras)
Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100)
El compilador
Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina: fichero objeto.
Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.
El enlazador
Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios.
El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos y de las bibliotecas.
Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama (por ejemplo printf).
El preprocesador
Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las transformaciones incluyen:
Eliminar los comentarios.
Incluir en el fuente el contenido de los ficheros declarados con #include
Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100)
El compilador
Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina: fichero objeto.
Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.
El enlazador
Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios.
El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos y de las bibliotecas.
Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama (por ejemplo printf).
Ejemplo de programa en C
#include
main()
{
/* Escribe un mensaje */
printf (“Hola, mundo\n”);
}
#include
main()
{
/* Escribe un mensaje */
printf (“Hola, mundo\n”);
}
Bibliografia:
No hay comentarios:
Publicar un comentario