Timeline
Chat
Prospettiva
Brian Kernighan
informatico canadese Da Wikipedia, l'enciclopedia libera
Remove ads
Brian Wilson Kernighan (Toronto, 1º gennaio 1942) è un informatico canadese.

È noto per aver contribuito allo sviluppo di Unix assieme ai suoi creatori Ken Thompson e Dennis Ritchie, e soprattutto per aver scritto, insieme a Ritchie, il primo libro sul linguaggio di programmazione C, intitolato Il linguaggio C (The C Programming Language). È l'autore di molti programmi Unix, come ditroff, e dei linguaggi AWK e AMPL.
Insieme a Shen Lin escogitò euristiche per due problemi di ottimizzazione NP-completi: partizione dei grafi e il problema del commesso viaggiatore. Come dimostrazione di equità, il primo è solitamente chiamato algoritmo di Kernighan–Lin, mentre il secondo è noto come l'euristica di Lin–Kernighan.
Kernighan è stato professore di informatica all'Università di Princeton dal 2000 ed è il direttore degli studi undergraduate nel dipartimento di informatica.[1][2] Nel 2015, co-scrisse il libro The Go Programming Language sul linguaggio Go
Remove ads
Biografia
Si laurea in fisica tecnica all'Università di Toronto nel 1964 e ottiene il dottorato di ricerca in elettrotecnica all'Università di Princeton, dove ha insegnato dal 2000. Ha lavorato nel dipartimento di ricerca informatico dei Bell Labs (conosciuti ora come Lucent Technologies).
È famoso soprattutto per aver collaborato insieme a Dennis Ritchie, creatore del linguaggio di programmazione C, alla stesura del libro The C Programming Language, noto, nell'ambiente, come "il K&R" dalle iniziali dei suoi autori, reputato un testo fondamentale per i programmatori.[3] Sebbene ne scrisse la guida, Kernighan affermò di non aver presto parte alla progettazione di C («È interamente opera di Dennis Ritchie»).[4]
È il creatore dei linguaggi AWK, insieme ad Alfred Aho e Peter Weinberger, e di AMPL, oltre di molti programmi Unix, come ad esempio troff.
Remove ads
Legge di Kernighan
(inglese)
«Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.»
(italiano)
«Il debugging è due volte più difficile rispetto alla stesura del codice. Di conseguenza, chi scrive il codice nella maniera più intelligente possibile non è, per definizione, abbastanza intelligente per eseguirne il debugging.»
Remove ads
Note
Voci correlate
Altri progetti
Collegamenti esterni
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads