Brian Kernighan

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Canadian computer scientific, co-creator of the Unix operating system

Brian Wilson Kernighan (nacido en 1942) es un informático canadiense.

Trabajó en Bell Labs y contribuyó al desarrollo de Unix junto con los creadores de Unix Ken Thompson y Dennis Ritchie. El nombre de Kernighan se hizo ampliamente conocido a través de la coautoría del primer libro sobre el lenguaje de programación C (El lenguaje de programación C) con Dennis Ritchie. Kernighan afirmó que no participó en el diseño del lenguaje C ("es totalmente obra de Dennis Ritchie"). Fue autor de muchos programas de Unix, incluido ditroff. Kernighan es coautor de los lenguajes de programación AWK y AMPL. El "K" de K&R C y de AWK son las siglas de "Kernighan".

En colaboración con Shen Lin, ideó conocidas heurísticas para dos problemas de optimización NP-completos: la partición de gráficos y el problema del viajante de comercio. En una demostración de equidad autoral, el primero suele denominarse algoritmo de Kernighan-Lin, mientras que el segundo se conoce como heurística de Lin-Kernighan.

Kernighan ha sido profesor de Ciencias de la Computación en la Universidad de Princeton desde 2000 y es el Director de Estudios de Licenciatura en el Departamento de Ciencias de la Computación. En 2015, fue coautor del libro El lenguaje de programación Go.

Vida temprana y educación

Brian Kernighan habla en un homenaje a Dennis Ritchie en 2012 en Bell Labs.

Kernighan nació en Toronto. Asistió a la Universidad de Toronto entre 1960 y 1964 y obtuvo su licenciatura en ingeniería física. Recibió su Ph.D. en ingeniería eléctrica de la Universidad de Princeton en 1969, completando una tesis doctoral titulada "Algunos problemas de partición de gráficos relacionados con la segmentación de programas" bajo la supervisión de Peter G. Weiner.

Carrera e investigación

Kernighan ha sido profesor en el Departamento de Informática de Princeton desde el año 2000. Cada otoño imparte un curso llamado "Computadoras en nuestro mundo", que introduce los fundamentos de la informática a los no especialistas.

Kernighan fue el editor de software de Prentice Hall International. Sus "Herramientas de software" La serie difunde la esencia del "pensamiento C/Unix" con cambios de imagen para BASIC, FORTRAN y Pascal, y más notablemente su "Ratfor" (FORTRAN racional) se puso en el dominio público.

Ha dicho que si se queda varado en una isla con un solo lenguaje de programación, tendría que ser C.

Kernighan acuñó el término "Unix" y ayudó a popularizar la filosofía Unix de Thompson. Kernighan también es conocido como acuñador de la expresión "Lo que ves es todo lo que obtienes" (WYSIAYG), que es una variante sarcástica del original "Lo que ves es lo que obtienes" (WYSIWYG). El término de Kernighan se usa para indicar que los sistemas WYSIWYG pueden descartar información en un documento que podría ser útil en otros contextos.

En 1972, Kernighan describió la gestión de memoria en cadenas usando "hola" y 'mundo', en el lenguaje de programación B, que se convirtió en el ejemplo icónico que conocemos hoy. La implementación original de Kernighan de 1978 de Hello, World! se vendió en The Algorithm Auction, la primera subasta mundial de algoritmos informáticos.

En 1996, Kernighan enseñó CS50, que es el curso de introducción a la informática de la Universidad de Harvard. Kernighan fue una influencia para David J. Malan, quien posteriormente impartió el curso y lo amplió para ejecutarlo en múltiples universidades y en múltiples formatos digitales.

Kernighan fue elegido miembro de la Academia Nacional de Ingeniería en 2002 por sus contribuciones al software y los lenguajes de programación. También fue elegido miembro de la Academia Estadounidense de las Artes y las Ciencias en 2019.

Libros e informes

  • Los elementos del estilo de programación, con P. J. Plauger
  • Herramientas de software, un libro y conjunto de herramientas para Ratfor, co-creado en parte con P. J. Plauger
  • Herramientas de software en Pascal, un libro y conjunto de herramientas para Pascal, con P. J. Plauger
  • El lenguaje de programación C, con el creador de C Dennis Ritchie, el primer libro de C
  • La práctica de la programaciónCon Rob Pike
  • El entorno de programación Unix, un libro tutorial, con Rob Pike
  • "Por qué Pascal no es mi lenguaje de programación favorita", una crítica popular del Pascal de Niklaus Wirth. Algunas partes de la crítica son obsoletas debido a la norma ISO 7185 (Programming Languages - Pascal); la crítica fue escrita antes de la creación de la norma ISO 7185. (AT limitadaT Computing Science Technical Report #100)

Algoritmos

  • 1972: El primer programa documentado "¡Hola, mundo!", en Kernighan "A Tutorial Introduction to the Language B"
  • ¿ 1973? ditroff, o "dispositivo independiente troff", que permitió que troff se utilizara con cualquier dispositivo
  • 1974: El eqn composición lenguaje para troff, con Lorinda Cherry
  • 1976: Ratfor* 1977: El lenguaje de procesamiento macro m4, con Dennis Ritchie
  • 1977: El lenguaje de programación AWK, con Alfred Aho y Peter J. Weinberger, y su libro El lenguaje de programación AWK
  • 1985: El lenguaje de programación AMPL
  • 1988: El lenguaje de tipografía para troff

Publicaciones

  • Los elementos del estilo de programación (1974, 1978) con P. J. Plauger
  • Herramientas de software (1976) con P. J. Plauger
  • El lenguaje de programación C (1978, 1988) con Dennis M. Ritchie
  • Herramientas de software en Pascal (1981) con P. J. Plauger
  • El entorno de programación Unix (1984) con Rob Pike
  • El lenguaje de programación AWK (1988) with Alfred Aho and Peter J. Weinberger
  • La práctica de la programación (1999) con Rob Pike
  • AMPL: Un lenguaje de modelado para la programación matemática, segunda edición. (2003) con Robert Fourer y David Gay
  • D es para Digital: Lo que una persona bien informada debe saber sobre computadoras y comunicaciones (2011)
  • El lenguaje de programación Go (2015) con Alan Donovan
  • Comprender el mundo digital: Lo que necesitas saber sobre ordenadores, Internet, Privacidad y Seguridad (2017)
  • Millones, Billones, Zillions: Defenderse en un mundo de demasiados números (2018)
  • UNIX: Historia y memoria (2019)


Configuración de programación

Kernighan usa una MacBook Air de 13 pulgadas como su dispositivo principal. Junto a esto, de vez en cuando, utiliza un iMac en su oficina. Él, la mayor parte del tiempo, usa a Sam como su editor de texto.

Contenido relacionado

Lenguaje formal

En lógica, matemáticas, informática y lingüística, un lenguaje formal consta de palabras cuyas letras se toman de un alfabeto y están bien formadas de...

ETag HTTP

La ETag o etiqueta de entidad es parte de HTTP, el protocolo para la World Wide Web. Es uno de varios mecanismos que proporciona HTTP para la validación de...

Código de escape ANSI

Las secuencias de escape ANSI son un estándar para la señalización en banda para controlar la ubicación del cursor, el color, el estilo de fuente y otras...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save