Ole-Johan Dahl
Conhecido(a) porSimula, programação orientada a objeto
Nascimento
Morte
29 de junho de 2002 (70 anos)

NacionalidadeNorueguês
PrêmiosPrêmio Turing (2001), Medalha John von Neumann IEEE (2002)
Carreira científica
InstituiçõesCentro Norueguês de Computação, Universidade de Oslo
Campo(s)Ciência da computação

Ole-Johan Dahl (Mandal, 12 de outubro de 1931Oslo, 29 de junho de 2002) foi um informático norueguês. Foi laureado com o Prêmio Turing de 2001.

Carreira

editar

Dahl nasceu em Mandal, Noruega. Ele era filho de Finn Dahl (1898–1962) e Ingrid Othilie Kathinka Pedersen (1905–80). Quando ele tinha sete anos, sua família mudou-se para Drammen. Quando ele tinha treze anos, toda a família fugiu para a Suécia durante a ocupação alemã da Noruega na Segunda Guerra Mundial. Após o fim da guerra, Dahl estudou matemática numérica na Universidade de Oslo.[1]

Dahl tornou-se professor titular na Universidade de Oslo em 1968 e era um professor talentoso, bem como pesquisador. Aqui ele trabalhou em Estruturas de Programas Hierárquicos, provavelmente sua publicação mais influente, que apareceu em coautoria com C.A.R. Hoare no influente livro Structured Programming de 1972 de Dahl, Edsger Dijkstra e Hoare, talvez o livro acadêmico mais conhecido sobre software na década de 1970. À medida que sua carreira avançava, Dahl se interessou cada vez mais pelo uso de métodos formais, para raciocinar rigorosamente sobre orientação a objetos, por exemplo. Sua experiência variou desde a aplicação prática de ideias até sua base matemática formal para garantir a validade da abordagem.[1]

Dahl é amplamente aceito como o principal cientista da computação da Noruega. Com Kristen Nygaard, ele produziu as ideias iniciais para programação orientada a objetos (OO) na década de 1960 no Centro Norueguês de Computação (Norsk Regnesentral (NR)) como parte das linguagens de programação de simulação Simula I (1961–1965) e Simula 67 (1965–1968), que começaram como uma variante estendida e superconjunto do ALGOL 60.[2] Dahl e Nygaard foram os primeiros a desenvolver os conceitos de classe, subclasse (permitindo ocultação implícita de informações), herança, criação de objetos dinâmicos, etc., todos aspectos importantes do paradigma OO. Um objeto é um componente independente (com uma estrutura de dados e procedimentos ou métodos associados) em um sistema de software. Estes são combinados para formar um sistema completo. A abordagem orientada a objetos agora é difundida no desenvolvimento de software moderno, incluindo linguagens de programação imperativas amplamente utilizadas, como C++ e Java.

Ele recebeu o Prêmio Turing por seu trabalho em 2001 (com Kristen Nygaard). Ele recebeu a Medalha John von Neumann do Institute of Electrical and Electronics Engineers (IEEE) de 2002 (com Kristen Nygaard)[3] e foi nomeado Comandante da Real Ordem Norueguesa de Santo Olavo em 2000.[4]

A Association Internationale pour les Technologies Objets nomeou o Prêmio Dahl-Nygaard em homenagem a Dahl.[5]

Primeiros artigos

editar

Ver também

editar

Referências

  1. a b «Tribute to Ole-Johan Dahl». University of Oslo. 2002. Consultado em 14 de novembro de 2020 
  2. Dahl, Ole-Johan; Myhrhaug, Bjørn; Nygaard, Kristen (1970). Common Base Language (Relatório). Norwegian Computing Center. p. 1.3.1. Consultado em 14 de novembro de 2020. Cópia arquivada (PDF) em 25 de dezembro de 2013 
  3. «Recipients IEEE John von Neumann Medal». Institute of Electrical and Electronics Engineers (IEEE). Cópia arquivada em 20 de julho de 2006 
  4. Black, Andrew P. (2001). «Ole-Johan Dahl». ACM Awards. Association for Computing Machinery. Consultado em 14 de novembro de 2020 
  5. «Dahl-Nygaard Prize». Consultado em 7 de dezembro de 2022 

Ligações externas

editar


Precedido por
Andrew Chi-Chih Yao
Prêmio Turing
2001
com Kristen Nygaard
Sucedido por
Ron Rivest, Adi Shamir e Leonard Adleman
Precedido por
Butler Lampson
Medalha John von Neumann IEEE
2002
com Kristen Nygaard
Sucedido por
Alfred Aho


📚 Artikel Terkait di Wikipedia

Java (linguagem de programação)

low level API for 3D graphics programming, using OpenGL) JSML (Java Speech API Markup Language) JXTA (open source-based peer-to-peer infrastructure) MARF

Programação por contrato

Project home dlib C++ Library Java Programming by Contract Class Utility C2 Wiki: Design by Contract Damian Conway's Class::Contract Perl module from CPAN

Programação funcional

D Programming Language 2.0». Digital Mars. 30 de dezembro de 2012  «Lua Unofficial FAQ (uFAQ)»  «First-Class Functions in Go - The Go Programming Language»

Rust (linguagem de programação)

*set_count.write() -= 1; view! { <div class="flex h-screen flex-col items-center justify-center gap-2"> <span class="font-sans text-lg"> {move || match

Aprendizagem por reforço

«Integrated Architectures for Learning, Planning and Reacting based on Dynamic Programming». Machine Learning: Proceedings of the Seventh International

Arvind Mithal

of Haskell: being lazy with class». HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages. San Diego, California:

PyTorch

Import the nn sub-module from PyTorch class NeuralNetwork(nn.Module): # Neural networks are defined as classes def __init__(self): # Layers and variables

História dos ambientes virtuais de aprendizagem

Consultado em 27 de outubro de 2008  Fundamentals of PLATO Programming, Celia R. Davis, Computer-based Education Research Laboratory, University of Illinois