Brian Kernighan - Brian Kernighan
Brian Kernighan | |
---|---|
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 |
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
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:
- A linguagem de programação AMPL
- A linguagem de programação AWK, com Alfred Aho e Peter J. Weinberger , e seu livro The AWK Programming Language
- ditroff, ou " troff independente de dispositivo ", que permitia que o troff fosse usado com qualquer dispositivo
- Os Elementos do Estilo de Programação , com PJ Plauger
- O primeiro documento "Olá, mundo!" programa , no "A Tutorial Introduction to the Language B" de Kernighan (1972)
- Ratfor
- Ferramentas de software , um livro e um conjunto de ferramentas para Ratfor, co-criado em parte com PJ Plauger
- Ferramentas de software em Pascal , um livro e um conjunto de ferramentas para Pascal, com PJ Plauger
- The C Programming Language , com o criador de C Dennis Ritchie, o primeiro livro em C
- A linguagem de composição eqn para troff, com Lorinda Cherry
- A linguagem de processamento macro m4 , com Dennis Ritchie
- A linguagem de composição de imagens para troff
- The Practice of Programming , com Rob Pike
- The Unix Programming Environment , um livro tutorial, com Rob Pike
- "Por que Pascal não é minha linguagem de programação favorita" , uma crítica popular a Pascal de Niklaus Wirth . Algumas partes das críticas estão obsoletas devido à ISO 7185 (Linguagens de Programação - Pascal); a crítica foi escrita antes da criação da ISO 7185. (AT&T Computing Science Technical Report # 100)
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
- Página inicial de Brian Kernighan no Bell Labs
- "Por que Pascal não é minha linguagem de programação favorita" - Por Brian Kernighan, AT&T Bell Labs, 2 de abril de 1981
- "Leap In and Try Things" - Entrevista com Brian Kernighan - no "Harmony at Work Blog", outubro de 2009.
- Uma entrevista com Brian Kernighan - Por Mihai Budiu, para o PC Report Romênia , agosto de 2000
- "Transcrição de uma entrevista com Brian Kernighan" . Arquivado do original em 28/04/2009 . Página visitada em 2016-03-31 . - Entrevista por "Michael S. Mahoney" . Arquivado do original em 28/05/2009 . Página visitada em 2016-03-31 .
- Vídeo - TechNetCast na Bell Labs: Dennis Ritchie e Brian Kernighan (14/05/1999)
- Vídeo (Princeton University, 7 de setembro de 2003) - "Assembleia para a classe de 2007: 'D é para o digital e por que é importante'"
- A Descent into Limbo, de Brian Kernighan
- Fotos de Brian Kernighan
- Trabalhos de Brian Kernighan na Open Library
- Entrevista em vídeo com Brian Kernighan para a Princeton Startup TV (20/03/2012)
- The Setup, Brian Kernighan