Historia
En el Centro de Cálculo Noruego, un equipo de investigación, liderado por Krinsten Nygaard, tuvo problemas en el desarrollo de simulaciones de sistemas físicos, como el caso de simular el funcionamiento y rendimiento de un motor. Se dieron dos problemas en este punto:
- Los programas eran muy complejos.
- Las modificaciones, al ser una simulación, eran muy frecuentes
La solución que idearon fue diseñar el programa paralelamente al objeto físico. Es decir, si el objeto físico tenía cien componentes, el programa también tendría cien módulos, uno por cada pieza. Partiendo el programa de esta manera, había una total correspondencia entre el sistema físico y el sistema informático. Así, cada pieza física tenía su abstracción informática en un módulo. De la misma manera que los sistemas físicos se comunican enviándose señales, los módulos informáticos se comunicarían enviándose mensajes [1].
Además de resolverse las dificultades anteriores. Se obtuvo otro beneficio: reusabilidad. Cuando se construye un programa, se obtienen piezas para futuros programas.
A partir de esta situación, se desarrolló un lenguaje de programación con algunos conceptos pilares de la Programación Orientada a Objetos. Este se denominó SIMULA 67, y fue presentado en 1967 al público.
Cronología de algunos lenguajes de Programación Orientada a Objetos
- 1960: Simula 67
- 1970: Smalltalk
- 1980: C++
- 1990: JAVA, Ruby, Python
- 2000: C#, PHP 5
- 2010: Go
Referencias
[1] http://www.ati.es/novatica/1995/mar-abr/n114obje.html