A orientação a objetos tem sua origem nos anos 60 na Noruega, com Kristen Nygaard e Ole-Johan Dahl, no Centro Norueguês de Computação. Através da linguagem Simula 67, foram introduzidos os conceitos de classe e herança.
A orientação a objetos foi mais bem conceituada no laboratório da Xerox, em Palo Alto, sendo refinada numa seqüência de protótipos da linguagem Smalltalk. O líder desse projeto foi Alan Curtis Kay, considerado um dos criadores do termo “programação orientada a objetos”.
Alan Kay começou a programar em Simula depois de conhecer um inovador programa chamado Sketchpad. Sketchpad foi um editor gráfico desenvolvido por Ivan Sutherland, no MIT, em 1963. É considerado um marco na informática, sendo o primeiro editor gráfico orientado a objetos. Era possível colocar bits coloridos no canvas, mas também criar objetos que poderiam ser manipulados distintamente uns dos outros. O Sketchpad permitia que fosse definido um “master drawing“, a partir do qual seriam criadas “instance drawing” (herança).
A partir dos conceitos desse sistema, como também dos seus conhecimentos em Biologia e Matemática, Alan Kay formulou sua analogia “algébrico-biológica”. Ele lançou o postulado de que o computador ideal deveria funcionar como um organismo vivo, isto é, cada “célula” comportar-se-ia relacionando-se com outras células a fim de alcançar um objetivo, entretanto, funcionando de forma autônoma. As células poderiam também reagrupar-se para resolver outros problemas ou desempenhar outras funções, trocando mensagens “químicas” entre elas.
No outono de 1968, Kay teve o seu primeiro encontro com Seymour Papert, no Laboratório de Inteligência Artificial do MIT, e ficou interessado na linguagem Logo. Toda a concepção de Kay sobre o papel do computador na sociedade foi alterada quando ele viu Papert e seus colegas ensinando crianças a programar em Logo. Logo é uma linguagem de programação interpretada, voltada principalmente para crianças e aprendizes em programação. O Logo implementa a filosofia construtivista.
Alan Kay também observou que o conceito de objetos tinha enorme potencial como uma ferramenta cognitiva: havia uma boa correspondência com a maneira de pensar das pessoas sobre o mundo. Ele percebeu que um substantivo isolado faz aparecer uma imagem concreta na mente das pessoas e um verbo isolado não tem esse efeito. Verbos são propriedades dos substantivos: Garotos correm; cachorro corre; água corre; trem corre. Na orientação a objetos chamamos isso de polimorfismo.
Então, Alan Kay pensou em como construir um sistema de software a partir de agentes autônomos que interagissem entre si, estabelecendo os seguintes princípios da orientação a objetos:
- Qualquer coisa é um objeto.
- Objetos realizam tarefas através da requisição de serviços.
- Cada objeto pertence a uma determinada classe.
- Uma classe agrupa objetos similares.
- Um classe possui comportamentos associados ao objeto.
- Classes são organizadas em hierarquias.
Portando, depois de reunir conceitos de diversas áreas do conhecimento e com base em sua experiência como pesquisador, Alan Kay criou o paradigma de análise e programação mais eficiente da atualidade. Conhecer a origem da orientação a objetos ajuda a compreender como utilizá-la no desenvolvimento de projetos de software.
Muito bem escrito o post, seria legal ver no blog de vcs mais posts sobre Orientação a Objetos. Dando continuidade a esta introdução.
Obrigado.
[...] o blog da Webgoal, a orientação a objetos tem sua origem nos anos 60 na Noruega, com Kristen Nygaard e Ole-Johan [...]