Niklaus Wirth: biografia, ETH Zurique, ALGOL W, Pascal, Modula-2, Oberon, Lilith, a lei de Wirth e o Prêmio Turing | Ícones da Tecnologia

Dossiê · Linguagens de programação

Niklaus Wirth: o criador do Pascal, que achava que bom software é o que deixa coisas de fora

Niklaus Wirth dizia que sua maior satisfação na programação vinha quando conseguia deixar partes de fora. O professor suíço levou essa ideia ao Pascal, linguagem que se tornou muito usada para ensinar programação, e a uma sequência de linguagens e computadores que lhe deram o Prêmio Turing de 1984.

Atualizado em · 1 fontes públicas citadas

Ao longo de mais de três décadas na ETH Zurique, Niklaus Wirth criou linguagens de programação, sistemas operacionais e até computadores inteiros. Seguia a máxima “tão simples quanto possível, mas não mais simples”, atribuída a Einstein, e defendia que uma primeira linguagem deve ser pequena, limpa e concentrada nos conceitos essenciais.[1]

Também foi um crítico do tamanho e da complexidade do software comercial. A ele se associa a observação de que o software fica lento mais depressa do que o hardware fica rápido, que ele atribuiu a Martin Reiser e que ficou conhecida como lei de Wirth.[1]

De Winterthur a Berkeley

Wirth nasceu em Winterthur, na Suíça, em 15 de fevereiro de 1934. O pai ensinava geografia no ginásio da cidade.[1]

Estudou engenharia elétrica na ETH Zurique a partir de 1954 e se formou engenheiro eletricista em 1958. Passou um ano como assistente de ensino na Université Laval, em Quebec, que lhe deu um mestrado em 1960, e quatro meses no Conselho Nacional de Pesquisa, em Ottawa, onde construiu um pequeno computador analógico.[1]

Em Berkeley achou o compilador NELIAC “quase ininteligível” (tradução livre) e escreveu seu próprio compilador de ALGOL 60. Sua tese de doutorado, “A Generalization of ALGOL”, de 1963, foi orientada por Harry Huskey.[1]

Stanford e o ALGOL W

De 1963 a 1967, Wirth foi professor assistente em Stanford. O grupo de trabalho 2.1 da IFIP lhe pediu um rascunho de sucessor para o ALGOL 60, mas Van Wijngaarden apresentou uma proposta concorrente mais ambiciosa, que se tornou o ALGOL 68.[1]

A proposta de Wirth foi implementada em Stanford com o nome ALGOL W. Para escrever o compilador, ele criou o PL360, uma linguagem próxima do código de máquina.[1]

Niklaus Wirth: ano de cada linguagem

Ano de criação de cada linguagem de Wirth, segundo a lista da Wikipédia.

O ano do Pascal é o da publicação do relatório. O sistema Oberon aparece em outro trecho como de 1987, e o relatório citado do Oberon-07 é de 2016.

Volta à Suíça e o departamento da ETH

Em 1967 voltou à Suíça como professor assistente da Universidade de Zurique e, em 1968, tornou-se professor de ciência da computação na ETH Zurique, de início em conjunto com a universidade. Com Heinz Rutishauser e Peter Läuchli formou um grupo de computação que se separou do Instituto de Matemática Aplicada da ETH.[1]

Duas propostas de curso de graduação em computação fracassaram nos anos 1970; segundo Wirth, a indústria não via necessidade de formados na área. Os primeiros alunos do departamento entraram no outono de 1981, e foi o primeiro departamento novo da ETH desde 1935. Wirth o chefiou de 1982 a 1984 e de 1988 a 1990 e, a partir de 1990, dirigiu o Instituto de Sistemas Computacionais. Aposentou-se em 1999.[1]

Pascal e o p-code

O relatório do Pascal foi publicado em 1970. A partir de 1972, a linguagem foi usada na ETH para ensinar introdução à programação a turmas de cerca de 300 alunos.[1]

Com o compilador em p-code, uma universidade só precisava escrever um pequeno interpretador para a própria máquina. Bertrand Meyer chamou o p-code de “ancestral das máquinas virtuais de hoje” (tradução livre).[1]

O Pascal se tornou uma linguagem muito usada para ensinar programação. Segundo Wirth, compiladores para mainframes custavam US$ 10 mil ou mais, enquanto a Borland vendia o Turbo Pascal inteiro num único disquete por cerca de US$ 50. O Delphi, produto posterior baseado em Pascal, ainda estava à venda quando ele morreu.[1]

Xerox PARC, Lilith e Modula-2

Em 1976 e 1977, Wirth passou um ano sabático no Xerox PARC, onde trabalhou com o Alto. De volta à ETH, construiu com Richard Ohran e alunos a estação de trabalho Lilith, concluída em 1979.[1]

Para a Lilith criou o Modula-2, uma linguagem menor inspirada no Mesa, da Xerox, e o sistema operacional Medos-2, de 1983. Cerca de 20 Liliths foram fabricadas nos EUA para a ETH, a cerca de 20 mil francos suíços cada, e uns 500 exemplares foram feitos no total.[1]

No segundo sabático no PARC, em 1984 e 1985, recebeu o Prêmio Turing. Ele achou o sistema Cedar, da Xerox, desnecessariamente complicado e falou em “inovacionite crônica” (tradução livre).[1]

Oberon e Ceres

Em 1985, Wirth e Jürg Gutknecht começaram a desenvolver o sistema operacional Oberon, que escreveram eles mesmos em cerca de três anos. A linguagem Oberon estendeu o Modula-2 com extensão de tipos, o que permitia um estilo de programação orientado a objetos.[1]

O sistema rodava na Ceres, série de estações de trabalho que a ETH construiu a partir de 1984. Foram feitas cerca de 80 máquinas Ceres-1 e Ceres-2 para a ETH. A Ceres-3, de 1990, criada com Beat Heeb, custava menos de 5 mil francos suíços, e 100 unidades foram feitas para os laboratórios dos alunos.[1]

A partir de 1988, o Oberon foi a linguagem padrão dos cursos da ETH, e a partir de 1989 o sistema foi portado para MS-DOS e outras plataformas. Em 1992, Wirth e Gutknecht publicaram a documentação completa do sistema no livro Project Oberon.[1]

Com Heeb, Wirth também construiu o computador reconfigurável Chamäleon, de 1990, e criou a linguagem de descrição de hardware Lola, de 1991. Projetou ainda o computador de bordo de um helicóptero autônomo de modelismo feito por alunos.[1]

Depois de aposentado, revisou o Project Oberon, projetou seu próprio processador, o RISC5, rodou o sistema numa placa FPGA da Xilinx e liberou tudo como código aberto em 2013.[1]

Livros e artigos

O artigo “Program Development by Stepwise Refinement” saiu na revista CACM em abril de 1971. Seguiram-se Systematic Programming: An Introduction (em alemão em 1972 e em inglês em 1973) e o Pascal User Manual and Report, com Kathleen Jensen, em 1974.[1]

Algorithms + Data Structures = Programs saiu em alemão em 1975 e em inglês em 1976, com edições revistas, chamadas Algorithms & Data Structures, em 1986 e 2004. Uma resenha de 1974 citada pela Wikipédia achou um dos livros trabalhoso de estudar. Em 1995, Wirth publicou o ensaio “A Plea for Lean Software” na revista Computer.[1]

Críticas ao software comercial

Wirth criticava o tamanho e a complexidade do software comercial. Dizia que as linguagens comerciais tinham crescido tanto que ninguém conseguia entendê-las por completo e chamava de bobagem as métricas por linhas de código.[1]

Também disse que suas ideias só foram aceitas na Suíça depois que outros as trouxeram de volta dos EUA. Liam Proven escreveu que a indústria fracassou em aprender com ele.[1]

Prêmios e legado

Wirth recebeu o Prêmio Turing em 1984 por desenvolver uma sequência de linguagens de computação inovadoras. Teve doze doutorados honorários, o primeiro em 1978, de York e da EPFL.[1]

Entre outras honrarias, recebeu o IEEE Emanuel R. Piore Award (1983), o ACM SIGCSE Award (1987), o Prêmio Marcel Benoist (1989), a ordem Pour le Mérite para Ciências e Artes (1995), o ACM SIGSOFT Outstanding Research Award (1999) e o ACM SIGPLAN Programming Languages Achievement Award (2007). Foi associado estrangeiro da Academia Nacional de Engenharia dos EUA (1993), fellow da ACM (1994), membro honorário da Academia Americana de Artes e Ciências (2003) e fellow do Computer History Museum (2004).[1]

Os criadores da linguagem Go citam a família Pascal/Modula/Oberon como influência. Entre seus alunos de doutorado estão Martin Odersky, depois criador do Scala, e Michael Franz. Bertrand Meyer disse que Wirth mostrou que compiladores podiam ser construídos de forma simples e elegante e, depois da morte dele, o incluiu entre poucas pessoas que moldaram a indústria global de hardware e software.[1]

Wirth morreu em Zurique em 1.º de janeiro de 2024, aos 89 anos.[1]

Frases e declarações públicas

“Tão simples quanto possível, mas não mais simples.”

Máxima atribuída a Einstein que, segundo a Wikipédia, guiava o trabalho de Wirth (tradução livre).

Linha do tempo

  1. 1934

    Nasce em Winterthur, em 15 de fevereiro.

  2. 1958

    Forma-se engenheiro eletricista na ETH Zurique.

  3. 1960

    Mestrado na Université Laval, em Quebec.

  4. 1963

    Doutorado em Berkeley; vira professor assistente em Stanford.

  5. 1966

    ALGOL W e PL360.

  6. 1968

    Torna-se professor da ETH Zurique.

  7. 1970

    Publica o relatório do Pascal.

  8. 1976

    Primeiro sabático no Xerox PARC, até 1977.

  9. 1978

    Modula-2.

  10. 1979

    Conclui a estação de trabalho Lilith.

  11. 1981

    Primeiros alunos do departamento de computação da ETH.

  12. 1984

    Recebe o Prêmio Turing; início da série Ceres.

  13. 1988

    Oberon vira a linguagem padrão dos cursos da ETH.

  14. 1992

    Publica Project Oberon, com Jürg Gutknecht.

  15. 1995

    Publica “A Plea for Lean Software”.

  16. 1999

    Aposenta-se.

  17. 2013

    Libera como código aberto o Project Oberon revisto, com o processador RISC5.

  18. 2024

    Morre em Zurique, em 1.º de janeiro.

Empresas ligadas a Niklaus Wirth

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 Niklaus Wirth no grafo 3D

  • Xerox PARC Wirth passou dois sabáticos no PARC (1976–77 e 1984–85), onde trabalhou com o Alto

Sumário de siglas usadas

ETH
Eidgenössische Technische Hochschule, o Instituto Federal de Tecnologia de Zurique.
ALGOL
Família de linguagens de programação algorítmicas, como o ALGOL 60 e o ALGOL 68.
IFIP
International Federation for Information Processing, federação internacional de processamento de informação.
p-code
Código intermediário gerado pelo compilador Pascal e executado por um interpretador.
FPGA
Chip de lógica programável que pode ser configurado para funcionar como outros circuitos.
PARC
Palo Alto Research Center, centro de pesquisa da Xerox.

Perguntas frequentes

Quem foi Niklaus Wirth?+
Um cientista da computação suíço, professor da ETH Zurique, criador do Pascal, do Modula-2 e do Oberon e vencedor do Prêmio Turing de 1984.
Quando o Pascal foi criado?+
O relatório da linguagem foi publicado em 1970, e a partir de 1972 ela foi usada na ETH para ensinar programação.
O que é a lei de Wirth?+
A observação de que o software fica lento mais depressa do que o hardware fica rápido. Wirth a atribuiu a Martin Reiser, mas o adágio ficou conhecido pelo nome dele.
Que computadores Wirth construiu?+
As estações de trabalho Lilith (1979) e Ceres (a partir de 1984), o computador reconfigurável Chamäleon e, depois de aposentado, o processador RISC5.
Quais livros Wirth escreveu?+
Entre seus livros estão Algorithms + Data Structures = Programs, o Pascal User Manual and Report, com Kathleen Jensen, e Project Oberon, com Jürg Gutknecht.
Quando Niklaus Wirth morreu?+
Em 1.º de janeiro de 2024, em Zurique, aos 89 anos.

Referências

Fontes consultadas

  1. Niklaus Wirth · 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

Niklaus Wirth fez carreira mostrando que menos pode ser mais: linguagens pequenas, compiladores simples e computadores projetados do zero. O Pascal se tornou uma linguagem muito usada no ensino, e sua defesa do software enxuto deixou uma marca na computação.