Dossiê · Pioneiros da computação
Edsger Dijkstra: o primeiro programador da Holanda, criador do algoritmo do caminho mais curto
Em 1957, ao se casar, Edsger Dijkstra declarou como profissão “programador”, e as autoridades holandesas não reconheceram o ofício. Cinco anos antes, ele tinha se tornado o primeiro programador oficial do país. O algoritmo que ele bolou em 1956 para uma demonstração de computador ainda hoje calcula rotas em protocolos da internet.
Atualizado em · 1 fontes públicas citadas
Edsger Wybe Dijkstra (1930–2002) foi um cientista da computação, programador, matemático e ensaísta holandês [1]. Ele criou o algoritmo do caminho mais curto que leva seu nome, desenvolveu o primeiro compilador de ALGOL 60 e foi um dos maiores defensores da programação estruturada [1].
Recebeu o Prêmio Turing de 1972 e deixou mais de 1.300 textos, muitos escritos à mão [1]. Este dossiê reúne apenas informações públicas e com fonte, listadas ao final.
Roterdã e Leiden
Dijkstra nasceu em Roterdã em 11 de maio de 1930. O pai era químico e professor de química no ensino médio, e a mãe era matemática [1].
Ele chegou a pensar em direito e em representar os Países Baixos na ONU, mas os pais sugeriram matemática e física [1]. Depois de se formar no Gymnasium Erasmianum em 1948, estudou matemática e física, e depois física teórica, na Universidade de Leiden [1].
O primeiro programador da Holanda
Dijkstra entrou na computação quase por acaso, no início dos anos 1950, quando o orientador Johannes Haantjes o apresentou a Adriaan van Wijngaarden, diretor do Departamento de Computação do Mathematisch Centrum, em Amsterdã, que lhe ofereceu um emprego [1].
Em março de 1952, tornou-se oficialmente o primeiro “programador” dos Países Baixos [1]. Por um tempo, dividia a semana entre a física em Leiden, três dias, e a programação [1]. Mais tarde escreveu que aquilo foi uma virada na vida dele e que terminou o curso de física o mais rápido que pôde [1].
Ele trabalhou no Mathematisch Centrum de 1952 a 1962, com Bram Jan Loopstra e Carel S. Scholten [1]. O método da equipe era escrever primeiro o manual de programação e depois o software para uma máquina que ainda não existia [1]. Dessa experiência ele tirou duas lições: documentação clara importa, e boa parte da depuração pode ser evitada com um projeto cuidadoso [1].
Edsger Dijkstra: idade em cada marco
Idade aproximada em cada marco, calculada a partir da data de nascimento (11 de maio de 1930).
Cálculo nosso a partir das datas da Wikipédia; alguns valores podem variar em um ano.
O algoritmo do caminho mais curto
Em 1956, Dijkstra formulou e resolveu o problema do caminho mais curto para uma demonstração na inauguração oficial do computador ARMAC [1].
Só publicou o resultado em 1959, porque não havia revistas dedicadas à computação automática, no artigo “A Note on Two Problems in Connexion with Graphs” [1]. O algoritmo é muito ensinado e é usado nos protocolos de roteamento OSPF e IS-IS [1].
No mesmo ano de 1959, ele defendeu o doutorado na Universidade de Amsterdã, com a tese “Communication with an Automatic Computer”, sobre a linguagem assembly do Electrologica X1, o primeiro computador comercial desenvolvido nos Países Baixos [1].
Eindhoven, THE e semáforos
Em 1962, Dijkstra se mudou para Eindhoven como professor do Departamento de Matemática da Technische Hogeschool Eindhoven, onde formou um grupo de cientistas da computação [1]. Depois da mudança, passou mais de um ano com bloqueio de escrita, e só então começou a série de textos EWD [1].
No fim dos anos 1960, construiu o sistema operacional THE, um dos primeiros com projeto em camadas, descrito na Communications of the ACM em maio de 1968 [1].
Entre suas contribuições mais importantes está o semáforo, mecanismo para coordenar vários processos, apresentado em “Cooperating Sequential Processes” (1965) [1]. Ele também formulou a autoestabilização, um método de tolerância a falhas em computação distribuída [1].
“Go To Statement Considered Harmful”
Em 1968, Dijkstra enviou à Communications of the ACM a carta “Go To statement considered harmful”, que provocou um grande debate [1].
A programação estruturada, que usa estruturas de controle em vez de saltos como o goto, é hoje seguida pela maioria dos programadores [1]. Em abril de 1970, ele escreveu “Notes on Structured Programming” (EWD249) [1].
Burroughs e o Tuesday Afternoon Club
Em agosto de 1973, Dijkstra virou o único pesquisador-sênior (research fellow) da Burroughs Corporation, trabalhando principalmente do escritório em casa, em Nuenen, e reduziu a universidade a um dia por semana [1].
Às terças-feiras, comandava o “Tuesday Afternoon Club”, seminário que revisava artigos científicos [1]. Nos anos de Burroughs, escreveu quase 500 textos da série EWD [1].
Austin e os manuscritos EWD
Em 1984, aceitou a cátedra Schlumberger Centennial no Departamento de Ciência da Computação da Universidade do Texas em Austin, onde se aposentou em novembro de 1999 [1].
Dijkstra escreveu mais de 1.300 textos, muitos à mão e distribuídos por fotocópia [1]. Quase todos os EWDs depois de 1972 foram manuscritos, raramente passavam de 15 páginas e eram numerados em sequência; o último, de número 1318, é de 14 de abril de 2002 [1].
Prêmios e morte
Em 1972, Dijkstra recebeu o Prêmio Turing por contribuições fundamentais ao desenvolvimento de linguagens de programação estruturada [1]. Também foi eleito para a Academia Real de Ciências dos Países Baixos em 1971 e tornou-se Fellow da ACM em 1994 [1].
Em 2002, recebeu o diagnóstico de câncer, voltou para os Países Baixos e morreu em Nuenen em 6 de agosto daquele ano, aos 72 anos [1]. Pouco antes, tinha recebido o prêmio de artigo influente da conferência PODC, pelo trabalho em autoestabilização; no ano seguinte, o prêmio passou a se chamar Prêmio Dijkstra [1].
Frases e declarações públicas
“Faça apenas o que só você pode fazer.”
“A questão de saber se máquinas podem pensar é tão relevante quanto a de saber se submarinos podem nadar.”
Linha do tempo
-
1930
Nasce em Roterdã
-
1948
Forma-se no Gymnasium Erasmianum e entra em Leiden
-
1952
Torna-se o primeiro programador oficial dos Países Baixos
-
1956
Cria o algoritmo do caminho mais curto para a demonstração do ARMAC
-
1959
Publica o algoritmo e defende o doutorado em Amsterdã
-
1960
Conclui o primeiro compilador ALGOL 60, com Jaap Zonneveld
-
1962
Torna-se professor em Eindhoven
-
1965
Escreve Cooperating Sequential Processes, com os semáforos
-
1968
Publica o sistema THE e a carta contra o goto
-
1972
Recebe o Prêmio Turing
-
1973
Vira pesquisador da Burroughs
-
1984
Vai para a Universidade do Texas em Austin
-
1999
Aposenta-se
-
2002
Morre em Nuenen, aos 72 anos
Empresas ligadas a Edsger Dijkstra
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 Edsger Dijkstra no grafo 3D
Veja também: outras pessoas
- Alan Turing Dá nome ao prêmio que Dijkstra recebeu em 1972
- Donald Knuth Outro vencedor do Prêmio Turing nos anos 1970
Sumário de siglas usadas
- EWD
- Série de textos de Dijkstra, numerados em sequência e identificados pelas iniciais dele.
- ALGOL 60
- Linguagem de programação de 1960, considerada um avanço rumo à programação estruturada.
- Semáforo
- Mecanismo para coordenar o acesso de vários processos a recursos compartilhados.
- OSPF e IS-IS
- Protocolos de roteamento de redes que usam o algoritmo de Dijkstra.
- Goto
- Comando de salto incondicional criticado por Dijkstra em 1968.
Perguntas frequentes
Quem foi Edsger Dijkstra?+
Como surgiu o algoritmo de Dijkstra?+
O que dizia a carta sobre o goto?+
O que são os EWDs?+
Referências
Livros
A Primer of ALGOL 60 Programming (1962)
Livro de Dijkstra sobre a linguagem ALGOL 60.
Sites e Artigos
Fontes consultadas
- Edsger W. Dijkstra · 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
Edsger Dijkstra foi programador quando a profissão nem era reconhecida e ensinou que bons programas nascem de projeto cuidadoso, não de depuração. O algoritmo do caminho mais curto, os semáforos e a defesa da programação estruturada continuam no dia a dia de quem programa, e os mais de 1.300 textos EWD registram o pensamento dele por décadas.