La búsqueda de tiempo libre
lleva a las personas a ser creativas, para hacer más cosas con el mínimo de
esfuerzo. Sin embargo, no todas las
personas con estas características, sólo aquellas con la curiosidad y los
conocimientos suficientes podrán utilizar esa creatividad para realizar cosas
que trabajan para facilitar la existencia₁.
El enfoque Orientado a Objetos nos lleva a
identificar algo que ya hemos hechos y reutilizarlo para hacer nuestros
desarrollo menos extenuantes.
El
salto de la PE a la POO
Hoy en día las aplicaciones
informáticas son mucho más ambiciosas que las necesidades de programación
existentes en los años 1960, principalmente debido a las aplicaciones gráficas,
por lo que las técnicas de programación
estructurada no son suficientes. Ello
ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el
desarrollo de entornos de programación que facilitan la programación de grandes
aplicaciones.
Tradicionalmente, la programación fue
hecha en una manera secuencial o lineal, es decir una serie de pasos
consecutivos con estructuras consecutivas y bifurcaciones.
Los lenguajes basados en esta forma de programación ofrecían ventajas al
principio, pero el problema ocurre cuando los sistemas se vuelven complejos.
Estos programas escritos al estilo “espaguetti” no ofrecen flexibilidad y el
mantener una gran cantidad de líneas de código en sólo bloque se vuelve una
tarea complicada.
Frente a esta dificultad aparecieron
los lenguajes basados en la programación estructurada. La idea principal de
esta forma de programación es separar las partes complejas del programa en
módulos o segmentos que sean ejecutados conforme se requieran. De esta manera
tenemos un diseño modular, compuesto por módulos independientes que puedan
comunicarse entre sí. Poco a poco este estilo de programación fue reemplazando
al estilo “espaguetti” impuesto por la programación lineal.
Entonces, vemos que la evolución que se
fue dando en la programación se orientaba siempre a ir descomponiendo más el
programa. Este tipo de descomposición conduce directamente a la programación
orientada a objetos.
Un
concepto importante se introdujo con la programación estructurada: la abstracción. Abstracción se puede definir como la
capacidad para examinar algo sin preocuparse de sus datos internos.
Pues
la creciente tendencia de crear programas cada vez más grandes y complejos
llevó a los desarrolladores a crear una nueva forma de programar que les
permita crear sistemas de niveles empresariales y con reglas de negocios muy
complejas. Para estas necesidades ya no bastaba la programación estructurada ni
mucho menos la programación lineal. Es así como aparece la programación
orientada a objetos (POO). La POO
viene de la evolución de la programación estructurada; básicamente la POO simplifica la programación con la
nueva filosofía y nuevos conceptos que tiene. La POO se basa en dividir el
programa en pequeñas unidades lógicas de código. A estas pequeñas unidades
lógicas de código se les llama objetos. Los objetos son unidades independientes que se comunican entre ellos
mediante mensajes. Veamos con mayor detenimiento este tema.
En cuanto a las ventajas de
la POO podemos mencionar las
siguientes:
·
Fomenta
la reutilización y extensión del
código.
·
Permite
crear sistemas más complejos.
·
Relacionar
el sistema al mundo real.
·
Facilita
la creación de programas visuales.
·
Construcción
de prototipos
·
Agiliza
el desarrollo de software
·
Facilita
el trabajo en equipo
·
Facilita
el mantenimiento del software
La programación Orientada a Objetos
trata de una técnica que aumenta considerablemente la velocidad de desarrollo
de los programas gracias a la reutilización de los objetos.
El
elemento principal de la programación
orientada a objetos es el objeto.
El objeto es un conjunto
complejo de datos y programas que poseen estructura y forman parte de una organización. Un objeto
contiene varios datos bien estructurados y pueden ser visibles o no dependiendo
del programador y las acciones del programa en ese momento. El polimorfismo
y la herencia son unas de sus
principales características.
En
cuanto a la Programación Estructura
veremos sus ventajas:
1.
Los programas son más fáciles de
entender. Un programa estructurado puede
ser leído en secuencia, de
arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la
lógica, lo cual es típico de otros estilos de programación. La estructura del
programa es más clara puesto que las instrucciones están más relacionadas entre
sí, por lo que es más fácil comprender lo que hace cada función.
2.
Reducción del esfuerzo en las pruebas.
El programa se puede tener listo para producción normal en un tiempo menor del
tradicional; por otro lado, el seguimiento de las fallas se facilita debido a
la lógica más visible, de tal forma que los errores se pueden detectar y
corregir más fácilmente.
3.
Programas más sencillos y más rápidos.
4.
Se facilita la utilización de las otras
técnicas para el mejoramiento de la productividad en programación.
5.
Los
programas quedan mejor documentados internamente.
Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.
Esta técnica incorpora:
·
Diseño
descendente (top-dow): El problema se descompone en etapas o
estructuras jerárquicas.
·
Recursos
abstractos (simplicidad): consiste en descompones las acciones
complejas en otras más simples capaces de ser resueltas con mayor facilidad.
·
Estructuras
básicas: Existen tres tipos de estructuras básicas:
·
Estructuras
secuénciales: Cada acción sigue a otra acción
secuencialmente. La salida de una acción es la entrada de otra.
·
Estructuras
selectivas: En estas estructuras se evalúan las
condiciones y en función del resultado de las mismas se realizan unas acciones
u otras. Se utilizan expresiones lógicas.
·
Estructuras
repetitivas: Son secuencias de instrucciones que se
repiten un número determinado de veces.
Desventajas:
·
El principal inconveniente de este método de
programación, es que se obtiene un único bloque de programa, que cuando se hace
demasiado grande puede resultar muy complejo manejarlo.
·
Complejidad para adaptarse.
Si bien es cierto la programación estructurada fue de gran
ayuda a los programadores durante mucho tiempo y aún sigue siéndolo en algunos
sectores, hoy en día los requerimientos son cada vez más exigentes y este tipo
de programación ya no es suficiente para satisfacer dichas necesidades por lo
que es reemplazada mayormente por otros técnicas de programación, que es la
orientada a objetos.
Muy bueno, buenísimo este blog
ResponderEliminarMuy buen blog
ResponderEliminar