En los últimos 35 años, las empresas diseñadoras de hardware para ordenadores han pasado del diseño de equipos de gran tamaño a ordenadores portátiles basados en microprocesadores.
En este mismo lapso de tiempo, los desarrolladores de software han pasado de escribir programas en ensamblador a escribirlos en C o C++. Claramente, el mundo del desarrollo de programas no avanza tan rápidamente como el mundo del hardware. Entonces, la pregunta importante aquí es ¿qué tienen los diseñadores de hardware que los desarrolladores de software no poseen?
La respuesta a esta pregunta está en la forma de trabajar de los diseñadores de hardware, éstos utilizan componentes ya elaborados para formar sus sistemas hardware.
La reutilización de los componentes es también un método para crear mejores software. Hoy en día los desarrolladores de software comienzan desde cero y siguen los mismos pasos que dieron muchos de programadores en el pasado. La creación de nuevos sistemas informáticos a partir de componentes ya existentes y que ya han sido probados, tiende siempre a producir códigos más fiables. Además, se ha demostrado que es más rápida y económica.
Entre 1970 y 1990, varios analistas de software desarrollaron enfoques orientados a objetos y para 1994 había más de 50 métodos de objetos. Sin embargo, solamente 3 métodos alcanzaron popularidad:
En 1994, Rumbaugh, Booch y Jacobson en 1995 unieron sus esfuerzos para desarrollar el lenguaje de definición UML (Unified Modeling Language), lo cual define un lenguaje estándar mediante la incorporación de las ventajas de varios métodos precedentes.
Hoy en día la programación orientada a objetos tiene influencias no solo en lenguajes de programación, sino también en el análisis y diseño de un determinado sistema, inclusive hay sistemas gestores de bases de datos orientadas a objetos por ejemplo PostgreSQL (SGBD open source y orientado a objetos).
Todo este avance que ha tenido esta técnica se debe a las grandes capacidades y ventajas que presenta frente a la programación estructurada.
Algunas ventajas que posee esta forma de programar:
1. Fomenta la reutilización y extensión del código.
2. Permite crear sistemas más complejos.
3. Logra relacionar el sistema al mundo real.
4. Facilita el desarrollo de programas visuales.
5. Construcción de prototipos
6. Agiliza el desarrollo de software
7. Facilita el trabajo en equipo
8. Facilita enormemente el mantenimiento del software
A continuación muestro un listado de lenguajes de programación orientados a objetos:
Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino que son híbridos que combinan
Al igual que C++ otros lenguajes, como OOCOBOL, OOLISP, OOPROLOG y Object REXX, han sido creados añadiendo extensiones orientadas a objetos a un lenguaje de programación clásico.
Tags: POO, Programación Orientada a Objetos
| Date: 05-12-2011