Ir para o conteúdo principal
Bethemesh
BiografiaHistória da informáticaIniciante

Brian Kernighan: AWK, Unix e a arte de explicar código

Descubra como Brian Kernighan ajudou a criar AWK, difundiu C e Unix, desenvolveu ferramentas especializadas e estabeleceu uma pedagogia duradoura da programação.

Publicado 24 de agosto de 2026Leitura : 5 minPor Yann Bastien
Retrato de Brian Kernighan num ambiente que evoca Unix, C e processamento de texto
Mostrar índice
  1. De Toronto aos Bell Labs
  2. Unix como oficina de pequenas ferramentas
  3. Ratfor: melhorar a expressão sem substituir a infraestrutura
  4. AWK: transformar padrões em ações
  5. K&R: o livro que tornou C acessível
  6. Explicar a filosofia Unix pela prática
  7. Pequenas linguagens para problemas precisos
  8. Prática da programação e ensino
  9. Porque Brian Kernighan continua importante
  10. Cronologia
  11. Perguntas frequentes
  12. Brian Kernighan inventou C?
  13. Quem criou AWK?
  14. Porque é K&R tão importante?
  15. Qual é a ideia central das ferramentas de Kernighan?
  16. AWK ainda é utilizado?

Brian Kernighan ocupa um lugar singular na história das linguagens. Não criou Unix nem C: esses contributos pertencem sobretudo a Ken Thompson e Dennis Ritchie. A sua influência vem de ter construído ferramentas em torno de Unix, cocriado linguagens especializadas e tornado as ideias dos Bell Labs compreensíveis e transmissíveis.

O seu nome está ligado a AWK, criado com Alfred Aho e Peter Weinberger, e a The C Programming Language, escrito com Ritchie. Ratfor, eqn, pic, AMPL e décadas de ensino mostram a mesma ideia: uma boa ferramenta faz poucas coisas com clareza e combina-se com outras.

De Toronto aos Bell Labs

Brian Wilson Kernighan nasceu em 1942 em Toronto. Estudou física de engenharia na Universidade de Toronto e concluiu em 1969 um doutoramento em engenharia elétrica em Princeton sobre particionamento de grafos. Nesse mesmo ano entrou nos Bell Laboratories.

Unix começava a surgir em torno de Ken Thompson e Dennis Ritchie. Kernighan participou nesse ambiente, testou ferramentas, escreveu programas e documentação e ajudou a transformar um protótipo local num ambiente utilizável. É também geralmente creditado pelo nome “Unix”, um jogo de palavras com Multics.

Unix como oficina de pequenas ferramentas

A força de Unix não está apenas no kernel, mas também em pequenos programas que leem e escrevem fluxos simples e se ligam por pipelines. Com Lorinda Cherry, Kernighan desenvolveu eqn para fórmulas matemáticas e trabalhou em pic para diagramas e em ferramentas relacionadas com troff.

Estes programas mostram que uma notação especializada pode ser mais expressiva do que uma ferramenta geral. Os ficheiros de texto permanecem legíveis, versionáveis e combináveis com outros comandos, antecipando práticas modernas de documentação como código.

Ratfor: melhorar a expressão sem substituir a infraestrutura

As versões antigas de FORTRAN eram muito difundidas mas pouco estruturadas. Kernighan criou Ratfor, Rational Fortran, oferecendo blocos, ciclos e condições mais modernos e traduzindo depois o programa para Fortran aceite pelos compiladores existentes.

A estratégia é pragmática: acrescentar uma camada leve em vez de substituir toda a infraestrutura. Software Tools, com P. J. Plauger, difundiu esta abordagem.

AWK: transformar padrões em ações

Em 1977, Alfred Aho, Peter Weinberger e Brian Kernighan conceberam AWK, cujo nome reúne as iniciais dos apelidos. O modelo é compacto:

condition { action }

AWK lê registos, divide automaticamente cada linha em campos, testa padrões e executa ações. Somar a segunda coluna exige apenas:

{ total += $2 }
END { print total }

A concisão resulta de a linguagem tratar o enquadramento repetitivo. AWK situa-se entre um filtro e uma linguagem geral e permite extração, agregação, conversão e relatórios sem compilar um programa completo em C.

K&R: o livro que tornou C acessível

Dennis Ritchie criou C no início dos anos 1970. Para o difundir para além dos Bell Labs, Kernighan escreveu com ele The C Programming Language, publicado em 1978 e conhecido como K&R.

O livro combina o conhecimento do criador com a experiência pedagógica de Kernighan. A primeira edição tornou-se referência de facto do C anterior à normalização; a segunda, de 1988, acompanhou ANSI C. Kernighan não inventou C: ajudou decisivamente a formulá-lo para quem não trabalhava ao lado de Ritchie.

Explicar a filosofia Unix pela prática

Com Rob Pike, Kernighan publicou em 1984 The Unix Programming Environment. O livro ensina a pensar com shell, filtros, ficheiros de texto e programas combináveis, mostrando como decompor progressivamente uma tarefa.

Os pipelines textuais têm limites: podem perder estrutura e tornar-se difíceis de manter. A lição duradoura não é que tudo deva ser texto, mas que interfaces simples e composição explícita reduzem o custo de integração.

Pequenas linguagens para problemas precisos

Com Robert Fourer e David Gay, Kernighan desenvolveu AMPL para modelação matemática. O utilizador descreve variáveis, restrições e objetivo, enquanto o solver trata do algoritmo numérico.

Tal como eqn e AWK, AMPL aproxima o código do problema. A ideia de pequenas linguagens especializadas continua hoje nas linguagens de consulta, configuração, sistemas de build e notações de visualização.

Prática da programação e ensino

The Elements of Programming Style, com P. J. Plauger, e The Practice of Programming, com Rob Pike, abordam legibilidade, desenho, depuração, testes, desempenho, portabilidade e interfaces. O estilo não é decorativo: código legível expõe pressupostos e interfaces reduzidas limitam dependências.

Em 2000, após trinta anos nos Bell Labs, Kernighan entrou em Princeton, onde passou a ensinar informática e também as consequências sociais dos sistemas digitais.

Porque Brian Kernighan continua importante

O seu legado une ferramentas, linguagens e explicação. Kernighan mostrou que uma pequena ferramenta pode ter grande impacto se a interface for clara e que uma ideia técnica só ganha alcance quando é bem documentada e ensinada.

Cronologia

  • 1942: nascimento em Toronto.
  • 1969: doutoramento em Princeton e entrada nos Bell Labs.
  • Anos 1970: ferramentas Unix, Ratfor, eqn e pic.
  • 1977: criação de AWK com Aho e Weinberger.
  • 1978: primeira edição de The C Programming Language com Ritchie.
  • 1984: The Unix Programming Environment com Rob Pike.
  • 1988: segunda edição de K&R para ANSI C.
  • 2000: entrada em Princeton.

Perguntas frequentes

Brian Kernighan inventou C?

Não. Dennis Ritchie foi o principal criador de C. Kernighan teve um papel decisivo na documentação, ensino e difusão da linguagem.

Quem criou AWK?

Alfred Aho, Peter Weinberger e Brian Kernighan conceberam-no em conjunto; o nome vem das iniciais dos seus apelidos.

Porque é K&R tão importante?

Deu a C uma descrição precisa, baseada em exemplos e amplamente disponível antes da normalização oficial, difundindo também um estilo de programação claro.

Qual é a ideia central das ferramentas de Kernighan?

Decompor problemas complexos em partes compreensíveis, usar interfaces simples e combinar ferramentas especializadas.

AWK ainda é utilizado?

Sim. Continua muito útil em sistemas Unix para processamento rápido de texto, relatórios, extração de dados e automação.

Este artigo foi útil?

Coleção

Linguagens de programação

22 / 26

  1. 01Grace Hopper: dos primeiros compiladores ao COBOL
  2. 02John Backus: FORTRAN, a notação BNF e a recusa do código de máquina
  3. 03Dennis Ritchie: a linguagem C no coração do Unix
  4. 04FORTRAN: provar que um compilador pode competir com assembly
  5. 05A linguagem C: tornar os sistemas portáteis sem esconder a máquina
  6. 06Niklaus Wirth: de Pascal a Oberon, conceber pela simplicidade
  7. 07Bjarne Stroustrup: conceber C++ sem abdicar do desempenho
  8. 08Pascal: aprender a programar tornando a estrutura visível
  9. 09C++: de C with Classes ao C++ moderno
  10. 10Programação orientada a objetos: objetos, mensagens e abstrações reutilizáveis
  11. 11Guido van Rossum: criar Python para tornar o código legível
  12. 12Brendan Eich: JavaScript, do protótipo da Netscape ao padrão da Web
  13. 13James Gosling: o engenheiro na origem de Java
  14. 14Python: legibilidade, baterias incluídas e um ecossistema global
  15. 15Java: escrever uma vez, executar em qualquer lugar
  16. 16JavaScript: a linguagem que tornou a Web interativa
  17. 17Ken Thompson: de Unix a Go, a simplicidade como método
  18. 18John McCarthy: Lisp e a ideia de programar com símbolos
  19. 19Alan Kay: Smalltalk e o computador como meio pessoal
  20. 20Barbara Liskov: a abstração que tornou o software modular
  21. 21Robin Milner: ML, prova assistida e linguagens da interação
  22. 22Brian Kernighan: AWK, Unix e a arte de explicar código
  23. 23Anders Hejlsberg: de Turbo Pascal a C# e TypeScript
  24. 24Larry Wall: Perl, a linguagem que ligou as ferramentas da Internet
  25. 25Yukihiro Matsumoto: Ruby e a felicidade do programador
  26. 26Rasmus Lerdorf: PHP e a democratização da Web dinâmica
BiografiaHistória da informáticaIniciante

Dennis Ritchie: a linguagem C no coração do Unix

Como Dennis Ritchie concebeu a linguagem C e contribuiu para o Unix, duas bases que tornaram o software de sistema mais portável.

3 de agosto de 20267 min