# Brian Kernighan

Brian Kernighan (/ˈkɜːnɪhæn/; né le 1er janvier 1942 à Toronto, en Ontario) est un informaticien connu pour avoir coécrit le premier livre sur le langage de programmation C (avec Dennis Ritchie). Il est aussi le cocréateur des langages Awk, avec Alfred Aho et Peter Weinberger, et AMPL.
En 1969, il obtient un doctorat d'électrotechnique à l'université de Princeton, où en 2004, il occupe un poste de professeur.
En collaboration avec Lin Shen, il imagina les heuristiques bien connues pour deux problèmes d'optimisation NP-complet : partitionnement de graphe et le problème du voyageur de commerce (le premier est habituellement appelé algorithme de Kernighan-Lin, et le second est Lin-Kernighan).
Kernighan est également connu comme à l'origine de l'expression « What you see is all you get » (WYSIAYG), (littéralement « Vous n'avez que ce que vous voyez ») une variante ironique de « What you see is what you get » (WYSIWYG) (littéralement « Ce que vous voyez est ce que vous obtenez »). L'expression de Kernighan sous-entend que les systèmes WYSIWYG risquent de faire perdre à un document des informations potentiellement utiles en ne restituant que ce qui est visible.
Il a révélé à l'occasion, que c'est son propre jeu de mots qui a conduit à l'utilisation du nom « Unix » (initialement Unics') pour le système d'exploitation de Ken Thompson et Dennis Ritchie.

## Résumé des réalisations

* Hello, world, (Bonjour, le monde), un programme initialement écrit par Brian Kernighan de Bell Labs dans Un tutoriel d'introduction au B
* awk, avec Alfred Aho et Peter Weinberger, et son livre The AWK Programming Language
* Le langage de programmation AMPL
* The Elements of Programming Style, avec P. J. Plauger (en)
* RatFor, avec P. J. Plauger
* Software Tools in Pascal un livre et un ensemble d'outils pour Pascal, avec P. J. Plauger
* Unix Programming Environment, un livre tutoriel avec Rob Pike
* The C Programming Language, le premier livre sur le C avec Dennis Ritchie, son créateur
* Le langage de composition pic pour troff
* Le langage de composition eqn pour troff avec Lorinda Cherry
* La pratique de la programmation, avec Rob Pike
* Why Pascal is Not My Favorite Programming Language (Pourquoi le Pascal n'est pas mon langage de programmation favori), une critique populaire de Pascal, le langage de programmation de Niklaus Wirth. Certaines parties de la critique sont obsolètes depuis le ISO 7185 (langages de programmation - Pascal), la critique a été écrite avant que l'ISO 7185 ait été créé.
* ditroff, ou « device independent troff » qui a permis à troff d'être utilisé avec n'importe quel appareil
* Le langage de traitement de macros M4, avec Dennis Ritchie

## Livres

* Software Tools (1976 avec PJ Plauger)
* Software Tools in Pascal (1981 avec PJ Plauger)
* The C Programming Language ('K&R') (1978, 1988 avec Dennis Ritchie)
* The Elements of Programming Style (1974, 1978 avec PJ Plauger)
* The Unix Programming Environment (1984 avec Rob Pike)
* The AWK Programming Language (1988 avec Alfred Aho et Peter Weinberger)
* The Practice of Programming (1999 avec Rob Pike)
* AMPL: A Modeling Language for Mathematical Programming, 2e éd. (2003 avec Robert Fourer et David Gay)
* The Go Programming Language (2016 avec Alan A. A. Donovan)
* UNIX: A History and a Memoir, (octobre 2019) (ISBN 978-1695978553)