Evolución
Desde que la programación de computadoras se inventó, ha evolucionado constantemente, pero las bases no han cambiado.
Simplemente se han añadido nuevos conceptos y nuevas estructuras.
Programación Tradicional
Se denominaba programación de computadoras, tuvo sus inicios a principios de la década de los 1950.
Los primeros lenguajes de programación que se utilizaban eran los predecesores de FORTRAN.
Las estructuras lógicas de control que se utilizaban era la secuenciación: (IF – THEN), (IF – THEN – ELSE – DO).
La técnica de diseño de programas utilizada fue la de los diagramas de flujo.
La estructura general o arquitectura de un programa consistía de un sólo módulo, como se muestra a continuación:
Programación Estructurada
Tuvo sus inicios a mediados de la decada de 1960.
Los lenguajes de programación que se utilizaban eran: PASCAL, COBOL (estructurado), BASIC (estructurado), FORTRAN (con estilo estructurado), FORTRAN 90, Lenguaje C.
Las estructuras de control utilizadas era la secuenciación: (IF – THEN), (IF – THEN – ELSE), (CASE), (FOR), (DO – UNTIL) y (DOWHILE).
Se podía dividir un programa en módulos, funciones y estilo de programación.
Las técnicas de diseño de programas que se utilizaban fue Los Diagramas Warnier, diagramas estructurados, Diagramas Chapin, seudocódigos, y Top Down Design, entre otras.
La estructura general o arquitectura de un programa consistía de datos y de un conjunto de módulos jerarquizados, como se muestra a continuación:
Al diseñar la solución en módulos, la programación estructurada permitía solucionar problemas más grandes y más complejos de una mejor forma.
Programación Modular
Tuvo sus inicios a finales de la década 1970 y principios de 1980.
El lenguaje de programación que se utilizó fue MODULA 2 y emergió el concepto de encapsulación (en un módulo o paquete se encapsulaban los datos y las funciones que los manipulaban).
Programación con Abstracción de Datos
Se generó en la década de 1980.
El lenguaje de programación que se utilizó fue ADA. Con éste emergió el concepto de Tipos de Abstractos de Datos (TAD).
Programación Orientada Objetos
El concepto de la programación orientada a objetos sólo se puso en boga a finales de la década de 1980 y principios de 1990, a pesar de que se había generado muchos años antes.
A este tipo de programación la caracterizan los conceptos: Objetos, Clases, Encapsulación, Herencia y Polimorfismo.
Los principales lenguajes de programación que se utilizan son: C++, Java y C#.
Las técnicas de diseño que se utilizan son Booch, Rumbaugh, Jacobson, Yourdon, UML (Unified Modeling Language), entre otras.
La estructura general o arquitectura de un programa consiste en un conjunto de objetos y cada objeto se compone por datos y un conjunto de métodos, donde cada método (que es equivalente al concepto de módulo en la programación estructurada) está formado por un conjunto de instrucciones, como se muestra a continuación.
La Programación Orientada a Objetos permite manejar mejor la complejidad de los programas y la reutilización de código, porque permite una mayor pulverización o segmentación de los programas, a través de los objetos de una forma más eficiente que como anteriormente se hacía con la programación estructurada.