Brian Wilson Kernighan ( / k ɜr n ɪ h æ n / ; [6] nacido 1942) [1] es un canadiense científico de la computación .
Brian Kernighan | |
---|---|
Nació | Brian Wilson Kernighan 1942 (78 a 79 años) [1] |
Nacionalidad | canadiense |
Ciudadanía | Canadá |
alma mater | Universidad de Toronto Princeton University (PhD) |
Conocido por | |
Carrera científica | |
Campos | Ciencias de la Computación |
Instituciones | Universidad de Princeton |
Tesis | Algunos problemas de particionamiento de gráficos relacionados con la segmentación de programas (1969) |
Asesor de doctorado | Peter Weiner [3] |
Influenciado | David J. Malan [4] [5] |
Sitio web | www |
Trabajó en Bell Labs y contribuyó al desarrollo de Unix junto a los creadores de Unix Ken Thompson y Dennis Ritchie . El nombre de Kernighan se hizo ampliamente conocido gracias a 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 enteramente obra de Dennis Ritchie "). [7] Fue autor de muchos programas Unix , incluido ditroff . Kernighan es coautor de los lenguajes de programación AWK y AMPL . La "K" de K&R C y la "K" en AWK significan "Kernighan".
En colaboración con Shen Lin , ideó heurísticas bien conocidas para dos problemas de optimización NP-completos : la partición de gráficos y el problema del viajante de comercio . En una muestra de equidad de autor, el primero se suele llamar algoritmo de Kernighan-Lin , mientras que el segundo se conoce como la 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 Pregrado en el Departamento de Ciencias de la Computación. [8] [9] [10] En 2015, fue coautor del libro The Go Programming Language .
Temprana edad y educación
Kernighan nació en Toronto . Asistió a la Universidad de Toronto entre 1960 y 1964, obteniendo su licenciatura en ingeniería física . [7] 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. [11] [12]
Carrera e investigación
Kernighan ha ocupado una cátedra en el Departamento de Ciencias de la Computación en Princeton desde el año 2000. Cada otoño imparte un curso llamado "Computadoras en nuestro mundo", que presenta los fundamentos de la computación a los no especialistas.
Kernighan fue el editor de software de Prentice Hall International . Su serie "Software Tools" difundió la esencia del "pensamiento C / Unix" con cambios de imagen para BASIC , FORTRAN y Pascal , y lo más notable es que 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. [13]
Kernighan acuñó el término Unix y ayudó a popularizar la filosofía Unix de Thompson . [14] Kernighan también es conocido como autor 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 ). [15] El término de Kernighan se usa para indicar que los sistemas WYSIWYG pueden desechar información en un documento que podría ser útil en otros contextos.
La implementación original de Kernighan en 1978 de Hello, World! se vendió en The Algorithm Auction , la primera subasta mundial de algoritmos informáticos . [dieciséis]
En 1996, Kernighan enseñó CS50, que es el curso de introducción a la informática de la Universidad de Harvard . [5]
Kernighan fue elegido miembro de la Academia Nacional de Ingeniería en 2002 y miembro de la Academia Estadounidense de Artes y Ciencias en 2019. [17] [18]
Otros logros durante su carrera incluyen:
- El lenguaje de programación AMPL
- El lenguaje de programación AWK , con Alfred Aho y Peter J. Weinberger , y su libro The AWK Programming Language
- ditroff, o "dispositivo independiente troff ", que permitía utilizar troff con cualquier dispositivo
- Los elementos del estilo de programación , con PJ Plauger
- El primer "¡Hola mundo!" Documentado programa , en "A Tutorial Introduction to the Language B" de Kernighan (1972)
- Rata para [14]
- Software Tools , un libro y un conjunto de herramientas para Ratfor, co-creado en parte con PJ Plauger
- Herramientas de software en Pascal , un libro y un conjunto de herramientas para Pascal , con PJ Plauger
- El lenguaje de programación C , con el creador de C Dennis Ritchie , el primer libro sobre C
- El lenguaje de composición tipográfica eqn para troff, con Lorinda Cherry [14]
- El lenguaje de procesamiento de macros m4 , con Dennis Ritchie
- El pic lenguaje de composición de troff [14]
- La práctica de la programación , con Rob Pike
- El entorno de programación Unix , un libro tutorial, con Rob Pike
- "¿Por qué Pascal no es mi favorita Lenguaje de programación" , una crítica popular de Niklaus Wirth 's Pascal . Algunas partes de la crítica están obsoletas debido a ISO 7185 (Lenguajes de programación - Pascal); la crítica se escribió antes de que se creara la norma ISO 7185. (Informe técnico de ciencia informática de AT&T n. ° 100)
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) con Alfred Aho y Peter J. Weinberger
- La práctica de la programación (1999) con Rob Pike
- AMPL: Un lenguaje de modelado para programación matemática, 2ª ed. (2003) con Robert Fourer y David Gay
- D es para lo digital: lo que debe saber una persona bien informada sobre computadoras y comunicaciones (2011) [19]
- El lenguaje de programación Go (2015) con Alan Donovan [20]
- Comprensión del mundo digital: lo que necesita saber sobre computadoras, Internet, privacidad y seguridad (2017)
- Millones, miles de millones, trillones: defenderse en un mundo de demasiados números (2018)
- UNIX: Una historia y una memoria (2019) [21]
Referencias
- ↑ a b Lohr, Steve (31 de octubre de 2002). "A las artes liberales, le suma la informática" . The New York Times .
Kernighan, de 60 años, es informático.
- ^ Lenguaje de programación "C": Brian Kernighan - Computerphile en YouTube
- ^ Kernighan, Brian Wilson (1969). Algunos problemas de particionamiento de gráficos relacionados con la segmentación de programas (tesis doctoral). Universidad de Princeton. OCLC 39166855 . ProQuest 302450661 . (requiere suscripción)
- ^ Méndez, Cordelia F. (2014). "Esto es CS50" . thecrimson.com . El Harvard Crimson . Archivado desde el original el 17 de marzo de 2017.
- ^ a b Malan, David J. (2010). "Reinventando CS50" . Actas de SIGCSE '10 Actas del 41º Simposio Técnico de ACM sobre Educación en Ciencias de la Computación : 152. doi : 10.1145 / 1734263.1734316 . ISBN 9781450300063.
- ^ Pike, Rob. "La historia de Unix" . YouTube . Consultado el 2 de mayo de 2020 .
- ^ a b Dolya, Aleksey (29 de julio de 2003). "Entrevista con Brian Kernighan" . Revista de Linux .
- ^ Página de perfil de autor de Brian Kernighan en laBiblioteca digital de ACM
- ^ "Una historia oral de Unix" . 2007-06-11. Archivado desde el original el 11 de junio de 2007 . Consultado el 13 de mayo de 2020 .
- ^ "Brian Kernighan | Departamento de Ciencias de la Computación de la Universidad de Princeton" . www.cs.princeton.edu . Consultado el 13 de mayo de 2020 .
- ^ "Brian Kernighan - el proyecto de genealogía de las matemáticas" . www.genealogy.math.ndsu.nodak.edu . Consultado el 13 de mayo de 2020 .
- ^ Kernighan, Brian W. (1969). Algunos problemas de partición de gráficos relacionados con la segmentación de programas .
- ^ Budiu, Mihai (julio de 2000). "Una entrevista con Brian Kernighan" .
- ^ a b c d McIlroy, MD (1987). Un lector de investigación Unix: extractos comentados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
- ^ "Brian Kernighan: Geek de la semana" . Charla simple . 2010-05-19 . Consultado el 5 de febrero de 2019 .
- ^ "Brian Kernighan - Hola mundo" . Artístico . Artístico . Consultado el 18 de junio de 2015 .
- ^ "Dr. Brian W. Kernighan" . Sitio web de NAE . Consultado el 13 de mayo de 2020 .
- ^ "Brian W. Kernighan" . Academia Estadounidense de Artes y Ciencias . Consultado el 13 de mayo de 2020 .
- ^ D es para lo digital: lo que una persona bien informada debe saber sobre computadoras y comunicaciones ISBN 1463733895
- ^ Brian Kernighan y Alan Donovan (2015) El lenguaje de programación Go ISBN 0134190440
- ^ UNIX: una historia y una memoria ISBN 1695978552
enlaces externos
- Página de inicio de Brian Kernighan en Bell Labs
- "Por qué Pascal no es mi lenguaje de programación favorito" - Por Brian Kernighan, AT&T Bell Labs, 2 de abril de 1981
- "Salta y prueba cosas" - Entrevista con Brian Kernighan - en el "Blog de armonía en el trabajo", octubre de 2009.
- Una entrevista con Brian Kernighan - Por Mihai Budiu, para PC Report Romania , agosto de 2000
- "Transcripción de una entrevista con Brian Kernighan" . Archivado desde el original el 28 de abril de 2009 . Consultado el 31 de marzo de 2016 . - Entrevista de "Michael S. Mahoney" . Archivado desde el original el 28 de mayo de 2009 . Consultado el 31 de marzo de 2016 .
- Video - TechNetCast en Bell Labs: Dennis Ritchie y Brian Kernighan (14 de mayo de 1999)
- Video (Universidad de Princeton, 7 de septiembre de 2003) - "Asamblea para la promoción de 2007: 'D es para lo digital y por qué es importante'"
- Un descenso al limbo de Brian Kernighan
- Fotos de Brian Kernighan
- Obras de Brian Kernighan en Open Library
- Entrevista en video con Brian Kernighan para Princeton Startup TV (2012-03-20)
- La configuración, Brian Kernighan