Historia de la poo

Solo disponible en BuenasTareas
  • Páginas : 11 (2733 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de febrero de 2012
Leer documento completo
Vista previa del texto
La programación orientada a objetos
Ricardo Peña Marí
Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid

Master en formación de profesorado de Secundaria – Informática curso 2009-2010

R. Peña (SIC-UCM)

Programación orientada a objetos

Master Secundaria 09-10

1 / 16

Lecturas recomendadas

• “De Euclides a Java: Historia de los algoritmos yde los lenguajes de programación”. Ricardo Peña. Cap. 8. Ed. Nivola (Colección Ciencia Abierta), 2006. • “A brief history of computing”, Gerard Regan, Cap. 3, Springer 2008.

R. Peña (SIC-UCM)

Programación orientada a objetos

Master Secundaria 09-10

2 / 16

Simula 67
• Se trata de un lenguaje de la década de los 60 que incorporó por primera vez las ideas de lo que hoy se conoce comola programación orientada a objetos (en adelante, POO). • Sus creadores fueron los investigadores noruegos Kristen Nygaard y Ole Johan Dahl del Centro Noruego de Computación en Oslo, y su desarrollo se extendió desde 1962 a 1967. • El objetivo inicial era definir un lenguaje de propósito específico para aplicaciones de simulación. • Realizaron una primera versión en 1964 que se llamó Simula I y queincluía algunos conceptos innovadores con respecto a ALGOL 60, tales como la gestión dinámica de memoria y primitivas para la concurrencia. • Tuvo mucho éxito entre los usuarios norteamericanos porque mejoraba a otros lenguajes existentes en esa época, específicos para la simulación, como eran SIMSCRIPT y GPSS.

R. Peña (SIC-UCM)

Programación orientada a objetos

Master Secundaria 09-103 / 16

Simula 67 (2)
• En 1965, y ante el éxito obtenido por su primera versión, sus autores pensaron en una segunda. Hoare y Wirth influyeron en las últimas fases de diseño a través de sus relaciones con Nygaard y Dahl y de una estancia en Oslo a principios de 1968. • Habían detectado una serie de insuficiencias en el lenguaje:
1

2

3

Las entidades proceso y estación, útiles ensimulación, eran entes dinámicos que se creaban y destruían a lo largo de una ejecución. La estructura de bloques, heredada de ALGOL 60, era un obstáculo para este fin. Cada entidad tenía asociadas un conjunto de variables y un conjunto de operaciones que las manipulaban. El texto del programa no reflejaba claramente esta relación. El código de muchas entidades era bastante semejante, pero el lenguaje noproporcionaba mecanismos para reutilizar las partes comunes.

• El primer hallazgo de Nygaard y Dahl fue la distinción entre una clase de entidades —un texto suministrado por el programador— y los objetos que se derivan de ella —ejemplares creados y destruidos dinámicamente durante una ejecución. • Una clase en Simula 67 consiste en una colección de procedimientos y un conjunto de declaracionesde variables. Si A es un objeto de una clase C y X es una de las variables o atributos de la clase C , A . X representa el atributo X del objeto A.
R. Peña (SIC-UCM) Programación orientada a objetos Master Secundaria 09-10 4 / 16

Simula 67 (y 3)
• Introdujeron un tipo de datos “referencia a un objeto” que permitía que una misma variable designara objetos distintos en distintos momentos. Estetipo no era otra cosa que el tipo puntero. • Esta noción de clase fue enriquecida en lenguajes posteriores con la idea de ocultamiento, dando lugar al concepto de objeto encapsulado que hoy conocemos. • La clase de Simula 67 puede verse como precursora a la vez de las clases de la POO actual y de los tipos abstractos de datos de los lenguajes de los 70. • El segundo hallazgo fue el concepto desubclase, cuyo objetivo era ahorrar declaraciones cuando el comportamiento de una entidad era parecido al de otra. • Podríamos definir una clase vehículo que declarase los atributos comunes a todos los tipos de vehículo. Después, definiríamos una subclase distinta para cada tipo, en la que se declararían los atributos específicos de cada una. Así, tendríamos subclases para camiones, bicicletas, etc....
tracking img