Dossiê · Linguagens de programação
Brian Kernighan: o “K” do K&R e do AWK, que escreveu o primeiro “Hello, world!”
Quase todo curso de programação começa com um programa que escreve “Hello, world!” na tela. O primeiro registro documentado desse exemplo está num tutorial de 1972 escrito por Brian Kernighan, o pesquisador canadense do Bell Labs que ajudou a espalhar o Unix e a linguagem C pelo mundo com seus livros.
Atualizado em · 1 fontes públicas citadas
Brian Kernighan nunca reivindicou ter criado a linguagem C. Segundo a Wikipédia, ele afirma que não teve participação no desenho da linguagem. Mesmo assim, seu nome ficou ligado a ela para sempre: o “K” de K&R, como é conhecido o livro The C Programming Language, escrito com Dennis Ritchie, é a inicial de Kernighan.[1]
Ele trabalhou no Bell Labs ao lado dos criadores do Unix, coassinou as linguagens AWK e AMPL, escreveu ou coescreveu mais de uma dúzia de livros e, desde 2000, ensina computação em Princeton, inclusive para quem não é da área.[1]
Formação em Toronto e Princeton
Kernighan nasceu em 30 de janeiro de 1942 em Toronto, no Canadá. Estudou na Universidade de Toronto entre 1960 e 1964 e se formou em física de engenharia.[1]
Fez doutorado em engenharia elétrica em Princeton, concluído em 1969, com a tese “Some Graph Partitioning Problems Related to Program Segmentation”, orientada por Peter G. Weiner.[1]
Bell Labs e o Unix
No Bell Labs, Kernighan contribuiu para o desenvolvimento do Unix ao lado de seus criadores, Ken Thompson e Dennis Ritchie. A Wikipédia não informa o ano em que ele entrou no laboratório.[1]
Segundo o artigo, foi Kernighan quem cunhou o nome “Unix”, e ele ajudou a popularizar a filosofia Unix de Thompson. Escreveu vários programas do sistema, entre eles o ditroff.[1]
Com Shen Lin, criou heurísticas conhecidas para dois problemas de otimização NP-completos. A de partição de grafos ficou conhecida como algoritmo Kernighan–Lin; a do problema do caixeiro-viajante, como heurística Lin–Kernighan.[1]
Brian Kernighan: idade em cada marco
Idade em cada marco, calculada a partir da data de nascimento (30 de janeiro de 1942) e dos anos citados na Wikipédia.
Para 1964 o artigo dá só o ano em que ele deixou Toronto, então essa idade pode variar em um ano.
O primeiro “Hello, world!”
Em 1972, no texto “A Tutorial Introduction to the Language B”, Kernighan usou as palavras “hello” e “world” para explicar o tratamento de strings na linguagem B. É o primeiro “Hello, world!” documentado, e o exemplo virou um rito de passagem para quem aprende a programar.[1]
Uma implementação do programa feita por ele em 1978 foi vendida no The Algorithm Auction, um dos primeiros leilões de algoritmos de computador. A Wikipédia não informa o valor nem o ano da venda.[1]
Os livros: do K&R ao Go
O nome de Kernighan ficou conhecido no mundo todo pela coautoria do primeiro livro sobre a linguagem C, The C Programming Language (1978, com segunda edição em 1988), escrito com Dennis Ritchie.[1]
Antes disso, com P. J. Plauger, publicou The Elements of Programming Style (1974, revisado em 1978) e Software Tools (1976). A série Software Tools, segundo a Wikipédia, espalhou a essência do “pensamento C/Unix”. A versão Software Tools in Pascal saiu em 1981.[1]
Com Rob Pike escreveu The Unix Programming Environment (1984) e The Practice of Programming (1999). Com Alfred Aho e Peter J. Weinberger, The AWK Programming Language (1988, com nova edição em 2023). Com Robert Fourer e David Gay, AMPL: A Modeling Language for Mathematical Programming (segunda edição em 2003). Com Alan Donovan, The Go Programming Language (2015).[1]
Sozinho, escreveu livros para o público geral: D is for Digital (2011), Understanding the Digital World (2017), Millions, Billions, Zillions: Defending Yourself in a World of Too Many Numbers (2018) e UNIX: A History and a Memoir (2019).[1]
Kernighan também foi editor de software da Prentice Hall International.[1]
Professor em Harvard e Princeton
Em 1996, Kernighan deu o CS50, a disciplina introdutória de computação de Harvard. Segundo a Wikipédia, ele influenciou David J. Malan, que depois assumiu o curso e o levou a várias universidades e a formatos digitais.[1]
Desde 2000 é professor de ciência da computação em Princeton. Todo outono ministra “Computers in Our World”, disciplina para alunos de fora da área.[1]
Ele também é lembrado pela expressão “What You See Is All You Get” (o que você vê é tudo o que você tem), uma provocação aos editores WYSIWYG.[1]
Honrarias
Kernighan foi eleito para a Academia Nacional de Engenharia dos EUA em 2002 e para a Academia Americana de Artes e Ciências em 2019.[1]
Linha do tempo
-
1942
Nasce em Toronto, em 30 de janeiro.
-
1964
Conclui física de engenharia na Universidade de Toronto.
-
1969
Doutorado em engenharia elétrica em Princeton.
-
1972
Primeiro “Hello, world!” documentado, no tutorial da linguagem B.
-
1974
The Elements of Programming Style, com P. J. Plauger.
-
1978
The C Programming Language, com Dennis Ritchie.
-
1984
The Unix Programming Environment, com Rob Pike.
-
1985
Linguagem AMPL.
-
1988
The AWK Programming Language e segunda edição do K&R.
-
1996
Dá o CS50 em Harvard.
-
1999
The Practice of Programming, com Rob Pike.
-
2000
Torna-se professor em Princeton.
-
2002
Eleito para a Academia Nacional de Engenharia dos EUA.
-
2015
The Go Programming Language, com Alan Donovan.
-
2019
UNIX: A History and a Memoir; eleito para a Academia Americana de Artes e Ciências.
-
2023
Nova edição de The AWK Programming Language.
Empresas ligadas a Brian Kernighan
Empresas desta coleção em que a pessoa trabalhou, fundou, investiu ou com que teve relação direta. Os nomes com link já têm dossiê publicado.
Ver a rede de Brian Kernighan no grafo 3D
- Bell Labs Laboratório onde Kernighan contribuiu para o Unix
Veja também: outras pessoas
- Dennis Ritchie Coautor de The C Programming Language (1978)
- Ken Thompson Criador do Unix, com quem Kernighan trabalhou no Bell Labs
- Bill Joy Escreveu o cat -v, que Kernighan e Rob Pike criticaram por ir contra a filosofia Unix.
Sumário de siglas usadas
- K&R
- Apelido do livro The C Programming Language, pelas iniciais de Kernighan e Ritchie.
- AWK
- Linguagem de programação da qual Kernighan é coautor; o “K” do nome é dele.
- AMPL
- A Mathematical Programming Language, linguagem de modelagem para otimização.
- WYSIWYG
- “What you see is what you get”: editor que mostra na tela o resultado final.
- NP-completo
- Classe de problemas para os quais não se conhece algoritmo eficiente que dê sempre a solução ótima.
- CS50
- Disciplina introdutória de ciência da computação da Universidade Harvard.
Perguntas frequentes
Quem é Brian Kernighan?+
Brian Kernighan criou a linguagem C?+
Quem escreveu o primeiro “Hello, world!”?+
O que significa o K de AWK?+
Quais livros Brian Kernighan escreveu?+
Ele ainda dá aulas?+
Referências
Sites e Artigos
Fontes consultadas
- Brian Kernighan · Wikipédia
Este dossiê usa apenas informações públicas e com fonte. Não publicamos dados pessoais privados, como endereço, documentos ou informações de saúde. Encontrou um erro? Escreva para [email protected].
Conclusão
Brian Kernighan não criou o Unix nem a linguagem C, mas ajudou a explicá-los para o mundo. Do primeiro “Hello, world!” documentado ao K&R, da AWK aos livros para leigos, ele ajudou gerações a aprender a programar, e ainda ensina em Princeton.