Diferencia entre revisiones de «Programación orientada a objetos»

Contenido eliminado Contenido añadido
m Revertidos los cambios de 189.205.220.185 (disc.) a la última edición de Javierito92
Línea 20:
Los conceptos de la programación orientada a objetos tienen origen en [[Simula|Simula 67]], un lenguaje diseñado para hacer simulaciones, creado por [[Ole-Johan Dahl]] y [[Kristen Nygaard]] del [[Centro de Cómputo Noruego]] en [[Oslo]]. Al parecer, en este centro, trabajaban en simulaciones de naves, y fueron confundidos por la explosión combinatoria de cómo las diversas cualidades de diversas naves podían afectar unas a las otras. La idea ocurrió para agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus ''propios'' datos y comportamiento. Fueron refinados más tarde en [[Smalltalk]], que fue desarrollado en Simula en [[Xerox PARC]] (y cuya primera versión fue escrita sobre [[Basic]]) pero diseñado para ser un sistema completamente dinámico en el cual los objetos se podrían crear y modificar "en marcha" en lugar de tener un sistema basado en programas estáticos.
 
La programación orientada a objetos tomó posición como el estilo de programación dominante a mediados de los años ochenta, en gran parte debido a la influencia de [[C++]], una extensión del [[lenguaje de programación C]]. Su dominación fue consolidada gracias al auge de las [[Interfaz gráfica de usuario|Interfaces gráficas de usuario]], para las cuales la programación orientada a objetos está particularmente bien adaptada. En este caso, se habla también de [[programación dirigida por eventos]].
 
Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo [[Lenguaje de programación Ada|Ada]], [[BASIC]], [[Lisp]], [[lenguaje de programación Pascal|Pascal]], entre otros. La adición de estas características a los lenguajes que no fueron diseñados inicialmente para ellas condujo a menudo a problemas de compatibilidad y a la capacidad de mantenimiento del código. Los lenguajes orientados a objetos "puros", por otra parte, carecían de las características de las cuales muchos programadores habían venido a depender. Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo algunas características imperativas de maneras "seguras". El [[Lenguaje de programación Eiffel|Eiffel]] de Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos pero ahora ha sido esencialmente reemplazado por [[Java (lenguaje de programación)|Java]], en gran parte debido a la aparición de [[Internet]], y a la implementación de la máquina virtual de Java en la mayoría de [[navegadores]]. [[PHP]] en su versión 5 se ha ido modificando y soporta una orientación completa a objetos, cumpliendo todas las características propias de la orientación a objetos.