Edsger W. Dijkstra
Edsger Wybe Dijkstra (DYKE-strə; Holandês:[em inglês] (Ouça.); 11 de maio de 1930 - 6 de agosto de 2002) foi um cientista da computação, programador, engenheiro de software, cientista de sistemas e ensaísta de ciência holandesa. Ele recebeu o Prêmio Turing de 1972 por contribuições fundamentais para o desenvolvimento de linguagens de programação estruturadas, e foi o presidente centenário Schlumberger de Ciências da Computação da Universidade do Texas em Austin de 1984 até 2000.
Pouco antes de sua morte em 2002, ele recebeu o ACM PODC Influential Paper Award em computação distribuída por seu trabalho na auto-estabilização da computação de programas. Este prêmio anual foi rebatizado de Prêmio Dijkstra no ano seguinte, em sua homenagem.
Biografia
Primeiros anos
Edsger W. Dijkstra nasceu em Rotterdam. Seu pai era um químico que era presidente da Dutch Chemical Society; ele ensinou química em uma escola secundária e mais tarde foi seu superintendente. Sua mãe era matemática, mas nunca teve um emprego formal.
Dijkstra havia considerado uma carreira jurídica e esperava representar a Holanda nas Nações Unidas. No entanto, depois de se formar na escola em 1948, na casa de seus pais. sugestão de que ele estudou matemática e física e depois física teórica na Universidade de Leiden.
No início dos anos 1950, os computadores eletrônicos eram uma novidade. Dijkstra tropeçou em sua carreira por acidente e, por meio de seu supervisor, o professor Johannes Haantjes
, ele conheceu Adriaan van Wijngaarden, diretor do Departamento de Computação do Centro de Matemática de Amsterdã, que ofereceu um emprego a Dijkstra; ele se tornou oficialmente a Holanda' primeiro "programador" em março de 1952.Por algum tempo, Dijkstra permaneceu comprometido com a física, trabalhando nela em Leiden três dias por semana. Com o aumento da exposição à computação, no entanto, seu foco começou a mudar. Como ele lembrou:
Depois de ter programado por cerca de três anos, tive uma discussão com A. van Wijngaarden, que era então meu chefe no Centro Matemático de Amesterdão, uma discussão para a qual permanecerei grato a ele enquanto vivo. O ponto era que eu era suposto estudar física teórica na Universidade de Leiden simultaneamente, e como eu encontrei as duas atividades mais difíceis e mais difíceis de combinar, eu tinha que inventar minha mente, para parar de programação e se tornar um físico teórico real, respeitável, ou para levar meu estudo da física para uma conclusão formal apenas, com um mínimo de esforço, e para se tornar...., sim o quê? Um programador? Mas foi uma profissão respeitável? Afinal, o que era programação? Onde estava o corpo sonoro do conhecimento que poderia apoiá-lo como uma disciplina intelectualmente respeitável? Lembro-me muito vividamente de como invejei meus colegas de hardware, que, quando perguntado sobre sua competência profissional, poderia pelo menos apontar que eles sabiam tudo sobre tubos de vácuo, amplificadores e o resto, enquanto eu senti que, quando confrontado com essa pergunta, eu ficaria de mãos vazias. Cheio de delitos eu bati na porta do escritório de Van Wijngaarden, perguntando-lhe se eu poderia "falar para ele por um momento"; quando eu saí de seu escritório várias horas depois, eu era outra pessoa. Porque depois de ter ouvido os meus problemas pacientemente, ele concordou que até aquele momento não havia muita disciplina de programação, mas então ele passou a explicar calmamente que os computadores automáticos estavam aqui para ficar, que estávamos apenas no início e não poderia ser uma das pessoas chamadas para fazer a programação uma disciplina respeitável nos anos vindouros? Este foi um ponto de viragem na minha vida e eu completei meu estudo de física formalmente o mais rápido possível.
—Edsger Dijkstra, Programador de Humble (EWD340), Comunicações da ACM
Quando Dijkstra se casou com Maria (Ria) C. Debets em 1957, ele foi obrigado como parte dos ritos do casamento a declarar sua profissão. Ele afirmou que era programador, o que era inaceitável para as autoridades, visto que essa profissão não existia na época na Holanda.
Em 1959, ele recebeu seu PhD da Universidade de Amsterdã com uma tese intitulada 'Communication with an Automatic Computer', dedicada à descrição da linguagem assembly projetada para o primeiro computador comercial desenvolvido na Holanda, o Electrologica X1. Seu orientador de tese foi Van Wijngaarden.
Mathematisch Centrum, Amsterdã
De 1952 a 1962, Dijkstra trabalhou no Mathematisch Centrum em Amsterdã, onde trabalhou em estreita colaboração com Bram Jan Loopstra e Carel S. Scholten, que haviam sido contratados para construir um computador. Seu modo de interação era disciplinado: eles primeiro decidiam sobre a interface entre o hardware e o software, escrevendo um manual de programação. Então os projetistas de hardware teriam de ser fiéis à sua parte do contrato, enquanto Dijkstra, o programador, escreveria o software para a máquina inexistente. Duas das lições que ele aprendeu com essa experiência foram a importância de uma documentação clara e que a depuração do programa pode ser amplamente evitada por meio de um design cuidadoso. Dijkstra formulou e resolveu o problema do caminho mais curto para uma demonstração na inauguração oficial do computador ARMAC em 1956. Devido à ausência de periódicos dedicados à computação automática, ele não publicou o resultado até 1959.
No Centro de Matemática, Dijkstra e seu colega Jaap Zonneveld
desenvolveram o primeiro compilador para a linguagem de programação ALGOL 60 em agosto de 1960, mais de um ano antes de um compilador ser produzido por outro grupo. ALGOL 60 é conhecido como um avanço chave no surgimento da programação estruturada.Universidade de Tecnologia de Eindhoven
Em 1962, Dijkstra mudou-se para Eindhoven, e mais tarde para Nuenen, no sul da Holanda, onde se tornou professor no Departamento de Matemática da Eindhoven University of Technology. A universidade não tinha um departamento separado de ciência da computação e a cultura do departamento de matemática não combinava muito com ele. Dijkstra tentou formar um grupo de cientistas da computação que pudessem colaborar na solução de problemas. Este era um modelo incomum de pesquisa para o Departamento de Matemática. No final dos anos 1960, ele construiu o sistema operacional THE (nomeado para a universidade, então conhecido como Technische Hogeschool Eindhoven), que influenciou os projetos de sistemas operacionais subsequentes por meio do uso de memória virtual paginada baseada em software.
Burroughs Corporation
Dijkstra ingressou na Burroughs Corporation, uma empresa conhecida na época por produzir computadores baseados em uma arquitetura de hardware inovadora, como seu pesquisador em agosto de 1973. Suas funções consistiam em visitar alguns dos centros de pesquisa da empresa algumas vezes por ano e realizando sua própria pesquisa, que ele fez no menor centro de pesquisa de Burroughs, ou seja, seu escritório no segundo andar de sua casa em Nuenen. Na verdade, Dijkstra era o único pesquisador da Burroughs e trabalhava para ela em casa, ocasionalmente viajando para suas filiais nos Estados Unidos. Como resultado, ele reduziu sua nomeação na universidade para um dia por semana. Aquele dia, terça-feira, logo ficou conhecido como o dia do famoso 'Tuesday Afternoon Club', seminário em que discutia com seus colegas artigos científicos, observando todos os aspectos: notação, organização, apresentação, linguagem, conteúdo, etc. Pouco depois de se mudar em 1984 para a Universidade do Texas em Austin (EUA), uma nova 'filial' do Tuesday Afternoon Club surgiu em Austin, Texas.
Os anos de Burroughs o viram ser mais prolífico na produção de artigos de pesquisa. Ele escreveu cerca de 500 documentos na série EWD (descrita abaixo), a maioria deles relatórios técnicos, para circulação privada dentro de um grupo seleto.
Universidade do Texas em Austin
Dijkstra aceitou a Schlumberger Centennial Chair no Departamento de Ciência da Computação da Universidade do Texas em Austin em 1984.
Últimos anos
Dijkstra trabalhou em Austin até se aposentar em novembro de 1999. Para marcar a ocasião e comemorar seus mais de quarenta anos de contribuições seminais à ciência da computação, o Departamento de Ciências da Computação organizou um simpósio, que aconteceu em seu 70º aniversário em Maio de 2000.
Dijkstra e sua esposa voltaram de Austin para sua casa original em Nuenen (Holanda), onde ele descobriu que tinha apenas alguns meses de vida. Ele disse que queria se aposentar em Austin, Texas, mas morrer na Holanda. Dijkstra morreu em 6 de agosto de 2002 após uma longa luta contra o câncer. Ele e sua esposa Maria (Ria) Debets deixaram três filhos: Marcus, Femke e o cientista da computação Rutger M. Dijkstra.
Legado
Dijkstra ganhou o prêmio Turing em 1972 por sua defesa da programação estruturada, um paradigma de programação que faz uso de fluxo de controle estruturado em oposição a saltos não estruturados para diferentes seções em um programa usando instruções Goto. Sua carta de 1968 para o editor de Communications of ACM, "Go To declaração considerada prejudicial", causou um grande debate. Os programadores modernos geralmente aderem ao paradigma da programação estruturada.
Entre suas contribuições mais famosas para a ciência da computação está o algoritmo de caminho mais curto, conhecido como algoritmo de Dijkstra, amplamente ensinado em cursos modernos de graduação em ciência da computação. Suas outras contribuições incluíram o algoritmo do pátio de manobras; o sistema de multiprogramação, um importante exemplo inicial de estruturação de um sistema como um conjunto de camadas; o algoritmo do banqueiro; e a construção do semáforo para coordenar múltiplos processadores e programas. Outro conceito formulado por Dijkstra no campo da computação distribuída é o de auto-estabilização – uma forma alternativa de garantir a confiabilidade do sistema. O algoritmo de Dijkstra é usado no SPF, Shortest Path First, que é usado nos protocolos de roteamento OSPF e IS-IS.
Personalidade e estilo de trabalho
Você dificilmente pode culpar M.I.T. por não tomar conhecimento de um cientista da computação obscuro em uma pequena cidade na Holanda.
—Dijkstra, disse sobre si mesmo em Nuenen, em meados da década de 1960.
No mundo da ciência da computação, Dijkstra é conhecido como um "personagem". No prefácio de seu livro A Discipline of Programming (1976), ele afirmou o seguinte: "Pela ausência de uma bibliografia, não ofereço nenhuma explicação ou pedido de desculpas." Na verdade, a maioria de seus artigos e livros não tem nenhuma referência. Esta abordagem de referências foi deplorada por alguns pesquisadores. Mas Dijkstra escolheu essa forma de trabalhar para preservar sua autossuficiência.
Como professor universitário durante grande parte de sua vida, Dijkstra via o ensino não apenas como uma atividade obrigatória, mas como um sério esforço de pesquisa. Sua abordagem de ensino não era convencional. Seu estilo de palestra foi descrito como idiossincrático. Ao dar palestras, as longas pausas entre as frases costumam ser atribuídas ao fato de o inglês não ser a primeira língua de Dijkstra. No entanto, as pausas também serviam como uma forma de ele pensar por conta própria e ele era considerado um pensador rápido e profundo enquanto se dedicava ao ato de palestrar. Seus cursos para estudantes em Austin tinham pouco a ver com ciência da computação, mas tratavam da apresentação de provas matemáticas. No início de cada semestre ele tirava uma foto de cada um dos alunos, para memorizar seus nomes. Ele nunca seguiu um livro didático, com a possível exceção do seu próprio enquanto estava sendo preparado. Ao dar palestras, ele escrevia provas com giz em um quadro-negro, em vez de usar folhas de papel alumínio. Ele convidou os alunos a sugerir ideias, que ele então explorou, ou se recusou a explorar porque violavam alguns de seus princípios. Ele atribuiu problemas de lição de casa desafiadores e estudaria as habilidades de seus alunos. minuciosamente as soluções. Ele conduziu seus exames finais oralmente, durante uma semana inteira. Cada aluno foi examinado no escritório ou em casa de Dijkstra, e o exame durou várias horas.
Dijkstra também foi muito original em sua maneira de avaliar a capacidade das pessoas para um trabalho. Quando Vladimir Lifschitz veio a Austin em 1990 para uma entrevista de emprego, Dijkstra deu a ele um quebra-cabeça. Lifschitz resolveu o problema e trabalha em Austin desde então.
Ele evitou o uso de computadores em seu próprio trabalho por muitas décadas. Mesmo depois de sucumbir aos ataques de seus colegas da UT. incentivo e adquiriu um computador Macintosh, ele o usava apenas para e-mail e para navegar na World Wide Web. Dijkstra nunca escreveu seus artigos usando um computador. Ele preferiu contar com sua máquina de escrever e depois com sua caneta Montblanc. O instrumento de escrita favorito de Dijkstra era a caneta-tinteiro Montblanc Meisterstück.
Ele não gostava de processadores de texto, acreditando que alguém deveria ser capaz de escrever uma carta ou artigo sem rascunhos, reescrita ou qualquer edição significativa. Ele resolveria tudo em sua cabeça antes de colocar a caneta no papel e uma vez mencionou que, quando era estudante de física, resolveria seus problemas de lição de casa em sua cabeça enquanto caminhava pelas ruas de Leiden. A maioria das publicações de Dijkstra foi escrita apenas por ele. Ele nunca teve secretária e cuidava de toda a sua correspondência sozinho. Quando os colegas prepararam um Festschrift para seu sexagésimo aniversário, publicado pela Springer-Verlag, ele se deu ao trabalho de agradecer a cada um dos 61 colaboradores separadamente, em uma carta manuscrita.
Ao longo da carreira de Dijkstra, seu trabalho foi caracterizado pela elegância e economia. Escritor prolífico (especialmente como ensaísta), Dijkstra escreveu mais de 1.300 artigos, muitos escritos à mão em sua caligrafia precisa. Eram ensaios e parábolas; contos de fadas e avisos; explicação abrangente e pretexto pedagógico. A maioria era sobre matemática e ciência da computação; outros foram relatos de viagem mais reveladores sobre seu autor do que sobre as pessoas e lugares visitados. Era seu hábito copiar cada artigo e distribuí-lo a um pequeno grupo de colegas que copiavam e encaminhavam os artigos a outro grupo limitado de cientistas. Seu interesse pela simplicidade surgiu desde cedo e sob a orientação de sua mãe. Certa vez, ele disse que perguntou à mãe se a trigonometria era um assunto difícil. Ela respondeu que ele deveria aprender todas as fórmulas e que, além disso, se ele precisasse de mais de cinco linhas para provar alguma coisa, estaria no caminho errado.
Dijkstra era famoso por sua sagacidade, eloqüência, grosseria, brusquidão e muitas vezes crueldade com colegas profissionais, e jeito com as palavras, como em sua observação, "A questão de saber se as máquinas podem pensar (...) relevante quanto a questão de saber se os submarinos podem nadar." Seu conselho a um pesquisador promissor, que perguntou como selecionar um tema para pesquisa, foi a frase: "Faça apenas o que só você pode fazer". Dijkstra também era conhecido por suas críticas vocais e ausência de habilidades sociais ao interagir com os colegas. Como um visionário franco e crítico, ele se opôs fortemente ao ensino do BASIC.
Em muitos de seus ensaios mais espirituosos, Dijkstra descreveu uma empresa fictícia da qual atuou como presidente. A empresa chamava-se Mathematics, Inc., uma empresa que ele imaginava ter comercializado a produção de teoremas matemáticos da mesma forma que as empresas de software haviam comercializado a produção de programas de computador. Ele inventou uma série de atividades e desafios da Mathematics Inc. e os documentou em vários artigos da série EWD. A empresa imaginária produziu uma prova da hipótese de Riemann, mas depois teve grandes dificuldades em coletar royalties de matemáticos que provaram resultados assumindo a hipótese de Riemann. A prova em si era um segredo comercial. Muitas das provas da empresa foram lançadas às pressas e, em seguida, muito do esforço da empresa teve que ser gasto em manutenção. Um esforço mais bem-sucedido foi a Prova Padrão para Pitágoras. Teorema, que substituiu as mais de 100 provas incompatíveis existentes. Dijkstra descreveu a Mathematics Inc. como "o negócio mais empolgante e miserável já concebido". EWD 443 (1974) descreve sua empresa fictícia como tendo mais de 75% da participação no mercado mundial.
Sobre a natureza da ciência da computação e da programação de computadores
Em The Humble Programmer (1972), Dijkstra escreveu: "Não devemos esquecer que não é nosso negócio [cientistas da computação'] fazer programas, é nosso negócio para projetar classes de cálculos que exibirão um comportamento desejado."
Dijkstra também se opôs à inclusão da engenharia de software sob a égide da ciência da computação acadêmica. Ele escreveu que, "Como a economia é conhecida como "A Ciência Miserável", a engenharia de software deveria ser conhecida como "A Disciplina Condenada", condenada porque não pode nem mesmo se aproximar de seu objetivo desde seu objetivo é autocontraditório." E "a engenharia de software aceitou como sua carta 'Como programar se você não puder'"
Manuscritos EWD
Dijkstra era conhecido por seu hábito de compor manuscritos cuidadosamente com sua caneta-tinteiro. Os manuscritos são chamados de EWDs, pois Dijkstra os numerou com EWD, suas iniciais, como prefixo. De acordo com o próprio Dijkstra, os EWDs começaram quando ele se mudou do Mathematical Center em Amsterdã para a Eindhoven University of Technology (então Technische Hogeschool Eindhoven). Depois de ir para Eindhoven, Dijkstra experimentou um bloqueio de escritor por mais de um ano. Ele distribuiu fotocópias de um novo EWD entre seus colegas. Muitos destinatários fotocopiaram e encaminharam suas cópias, de modo que os EWDs se espalharam por toda a comunidade internacional de ciência da computação. Os tópicos eram ciência da computação e matemática, e incluíam relatórios de viagens, cartas e discursos. Esses artigos curtos abrangem um período de 40 anos. Quase todos os EWDs que apareceram depois de 1972 foram escritos à mão. Eles raramente têm mais de 15 páginas e são numerados consecutivamente. O último, nº 1318, é de 14 de abril de 2002. Dentro da informática eles são conhecidos como relatórios EWD, ou simplesmente EWDs. Mais de 1300 EWDs foram escaneados, com um número crescente transcrito para facilitar a busca, e estão disponíveis online no arquivo Dijkstra da Universidade do Texas.
Vida pessoal e morte
Dijkstra levava um estilo de vida modesto, a ponto de ser espartano. A casa dele e de sua esposa em Nuenen era simples, pequena e despretensiosa. Ele não possuía televisão, reprodutor de vídeo ou telefone celular e não ia ao cinema. Ele tocava piano e, enquanto estava em Austin, gostava de ir a shows. Um ouvinte entusiasta de música clássica, o compositor favorito de Dijkstra era Mozart.
Dijkstra morreu em 6 de agosto de 2002. De acordo com funcionários da Universidade do Texas, a causa da morte foi câncer.
Prêmios e homenagens
Entre os prêmios e homenagens de Dijkstra estão:
- Membro da Academia Real de Artes e Ciências da Holanda (1971)
- Ilustre Fellow da British Computer Society (1971)
- The Association for Computing Machinery's A.M. Turing Award (1972)
- Harry H. Goode Memorial Prêmio da IEEE Computer Society (1974).
- Membro honorário estrangeiro da Academia Americana de Artes e Ciências (1975)
- Doutor em Ciências Honoris Causa da Universidade da Rainha Belfast (1976)
- Informática Pioneira Carta Destinatário da IEEE Computer Society (1982)
- ACM/SIGCSE Prêmio de Melhor Contribuição à Educação em Ciência da Computação (1989)
- Membro da Associação de Máquinas de Computação (1994)
- Doutorado honorário da Universidade de Economia e Negócios de Atenas, Grécia (2001).
Em 1969, a British Computer Society (BCS) recebeu aprovação para um prêmio e uma bolsa de estudos, Distinguished Fellow of the British Computer Society (DFBCS), a ser concedido de acordo com o estatuto 7 de sua carta real. Em 1971, foi feita a primeira eleição, para Dijkstra.
Em 1990, por ocasião do aniversário de 60 anos de Dijkstra, o Departamento de Ciência da Computação (UTCS) da Universidade do Texas em Austin organizou um seminário de dois dias em sua homenagem. Os palestrantes vieram de todos os Estados Unidos e Europa, e um grupo de cientistas da computação contribuiu com artigos de pesquisa que foram editados em um livro.
Em 2002, a Fundação C&C do Japão reconheceu Dijkstra "por suas contribuições pioneiras para o estabelecimento da base científica para software de computador por meio de pesquisa criativa em teoria básica de software, teoria de algoritmos, programação estruturada e semáforos. " Dijkstra estava vivo para receber a notificação do prêmio, mas foi aceito por sua família em uma cerimônia de premiação após sua morte.
Pouco antes de sua morte em 2002, Dijkstra recebeu o ACM PODC Influential-Paper Award em computação distribuída por seu trabalho na auto-estabilização da computação de programas. Este prêmio anual foi renomeado como Prêmio Dijkstra (Prêmio Edsger W. Dijkstra em Computação Distribuída) no ano seguinte, em sua homenagem.
O Prêmio Dijkstra de Desempenho Acadêmico Extraordinário em Ciência da Computação (Loyola University Chicago, Departamento de Ciência da Computação) é nomeado para Edsger W. Dijkstra. A partir de 2005, este prêmio reconhece o melhor desempenho acadêmico de um graduando em ciência da computação. A seleção é baseada no GPA em todos os cursos principais e na eleição pelo corpo docente do departamento.
O Departamento de Ciência da Computação (UTCS) da Universidade do Texas em Austin sediou a palestra inaugural Edsger W. Dijkstra Memorial em 12 de outubro de 2010. Tony Hoare, professor emérito em Oxford e pesquisador principal da Microsoft Research, foi o orador da o evento. Esta série de palestras foi possível graças a uma generosa doação da Schlumberger para homenagear a memória de Dijkstra.
Publicações selecionadas
- Livros
Contenido relacionado
Protocolo de Configuração de Host Dinâmico
Matriz (estrutura de dados)
Foda-se