jueves, 7 de julio de 2011

KERNIGHAN Y RITCHIE

En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de programación C, también conocido como La biblia de C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La segunda edición del libro cubre el estándar ANSI C, descrito más abajo.)

Kernighan y Ritchie introdujeron las siguientes características al lenguaje:

  • El tipo de datos struct.
  • El tipo de datos long int.
  • El tipo de datos unsigned int.
  • Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la ambigüedad sintáctica de expresiones como i=-10, que se podría interpretar bien como i =- 10 o bien como i = -10.

El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un compilador debe de soportar. Durante muchos años, incluso tras la introducción del ANSI C, fue considerado "el mínimo común denominador" en el que los programadores debían programar cuando deseaban que sus programas fueran transportables, pues no todos los compiladores soportaban completamente ANSI, y el código razonablemente bien escrito en K&R C es también código ANSI C válido.

En estas primeras versiones de C, las únicas funciones que necesitaban ser declaradas si se usaban antes de la definición de la función eran las que retornaban valores no enteros. Es decir, se presuponía que una función que se usaba sin declaración previa (prototipo) devolvería un entero.

  • Ejemplo de llamada que requiere declaración previa (prototipo):

long int cierta_funcion();
int llamando_funcion()
{
long int ret;
ret = cierta_funcion();
}

  • Ejemplo de llamada que no requiere declaración previa:

int llamando_funcion()
{
int ret;
ret = alguna_otra_funcion();
}
int alguna_otra_funcion()
{
return 0;
}

En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaba soportadas por los compiladores de AT&T, entre otros. Algunas de estas características eran:

  • Funciones void y el tipo de datos void *.
  • Funciones que retornaban tipos de datos struct o union (en lugar de punteros).
  • Asignación de tipos de datos struct.
  • Calificador const, que hace que un objeto sea de sólo lectura.
  • Una biblioteca estándar, que incorporaba la mayoría de las funcionalidades implementadas por varios desarrolladores de compiladores.
  • Enumeraciones.


- Bibliografia
http://es.wikipedia.org/wiki/C_%28lenguaje_de_programaci%C3%B3n%29#El_C_de_Kernighan_y_Ritchie

1 comentario: