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.”
Linha do tempo
-
1934
Nasce em Winterthur, em 15 de fevereiro.
-
1958
Forma-se engenheiro eletricista na ETH Zurique.
-
1960
Mestrado na Université Laval, em Quebec.
-
1963
Doutorado em Berkeley; vira professor assistente em Stanford.
-
1966
ALGOL W e PL360.
-
1968
Torna-se professor da ETH Zurique.
-
1970
Publica o relatório do Pascal.
-
1976
Primeiro sabático no Xerox PARC, até 1977.
-
1978
Modula-2.
-
1979
Conclui a estação de trabalho Lilith.
-
1981
Primeiros alunos do departamento de computação da ETH.
-
1984
Recebe o Prêmio Turing; início da série Ceres.
-
1988
Oberon vira a linguagem padrão dos cursos da ETH.
-
1992
Publica Project Oberon, com Jürg Gutknecht.
-
1995
Publica “A Plea for Lean Software”.
-
1999
Aposenta-se.
-
2013
Libera como código aberto o Project Oberon revisto, com o processador RISC5.
-
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?+
Quando o Pascal foi criado?+
O que é a lei de Wirth?+
Que computadores Wirth construiu?+
Quais livros Wirth escreveu?+
Quando Niklaus Wirth morreu?+
Referências
Fontes consultadas
- 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.