Historia
La programación orientada a objetos (POO) nace en los años 60's en el Norwegian Computing Center con
la implementación de dos lenguajes de programacion de simulacion: Simula 1 y Simula 67, desarrollados
por Kristen Nygaard y Ole Johan Dahl. Simula 67 introdujo por primera vez los conceptos de clases, objetos,
herencia, subclases, corrutinas y funciones virtuales. Es por esta razón que Simula es considerado el primer
lenguaje orientado a objetos.
Programa "Hola Mundo" en Simula 67:
El mensaje está codificado en el bloque de código de la clase Saludos.
Este bloque de código se ejecuta solamente cuando existe una instancia o variable de tipo Saludos,
lo que ocurre efectivamente al crear una instancia por medio de la instrucción New.
En Simula, los objetos siempre son manejados por medio de referencias.
Existe un recolector de basura que se encarga de eliminar de la memoria los objetos que se han quedado sin referencias a ellos.
Una de estas referencias la vemos con variable objeto.
Utilizamos el operador :- para asignar referencias. A diferencia de muchos lenguajes modernos,
Simula entiende de dos tipos de objetos:
Activos: Son aquellos objetos que aún no han completado su bloque asociado begin/end.
Inactivos: Son aquellos que han completado su bloque de instrucciones.
Tanto de unos como de otros, es posible ejecutar los procedimientos miembro y consultar los atributos en cualquier momento.