Arquivo de manuscritos de Edsger W. Dijkstra
(cs.utexas.edu)- Arquivo online que preserva as pesquisas e os escritos de Edsger W. Dijkstra, uma das figuras da geração fundadora da ciência da computação
- Inclui contribuições em áreas centrais como projeto de algoritmos, linguagens de programação, sistemas operacionais, processamento distribuído e verificação formal
- Disponibiliza em PDF mais de 1.000 manuscritos numerados EWD escritos ao longo de cerca de 40 anos, além de transcrições e traduções pesquisáveis
- Organiza de forma sistemática materiais complementares como referências cruzadas entre manuscritos, resumos, informações de direitos autorais e vídeos de palestras e entrevistas
- Uma base de conhecimento que dá continuidade ao pensamento e à filosofia educacional de Dijkstra por meio da série de palestras memoriais e da comunidade de pesquisa relacionada
Vida e realizações de Dijkstra
- Edsger Wybe Dijkstra foi uma das pessoas que estabeleceram os fundamentos da ciência da computação, deixando contribuições fundamentais em diversas áreas, como projeto de algoritmos, linguagens de programação, sistemas operacionais, processamento distribuído, especificação formal e construção de demonstrações matemáticas
- Ao longo de mais de 40 anos de carreira entre a academia e a indústria, recebeu diversos prêmios, incluindo o ACM Turing Award
- Também teve profundo interesse na relação entre educação, ciência da computação acadêmica e a indústria de software
Coleção de manuscritos EWD
- Por mais de 40 anos, Dijkstra trocou correspondência ativamente com colegas cientistas e distribuiu notas técnicas, relatos de viagem e comentários numerados sequencialmente como “EWDs”
- Graças à popularização das fotocopiadoras e ao grande interesse, a circulação informal chegou a milhares de cópias
- Embora a maioria dos manuscritos não tenha sido publicada, o Departamento de Ciência da Computação da University of Texas preserva mais de 1.000 deles permanentemente como documentos bitmap em PDF
- Os manuscritos originais, diários, cartas, fotografias e outros materiais estão guardados no Briscoe Center for American History da University of Texas
Índices e forma de acesso
- São oferecidos dois tipos de índice
- Índice BibTeX: inclui informações bibliográficas
- Índice ad hoc: exibe apenas os títulos, permitindo busca rápida
- Também são fornecidos uma tabela de correspondência entre números EWD e anos de publicação, links para relatórios técnicos do Centrum Wiskunde & Informatica (CWI), teses de doutorado e outros documentos
- Alguns manuscritos foram publicados, e os direitos autorais desses documentos pertencem às editoras
Transcrições e traduções
- Transcrições pesquisáveis para pessoas com deficiência visual estão sendo adicionadas gradualmente
- Alguns manuscritos em neerlandês foram traduzidos para o inglês, o EWD1036 para o espanhol e o EWD28 para o russo
- Mais de 60 voluntários participaram do trabalho de transcrição, e erros de digitação podem ser reportados por e-mail com sugestões de correção
- Devido a questões de precisão nas traduções, no momento não estão sendo recrutados novos colaboradores para recursos de tradução
Conexões entre manuscritos e resumos
- Há uma lista de referências cruzadas entre EWDs elaborada por Diethard Michaelis, que pode ser complementada com a participação dos leitores
- Dijkstra tratava repetidamente dos mesmos temas sob novas perspectivas, e os documentos relacionados são conectados por links “see also”
- Por sugestão de Günter Rote, passou-se a adicionar resumos aos EWDs, com especial interesse em contribuições de resumos em inglês para manuscritos em neerlandês
Direitos autorais
- Os direitos autorais da maioria dos EWDs pertencem aos filhos de Dijkstra, e Rutger M. Dijkstra é responsável pelos pedidos de permissão para republicação
- Nos documentos publicados, os direitos autorais pertencem às respectivas editoras, com lista e informações de capa disponíveis
- Os originais pertencem ao Briscoe Center for American History, e aplicam-se as políticas de autorização de publicação do centro
Materiais em vídeo e áudio
- As gravações de palestras e entrevistas de Dijkstra são oferecidas em uma página separada
Materiais relacionados a Dijkstra e seu trabalho
- Estão disponíveis a entrevista de 1985 de Rogier F. van Vlissingen e suas recordações pessoais, bem como o registro da entrevista de 2001 com Philip L. Frana
- Foram publicados o programa e os vídeos do simpósio “In Pursuit of Simplicity”, realizado em seu aniversário no ano 2000 para marcar sua aposentadoria em 1999
- Após sua morte em 2002, foram realizados diversos artigos em homenagem e eventos memoriais
- Há o texto memorial de Maarten van Emden de 2008 e a publicação, em 2021, de uma coletânea em sua homenagem editada por Krzysztof R. Apt e Tony Hoare
- O blog Dijkstra’s Cry, mantido por Edgar G. Daylight, continua tratando do pensamento e da pesquisa de Dijkstra
- Menciona-se o exemplo apresentado em EWD249, que explica o equilíbrio entre eficiência e economia de memória por meio do “princípio da linha de montagem”
- O Edsger W. Dijkstra Prize in Distributed Computing homenageia suas contribuições fundamentais, como os princípios da concorrência e a pesquisa em autoestabilização
Série de palestras memoriais de Dijkstra
- Desde outubro de 2010, a University of Texas realiza anualmente as Dijkstra Memorial Lectures
Informações do site
- O histórico de alterações mais recente está indicado como uma atualização de 30 de março de 2021
- O site fornece a lista das pessoas que contribuíram para sua construção e um endereço de e-mail para feedback
Sites relacionados
- Discipline in Thought: apresentação de um site que trata de pensamento computacional e metodologia matemática, dando continuidade à tradição de Dijkstra
Data da revisão do original: 12 de janeiro de 2020
1 comentários
Comentários do Hacker News
No contexto de 2025, o texto mais importante é o ensaio de Dijkstra sobre a "tolice da programação em linguagem natural"
On the foolishness of "natural language programming"
Por exemplo,
&&em vez deand,if (A) Bem vez deif A then Bé mais fácil de lerA matemática priorizou a concisão, mas a programação, por dar mais importância à legibilidade, acabou chegando a um equilíbrio melhor
Se o que Dijkstra quis dizer é que “buscar apenas legibilidade é um mau negócio”, então é uma observação correta
E está corretíssimo, de forma muito clara
Isso se aplica especialmente a quem gosta de tipagem dinâmica
É impressionante que Dijkstra já escrevesse nos anos 1980 que “a capacidade de uso da linguagem está caindo à medida que a educação se afasta do treinamento intelectual”
Dizem que, na Holanda, o currículo é avaliado pela taxa de aprovação dos alunos, então, se a taxa cai, a dificuldade também é reduzida
É óbvio onde isso vai parar se for repetido por décadas
Um dos textos que compartilho com frequência é EWD831
Ele explica por que índices de array devem começar em 0 e por que intervalos devem ser definidos como inclui o limite inferior e exclui o superior
Na verdade, há casos em que 1-based é melhor. Por exemplo, em iterações reversas, 1-based parece mais natural
Também dá para defender que offsets sejam 0-based e índices sejam 1-based
Texto relacionado: Again on 0-based vs 1-based indexing
Isso acontecia por causa da arquitetura de registradores de índice por subtração do IBM 704, o que tornava eficientes os arrays em ordem de coluna
Cray, CUDA e bancos de dados modernos orientados a coluna usam princípios parecidos
No fim das contas, do ponto de vista do offset de memória, o Fortran já seguia a regra de Dijkstra
Ainda acho confuso começar capítulos de livro no 0
Endereços de memória começam em 0 por causa das combinações de tensão, não por causa do conceito de ordem
No mundo não existe “século zero” nem “milha zero”, então penso o mesmo sobre capítulos de livro
Por exemplo, se alguém diz “ande três quarteirões”, o ponto de partida é o quarteirão 0
base + 0, começa-se em 0 por causa do cálculo de offsetsPor exemplo, Tensor Analysis on Manifolds, de 1968, tinha um capítulo 0 tratando de teoria dos conjuntos
Assim como na “lei zero da termodinâmica”, também serve para expressar um conceito anterior à ordem já existente
No fim, dizer que começar em 0 “não é natural” é apenas um viés cultural
Gosto muito de ler o texto em que Dijkstra relembra o primeiro projeto de interrupção
EWD1303: The first interrupt
Se você se interessa por pensamento matemático, recomendo EWD717 e EWD765
Ambos mostram processos de resolução de problemas muito interessantes
Em EWD498: How do we tell truths that might hurt?
a frase “programação em linguagem natural está condenada ao fracasso” é marcante
Outra recomendação é EWD1305,
um texto que reúne respostas a perguntas de alunos
Dijkstra critica o fato de que, com a popularidade da internet, estudantes com pouca inclinação científica passaram a migrar para a ciência da computação
E aponta a realidade de que quase não se ensina “como programar bem”
Um dos meus textos favoritos é EWD898: Threats to computer science
E também me impressiona a abertura de EWD899, em que ele critica duramente artigos sobre IA
A frase “ainda bem que não participei daquela conferência” foi especialmente forte
Há algum tempo, coloquei uma citação de Dijkstra no verso do meu cartão de visitas
“Computer Science is no more about computers than astronomy is about telescopes”
Um dia ainda quero reunir todos os textos dele em um eReader para ler durante viagens
No fim, o que lidamos é com código (o telescópio), e a qualidade dele define nossos resultados
Fiz aulas na UT, e Dijkstra fazia os alunos prestarem prova com caneta, não com lápis
Ele achava que, quando não é possível apagar, isso acaba servindo de treino para cometer menos erros