El lenguaje de programación C

Libro de Brian Kernighan y Dennis Ritchie
El lenguaje de programación C
Portada de la primera edición.
AutorDaniel
Kernighan
IdiomaInglés
SujetoLenguaje de programación C
EditorSalón Prentice
Fecha de publicación
1978 (1.ª edición)
1988 (2.ª edición)
ISBN9780131101630

El lenguaje de programación C (a veces denominado K&R , por las iniciales de sus autores) es unlibro de programación informática escrito por Brian Kernighan y Dennis Ritchie , el último de los cuales diseñó e implementó originalmente el lenguaje de programación C , así como co-diseñó el sistema operativo Unix con el que el desarrollo del lenguaje estuvo estrechamente entrelazado. El libro fue fundamental para el desarrollo y popularización de C y todavía se lee y se usa ampliamente en la actualidad. Debido a que el libro fue co-escrito por el diseñador original del lenguaje, y debido a que la primera edición del libro sirvió durante muchos años como el estándar de facto para el lenguaje, el libro fue considerado por muchos como la referencia autorizada sobre C. [1] [2]

Historia

C fue creado por Dennis Ritchie en Bell Labs a principios de los años 1970 como una versión aumentada de B de Ken Thompson . [3] Otro empleado de Bell Labs, Brian Kernighan , había escrito el primer tutorial de C, [4] y persuadió a Ritchie para que fuera coautor de un libro sobre el lenguaje. [5] Kernighan escribiría la mayor parte del material "expositivo" del libro, y el manual de referencia de Ritchie se convirtió en sus apéndices.

La primera edición, publicada el 22 de febrero de 1978, fue el primer libro ampliamente disponible sobre el lenguaje de programación C. Su versión de C a veces se denomina K&R C (en honor a los autores del libro), a menudo para distinguir esta versión temprana de la versión posterior de C estandarizada como ANSI C. [ 6]

En abril de 1988 se publicó la segunda edición del libro, actualizada para cubrir los cambios en el lenguaje resultantes del entonces nuevo estándar ANSI C, en particular con la inclusión de material de referencia sobre bibliotecas estándar . La segunda edición del libro (y a partir de 2024 [actualizar], la más reciente) se ha traducido desde entonces a más de 20 idiomas. [7] En 2012, se publicó una versión de libro electrónico de la segunda edición en formatos ePub, Mobi y PDF. [8]

El lenguaje C se estandarizó por primera vez en 1989 (como ANSI X3.159-1989) y desde entonces ha sufrido varias revisiones. Sin embargo, no se ha publicado ninguna nueva edición del lenguaje de programación C que abarque los estándares más recientes.

Recepción

La revista Byte afirmó en agosto de 1983 que "[ El lenguaje de programación C ] es la obra definitiva sobre el lenguaje C. ¡No siga leyendo hasta que tenga este libro!" [1] Jerry Pournelle escribió en la revista ese año que el libro "sigue siendo el estándar... un poco conciso". Continuó diciendo: "Puede aprender el lenguaje C sin entender a Kernighan y Ritchie, pero eso es hacerlo de la manera difícil. También está trabajando demasiado si lo convierte en el único libro sobre C que compra". [9]

Influencia

El lenguaje de programación C se ha citado a menudo como modelo para la redacción técnica , y los revisores lo describen como un lenguaje con una presentación clara y un tratamiento conciso. Los ejemplos generalmente consisten en programas completos del tipo que uno probablemente encontrará en el uso diario del lenguaje, con énfasis en la programación de sistemas . Sus autores escribieron:

Hemos intentado mantener la brevedad de la primera edición. C no es un lenguaje extenso y no se ve beneficiado por un libro extenso. Hemos mejorado la exposición de características críticas, como los punteros, que son fundamentales para la programación en C. Hemos refinado los ejemplos originales y hemos añadido nuevos ejemplos en varios capítulos. Por ejemplo, el tratamiento de declaraciones complicadas se amplía con programas que convierten declaraciones en palabras y viceversa. Como antes, todos los ejemplos se han probado directamente a partir del texto, que está en formato legible por máquina.

—  prefacio a la segunda edición [10]
Programa "¡Hola, mundo!" de Brian Kernighan (1978)

El libro presentó el programa "¡Hola, mundo!" , que imprime únicamente el texto "hola, mundo" como ilustración de un programa C funcional mínimo. Desde entonces, muchos textos han seguido esa convención para presentar un lenguaje de programación.

Antes de la llegada de ANSI C , la primera edición del texto servía como estándar de facto del lenguaje para los escritores de compiladores de C. Con la estandarización de ANSI C, los autores escribieron la segunda edición de manera más consciente para programadores en lugar de escritores de compiladores, escribiendo,

El Apéndice A, el manual de referencia, no es el estándar, sino nuestro intento de transmitir los aspectos esenciales del estándar en un espacio más reducido. Está pensado para que los programadores lo comprendan fácilmente, pero no como una definición para los escritores de compiladores (esa función le corresponde al propio estándar). El Apéndice B es un resumen de las funciones de la biblioteca estándar. También está pensado para que lo utilicen como referencia los programadores, no los implementadores. El Apéndice C es un resumen conciso de los cambios con respecto a la versión original.

—  prefacio a la segunda edición [10]

La influencia del lenguaje de programación C en los programadores, una generación de los cuales trabajó primero con C en universidades e industrias, ha llevado a muchos a aceptar el estilo de programación y las convenciones de los autores como práctica recomendada, si no como práctica normativa. Por ejemplo, el estilo de codificación y formato de los programas presentados en ambas ediciones del libro se conoce a menudo como "estilo K&R" o " estilo de una sola llave verdadera " y se convirtió en el estilo de codificación utilizado por convención en el código fuente de los núcleos Unix y Linux .

Véase también

Referencias

  1. ^ ab Ward, Terry A. (agosto de 1983). "Bibliografía C/A anotada del lenguaje C". Byte . pág. 268. Consultado el 31 de enero de 2015 .
  2. ^ Prinz, Peter; Crawford, Tony (16 de diciembre de 2005). C en pocas palabras. O'Reilly Media, Inc., pág. 3. ISBN 9780596550714.
  3. ^ Ritchie, Dennis M. (1993). "El desarrollo del lenguaje C". Historia de los lenguajes de programación, 2.ª edición . Consultado el 11 de noviembre de 2018 .
  4. ^ "Anímate y prueba cosas nuevas: entrevista con Brian Kernighan". Harmony at Work . 24 de octubre de 2009. Archivado desde el original el 23 de julio de 2012. Consultado el 3 de marzo de 2013 .
  5. ^ Computerphile (18 de agosto de 2015). «Lenguaje de programación 'C': Brian Kernighan - Computerphile». YouTube . Archivado desde el original el 21 de diciembre de 2021 . Consultado el 11 de noviembre de 2018 .
  6. ^ Kernighan, Brian W. ; Ritchie, Dennis M. (febrero de 1978). El lenguaje de programación C (1.ª ed.). Englewood Cliffs, NJ : Prentice Hall . ISBN 0-13-110163-3.
  7. ^ Keninghan, Brian W. "El lenguaje de programación C, segunda edición". Universidad de Priceton . Consultado el 18 de febrero de 2023 .
  8. ^ Keninghan, Brian W. (1 de octubre de 2012). "Entrevista con Brian Kernighan sobre C y el lenguaje de programación C". InformIT (entrevista). Entrevista realizada por John Wait.
  9. ^ Pournelle, Jerry (diciembre de 1983). "El usuario mira libros". Byte . p. 519 . Consultado el 24 de julio de 2016 .
  10. ^ de Kernighan, Brian ; Ritchie, Dennis M. (marzo de 1988). El lenguaje de programación C (2.ª ed.). Englewood Cliffs, NJ : Prentice Hall . ISBN 0-13-110362-8.
  • El lenguaje de programación C, segunda edición (información del artículo en Internet Archive)
  • El lenguaje de programación C: la página de Dennis Ritchie que contiene información sobre traducciones, erratas, etc.
  • El lenguaje de programación C: página de Brian Kernighan (que contiene prácticamente la misma información, aunque un poco más actualizada)
  • Respuestas a los ejercicios de programación en lenguaje C
Estándares del lenguaje CSucedido por
C89 / C90 / "ANSI C"
(2.ª edición del libro)
Obtenido de "https://es.wikipedia.org/w/index.php?title=El_lenguaje_de_programación_C&oldid=1253655633"