Programación orientada a objetos

Solo disponible en BuenasTareas
  • Páginas : 9 (2025 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de enero de 2012
Leer documento completo
Vista previa del texto
Breve historia de la OOP

Los conceptos de clase y herencia fueron implementados por vez primera en el lenguaje Simula 67 (el cual no es sino una extensión de otro más antiguo, llamado Algol 60), éste fue diseñado en 1967 por Ole-Johan Dhal y Krysten Nygaard en la Universidad de Oslo y el Centro de Computación Noruego (Norsk Regnesentral).

La historia de Simula, que es como se le llamacoloquialmente, es tan frecuente como desafortunada. Fue diseñado como un lenguaje de propósito general y pasó por el mundo de la informática sin pena ni gloria durante años. Fue mucho después, con la aparición de otros lenguajes que se basaban en estos innovadores conceptos, cuando se le reconoció a los creadores de Simula su gran mérito. Sin embargo, Simula sigue sin usarse porque estos conceptoshan sido ampliados y han aparecido otros nuevos que le dan mayor potencia y flexibilidad a los conceptos originales de clase y herencia, conformando lo que hoy entendemos por Programación Orientada al Objeto.

Aunque Simula fue el padre de todo este revuelo, ha sido Smalltalk quién dio el paso definitivo y es éste el que debemos considerar como el primer lenguaje de programación orientado aobjetos. Smalltalk fue diseñado (cómo no) en el Palo Alto Research Center (PARC) de Xerox Corporation's, en California.

Éste ha sido uno de los centros de investigación que más avances ha dado a la informática en toda su historia; fue aquí donde se desarrolló el entorno de ventanas que hoy usan Windows en MS-DOS y XWindows en UNIX, los famosos ratones como dispositivos de entrada de datos ointerfaces de usuario como el DataGlobe. Según últimas noticias, ahora andan desarrollando unos nuevos conceptos de sistemas operativos con imágenes tridimensionales en movimiento que serán los que probablemente utilizaremos dentro de algunos años.

En este centro de investigación de Palo Alto, a comienzos de los 70, el proyecto iniciado por Alan Kay vio la luz con el nombre de Smalltalk. Lo que habíaempezado como un proyecto de desarrollo de un lenguaje de propósito general acabó siendo mucho más que eso, convirtiéndose en el origen de la, hasta ahora, última y más importante revolución en el desarrollo de software.

Smalltalk incluye no solo un lenguaje para el desarrollo de aplicaciones, sino que además incorpora herramientas de ayuda al desarrollo (p.ej. manejadores de árboles de clases,examinadores de objetos, etc.) y un completo interfaz gráfico de usuario.

El último gran paso, a nuestro juicio, lo dio Bjarne Stroustrup con la creación del C++, quizás el lenguaje de programación orientado a objetos más usado actualmente. Este, fue definido en 1986 por su autor en un libro llamado The C++ Programming Language, de cita y referencia obligadas cuando se habla de OOP. Tanimportante es esta publicación, que cuando se habla de C++, a este libro se le llama "El Libro". Cuando algún experto se encuentra con alguna duda sobre cómo debería ser un lenguaje orientado al objeto recurre a él, y si no encuentra solución, se dirige directamente a Stroustrup.

La importancia del C++ radica, en que, abandonando ciertos requerimientos de los lenguajes de cuarta generación contecnología OOP como son Smalltalk o Actor, ha conseguido darle una gran potencia y flexibilidad al más famoso lenguaje, el C.

Llegados a este punto se hace necesario aclarar que los lenguajes de OPP, podemos clasificarlos en puros e híbridos. Diremos que un lenguaje es OOP puro, cuando se ajusta completamente a los principios que esta técnica propone y contempla la posibilidad de trabajarexclusivamente con clases. Diremos que un lenguaje es híbrido de OOP y algún otro, cuando ese lenguaje, que normalmente existía antes de la aparición de la OOP, incorpora en mayor o menor medida facilidades para trabajar con clases.

De este modo, C++ es un lenguaje OOP híbrido. De hecho, C++ no incorpora todas las características de un lenguaje OOP, y no lo hace principalmente, porque es un lenguaje...
tracking img