Edsger Dijkstra

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Edsger Wybe Dijkstra
Ciência da computação
Nacionalidade Países Baixos Neerlandês
Nascimento 11 de Maio de 1930
Local Roterdã, Países Baixos
Morte 6 de Agosto de 2002 (72 anos)
Local Nuenen, Países Baixos
Atividade
Campo(s) Ciência da computação
Orientador(es) Adriaan van Wijngaarden
Orientado(s) Nico Habermann, Jan L. A. van de Snepscheut
Conhecido(a) por Algoritmo de Dijkstra
Semáforo
THE
Prêmio(s) Prêmio Turing (1972)

Edsger Wybe Dijkstra (Roterdã, 11 de Maio de 1930Nuenen, 6 de Agosto de 2002; AFI[ˈɛtsxər ˈwibə ˈdɛɪkstra] (Loudspeaker.svg? ouvir)) foi um cientista da computação holandês conhecido por suas contribuições nas áreas de desenvolvimento de algoritmos e programas, de linguagens de programação (pelo qual recebeu o Prêmio Turing de 1972 por suas contribuições fundamentais), sistemas operacionais e processamento distribuído.

A pronúncia aproximada em português para Edsger Dijkstra é étsrrar déikstra[1] .

Entre suas contribuições para a ciência da computação está incluído o algoritmo para o problema do caminho mínimo (também conhecido como algoritmo de Dijkstra), o sistema operacional THE e a construção de semáforos para coordenar múltiplos processadores e programas. Outro conceito desenvolvido pelo cientista foi a auto-estabilização na área de sistemas distribuídos, uma forma alternativa de garantir a confiança de um sistema.

O cientista também foi conhecido por seus ensaios sobre programação, tendo sido o primeiro a alegar que programação é tão inerentemente difícil e complexa que os programadores precisam realizar qualquer abstração possível para gerenciar a complexidade com sucesso.

EWD[editar | editar código-fonte]

Dijkstra tinha como hábito de compor manuscritos com sua caneta-tinteiro, chamados "EWD". Distribuía fotocópias entre os seus colegas, e como as cópias eram redistribuídas, os "EWD" espalharam-se pela comunidade internacional de ciência da computação. Os tópicos mais abordados eram ciência da computação e matemática, mas também incluía relatórios de viagem, cartas e palestras. Mais de 1300 EWD foram digitalizados, e estão disponíveis nos arquivos de Dijsktra na Universidade do Texas[2] .

Vida[editar | editar código-fonte]

Cquote1.svg "Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." Cquote2.svg
Edsger Dijkstra

Nascido em Roterdã, Dijkstra era filho de um pai professor de química para ensino secundário e de uma mãe matemática que não trabalhava[3] . Durante seus últimos anos de ensino secundário, Dijkstra considerou estudar Direito, esperando representar seu país nas Nações Unidas. Entretanto, acabou escolhendo exercer uma profissão de acordo com suas habilidades e não seu idealismo, mudando para o campo da ciência.

Estudou matemática e física nos primeiros anos da Universidade de Leiden para posteriormente dedicar-se somente à física teórica, mas logo percebeu que era mais interessado em ciência da computação. Em 1951, após seu pai tomar conhecimento de um curso de programação de computadores, Dijkstra concluiu que tal habilidade seria importante em suas atribuições como físico teórico, e decidiu assistir às aulas.

Através de contatos acabou tendo um emprego oferecido como programador no Centro de Matemática do Instituto Nacional de Pesquisa em Matemática e Ciência da Computação em Amesterdão, cujo início foi em março de 1952. Tornou-se então oficialmente o primeiro programador nos Países Baixos. Em dado momento ele realizou a escolha entre continuar na física teórica ou passar para a computação, preferindo a segunda. Entretanto, continuou seus estudos de física na Universidade de Leiden como formalidade, até graduar-se em 1956. Logo após mudou-se por definitivo para Amsterdão. Edsger casou-se com Maria em 1957.

Um dos primeiros algoritmos desenvolvidos pelo cientista foi uma solução para o problema do caminho mínimo, também conhecido como algoritmo de Dijkstra. Sua intenção original era demonstrar o poder de processamento do ARMAC em sua inauguração. Apesar de concluído em 1956, foi publicado somente em 1959 por falta de media especializada de divulgação. Até então os algoritmos existentes para a solução possuíam complexidade cúbica em relação à quantidade de nós envolvidos, enquanto o algoritmo de Dijkstra possuía complexidade quadrada, potencialmente menor que os anteriores. Esse algoritmo quanto uma solução para o problema da árvore de extensão mínima foram publicados por Dijkstra juntos[4] . Ainda no Centro de Matemática, trabalhou junto com J. A. Zonneveld no desenvolvimento do primeiro compilador para ALGOL 60, uma linguagem da qual ele era fã. Esse trabalho durou em oito meses, entre dezembro de 1959 e agosto de 1960. Entre as novas funcionalidades da linguagem, uma das que mais o interessavam era a recursividade, que inclusive resultou em um artigo publicado em 1960[5] . Nesse trabalho, Dijkstra introduziu o conceito de pilha na tradução de programas recursivos. No final de 1959 Dijkstra recebeu o grau de doutor.

Dijkstra foi nomeado professor de matemática na Universidade Eindhoven de Tecnologia a partir de 1962. Na época não havia uma departamento separado para ciência da computação. Nessa época ele construiu o sistema operacional THE[6] , introduzindo vários conceitos que serviram de base para a construção de sistemas operacionais posteriores, como camadas de abstração e semáforos para lidar com concorrência de recursos. Esse projeto é considerado como o primeiro sistema operacional concebido a ter processos sequenciais cooperativos, sincronizados explicitamente.

Sua posição contrária ao comando goto em programação de computadores, até então um recurso bastante comum na programação da época, culminou no artigo de 1968 "A Case against the GO TO Statement"[7] . Dijkstra alegava que o artifício era motivo para vários erros de programação. O artigo é considerado como um grande passo para a depreciação do comando em prol de estruturas de controle como o laço de repetição. O título mais famoso para o artigo, "Go To Statement Considered Harmful", não foi um trabalho de Dijkstra mas de Niklaus Wirth, então editor da Communications of the ACM, onde o artigo foi publicado.

Estudos da mesma época realizados pelo cientista relacionavam a produtividade do software ao rigor no desenvolvimento; também apontavam as vantagens na modularização de software, de forma que um componente seja conhecido somente por sua interface e não por sua implementação. O principal interesse de Dijkstra era a verificação formal. A opinião prevalecente na época era que deveria-se escrever um programa e então fornecer uma prova matemática sobre sua natureza correta. Dijkstra percebeu que as provas resultantes eram longas e complexas, e não indicavam como os programas deveriam ser desenvolvidos. Um método alternativo era a derivação de programa. Começa-se com uma especificação do que o programa deve realizar e aplica-se transformações matemáticas na especificação até que ela se torne um programa que pode ser executado. O resultado final e conhecido como um programa correto por construção.

Em 1972 recebeu o Prêmio Turing[8] [9] por suas contribuições com o ALGOL e no campo de linguagens de programação. Dijkstra trabalhou como pesquisador para a Burroughs Corporation a partir de agosto de 1973. Nessa época ele já era conhecido internacionalmente, sendo frequentemente convidado para lecionar em diferentes partes do mundo. Tais visitas à diferentes lugares eram usadas para que ele pudesse entrar em contato outros cientistas da computação, para servir como mentor de jovens cientistas e para aprimorar seus habilidades com a língua inglesa. Durante essa época Dijkstra escreveu o maior número de artigos de pesquisa, escrevendo quase quinhentos documentos da série EWD. Alguns dos conceitos fundamentados pelo cientista durante essa época incluem o deadlock e sistemas com auto-estabilização (na área de sistemas distribuídos), uma forma alternativa de garantir a confiança de um sistema.

Edger assumiu a cadeira de Ciência da Computação na Universidade do Texas em Austin, Estados Unidos, em 1984. Durante esse período ele dedicou-se a servir como mentor para diversos universitários, e definiu conceitos sobre como a ciência da computação deveria ser ensinada. Em 1989 foi publicado um artigo com conclusões de Dijkstra sobre o assunto[10] . Aposentou-se a partir de 2000. Faleceu em Nuenen, Países Baixos, em 6 de agosto de 2002, após longa luta contra o câncer.

Notas e referências

  1. Guia de pronuncia neerlandês
  2. Arquivo online da Universidade do Texas
  3. Edger Dijkstra (29 de novembro de 1993). From my Life (EWD1166) (em inglês) Universidade do Texas. Visitado em 22 de maio de 2007.
  4. O artigo de publicação é:
    Edsger W. Dijkstra. A note on two problems in connection with graphs. [S.l.]: Numerische Mathematik 1, 1959. 83–89 pp.
  5. Edsger W. Dijkstra. Recursive programming. [S.l.]: Numerische Mathematik 2, 1960. 312–318 pp.
  6. Nota: o acrônimo THE diz respeito ao nome da universidade, Technische Hogeschool te Eindhoven.
  7. Edger Dijkstra (Março de 1968). Go To Statement Considered Harmful (EWD215) (em inglês) Communications of the ACM.
  8. A. M. Turing Award: 1972 – E. W. Dijkstra (em inglês) Association for Computing Machinery. Visitado em 23 de maio de 2007.
  9. Edsger W. Dijkstra. The Humble Programmer (texto para o recebimento do Prêmio Turing) (em inglês) Association for Computing Machinery. Visitado em 23 de maio de 2007.
  10. Edsger W. Dijkstra (2 de dezembro de 1988). On the cruelty of really teaching computing science (em inglês) Universidade do Texas. Visitado em 23 de maio de 2007.

Bibliografia[editar | editar código-fonte]

  • Dijkstra, Edsger W.. A Discipline of Programming. Englewood Cliffs, New Jersey, EUA: Prentice Hall, 1976. 217 pp. ISBN 0-13-215871-X.
  • Dijkstra, Edsger W.. Selected Writings on Computing: A Personal Perspective. New York: Springer-Verlag, 1982. 362 pp. ISBN 0-387-90652-5.

Ver também[editar | editar código-fonte]

Outros projetos Wikimedia também contêm material sobre este tema:
Wikiquote Citações no Wikiquote

Ligações externas[editar | editar código-fonte]

Precedido por
John McCarthy
Prêmio Turing
1972
Sucedido por
Charles Bachman
Ícone de esboço Este artigo sobre uma pessoa é um esboço. Você pode ajudar a Wikipédia expandindo-o.