Lenguaje C

C es un lenguaje de programaci�n de prop�sito general que ofrece econom�a sint�ctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y m�s bien un lenguaje peque�o, sencillo y no est� especializado en ning�n tipo de aplicaci�n. Esto lo hace un lenguaje potente, con un campo de aplicaci�n ilimitado y sobre todo, se aprende r�pidamente. En poco tiempo, un programador puede utilizar la totalidad del lenguaje.

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 programaci�n de sistemas debido a su utilidad para escribir compiladores y sistemas 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 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.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR