Brian Kernighan - Brian Kernighan

Brian Kernighan
Brian Kernighan em 2012 no Bell Labs 1.jpg
Brian Kernighan na Bell Labs em 2012
Nascer
Brian Wilson Kernighan

1942 (idade 78-79)
Nacionalidade canadense
Cidadania Canadá
Alma mater University of Toronto
Princeton University (PhD)
Conhecido por
Carreira científica
Campos Ciência da Computação
Instituições Universidade de Princeton
Tese Alguns problemas de particionamento de gráfico relacionados à segmentação de programas  (1969)
Orientador de doutorado Peter Weiner
Influenciado David J. Malan
Local na rede Internet www .cs .princeton .edu / ~ bwk /

Brian Wilson Kernighan ( / k ɜr n ɪ h æ n / ; nascido em 1942) é um canadense cientista da computação .

Ele trabalhou na Bell Labs e contribuiu para o desenvolvimento do Unix ao lado dos criadores do Unix Ken Thompson e Dennis Ritchie . O nome de Kernighan tornou-se amplamente conhecido através da co-autoria do primeiro livro sobre a linguagem de programação C ( The C Programming Language ) com Dennis Ritchie. Kernighan afirmou que não participou do design da linguagem C ("é inteiramente obra de Dennis Ritchie"). Ele é o autor de muitos programas Unix, incluindo ditroff . Kernighan é co-autor das linguagens de programação AWK e AMPL . O "K" de K&R C e de AWK significam "Kernighan".

Em colaboração com Shen Lin, ele desenvolveu heurísticas bem conhecidas para dois problemas de otimização NP-completos : particionamento de gráfico e o problema do caixeiro viajante . Em uma exibição de equidade autoral, o primeiro é geralmente chamado de algoritmo de Kernighan-Lin , enquanto o último é conhecido como heurística de Lin-Kernighan .

Kernighan é Professor de Ciência da Computação na Universidade de Princeton desde 2000 e é o Diretor de Estudos de Graduação no Departamento de Ciência da Computação. Em 2015, foi co-autor do livro The Go Programming Language .

Infância e educação

Brian Kernighan fala em uma homenagem a Dennis Ritchie em 2012 no Bell Labs .

Kernighan nasceu em Toronto . Ele frequentou a Universidade de Toronto entre 1960 e 1964, obtendo seu diploma de bacharel em física de engenharia . Ele recebeu seu Ph.D. em engenharia elétrica pela Universidade de Princeton em 1969, concluindo uma tese de doutorado intitulada "Alguns problemas de particionamento de gráficos relacionados à segmentação de programas" sob a supervisão de Peter G. Weiner.

Carreira e pesquisa

Kernighan é professor no Departamento de Ciência da Computação de Princeton desde 2000. A cada outono, ele ministra um curso chamado "Computadores em Nosso Mundo", que apresenta os fundamentos da computação para não graduados.

Kernighan era o editor de software da Prentice Hall International . Sua série "Ferramentas de Software" espalhou a essência do "pensamento C / Unix" com reformas para BASIC , FORTRAN e Pascal , e mais notavelmente seu " Ratfor " (FORTRAN racional) foi colocado em domínio público .

Ele disse que se estivesse preso em uma ilha com apenas uma linguagem de programação, teria que ser C.

Kernighan cunhou o termo "Unix" e ajudou a popularizar a filosofia Unix de Thompson . Kernighan também é conhecido como um criador da expressão "O que você vê é tudo o que você obtém" (WYSIAYG), que é uma variante sarcástica do original "O que você vê é o que você obtém" ( WYSIWYG ). O termo de Kernighan é usado para indicar que os sistemas WYSIWYG podem descartar informações em um documento que podem ser úteis em outros contextos.

Em 1972, Kernighan descreveu o gerenciamento de memória em strings usando "hello" e "world", na linguagem de programação B , que se tornou o exemplo icônico que conhecemos hoje. Implementação original de Kernighan de 1978 de Hello, World! foi vendido no leilão de algoritmos , o primeiro leilão de algoritmos de computador do mundo .

Em 1996, Kernighan ensinou CS50, que é o curso introdutório em Ciência da Computação da Universidade de Harvard .

Kernighan foi eleito membro da National Academy of Engineering em 2002 por suas contribuições para software e linguagens de programação. Ele também foi eleito membro da Academia Americana de Artes e Ciências em 2019.

Outras conquistas durante sua carreira incluem:

Publicações

  • Os elementos do estilo de programação (1974, 1978) com PJ Plauger
  • Ferramentas de software (1976) com P. J. Plauger
  • The C Programming Language (1978, 1988) com Dennis M. Ritchie
  • Ferramentas de software em Pascal (1981) com P. J. Plauger
  • O ambiente de programação Unix (1984) com Rob Pike
  • The AWK Programming Language (1988) com Alfred Aho e Peter J. Weinberger
  • The Practice of Programming (1999) com Rob Pike
  • AMPL: A Modeling Language for Mathematical Programming, 2ª ed. (2003) com Robert Fourer e David Gay
  • D é para Digital: O que uma pessoa bem informada deve saber sobre computadores e comunicações (2011)
  • The Go Programming Language (2015) com Alan Donovan
  • Compreendendo o mundo digital: O que você precisa saber sobre computadores, Internet, privacidade e segurança (2017)
  • Milhões, bilhões, zilhões: defendendo-se em um mundo de muitos números (2018)
  • UNIX: A History and a Memoir (2019)

Referências

links externos