# data[].attributes.body
Nace el primer paradigma, el “Lenguaje Maquina”, se trata de una serie de instrucciones las cuales pueden entender las computadoras sin necesidad de traducirlo.

# data[].attributes.body
Se denominaba programación de computadores, tuvo sus inicios a principios de la década de los 1950. Los primeres lenguajes de programación que se utilizaban era los predecesores de FORTRAN.

La estructura general o arquitectura de un programa consistía de un sólo modulo.

# data[].attributes.body
La programación funcional se origina en esta época como un enfoque de programación que se centra en el uso de funciones matemáticas para resolver problemas computacionales.

El lenguaje de programación Lisp, desarrollado por John McCarthy en la década de 1950, se considera uno de los primeros lenguajes de programación funcionales. Lisp permitía la manipulación de funciones como datos, lo que se conoce como funciones de orden superior.

# data[].attributes.body
Tuvo sus inicios a mediados de la decada de 1960. Los lenguajes de programación que se utilizaban eran: PASCAL, COBOL, BASIC, FORTRAN, FORTRAN 90, Lenguaje C.

Se podía dividir un programa en módulos, funciones y estilo de programación. La estructura general o arquitectura de un programa consistía de datos y de un conjunto de módulos jerarquizados.

# data[].attributes.body
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).

# data[].attributes.body
La programación lógica surge en la década de 1970 como un paradigma de programación que se basa en la lógica formal y la representación del conocimiento mediante reglas y relaciones.

Uno de los hitos más significativos en el desarrollo de la programación lógica es la creación del lenguaje de programación Prolog en 1972 por Alain Colmerauer. Prolog se convierte en un lenguaje emblemático para la programación lógica.

# data[].attributes.headline
Programación con Abastracción de Datos (1980)

# data[].attributes.subject
Programación con Abastracción de Datos (1980)

# data[].attributes.body
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).

# data[].attributes.headline
Programación Orientada a Objetos (1980 - 1990)

# data[].attributes.subject
Programación Orientada a Objetos (1980 - 1990)

# data[].attributes.body
El concepto de la programación orientada a objetos se puso en auge 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#.

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.

# data[].attributes.body
Nace el paradigma de la "Programación Visual" con Visual Basic, uno de los lenguajes de programación que utiliza interfaz visual.

Con esto, se permite programar en un entorno gráfico, pudiendo realizar un gran número de tareas sin escribir código, simplemente realizando operaciones con el ratón sobre la pantalla de la computadora.

# data[].attributes.body
La programación orientada a eventos es un paradigma de programación en el que la estructura y la ejecución de los programas van determinados por los sucesos o acciones que ocurren el el sistema, definidos por el usuario o por el propio sistema.

# data[].attributes.body
Los orígenes de la programación reactiva se remontan, probablemente, a la década de 1970, pero esta empezó a resonar en la década del 2010, al mismo tiempo que comenzó el auge de los microservicios y los procesadores multinúcleo.

Se trata de un paradigma enfocado en el trabajo con flujos de datos finitos o infinitos de manera asíncrona, es decir que las aplicaciones reaccionan a los cambios ejecutando una serie de eventos.

# data[].attributes.body
A partir de la década de 2020, la programación cuántica se ha convertido en un campo de investigación y desarrollo activo, con el objetivo de aprovechar las capacidades de la computación cuántica para resolver problemas complejos de manera eficiente.

Se basa en el uso de qubits en lugar de bits clásicos para representar y manipular información.

Se están desarrollando lenguajes y herramientas de programación cuántica, como Qiskit, Quipper y Q#, que permiten a los programadores diseñar algoritmos cuánticos y ejecutarlos en dispositivos cuánticos reales o simuladores.