Evolución Historica de los medios de producción audiovisual.
PARADIGMA IMPERATIVO
Programación estructurada
Se define mediante bucles anidados, condicionales y subrutinas,
Programación Procedimental
Consiste en que las expresiones repetidas, las engloba en un procedimiento, para así ejecutarlas cuando las utilice nuevamente .

Programación Modular
Este consiste en dividir los programas en subprogramas para así sea más manejable y legible.
PARADIGMA DECLARATIVO
Este paradigma no necesita definir algoritmos puesto que describe el problema en lugar de encontrar una solución al mismo
Programación orientada a objetos
La programación orientada a objetos disminuye los errores y promociona la reutilización del código.

PROGRAMACIÓN REACTIVA
Este paradigma se basa en escuchar lo que emite un evento o cambios en el flujo de datos, en donde los objetos reaccionan a los valores que reciben de dicho cambio. Las librerías más conocidas son Project Reactor, y RxJava. React/Angular usan RxJs para hacer uso de la programacion reactiva
es una manera o estilo de programación de software. Existen diferentes formas de diseñar un lenguaje de programación y varios modos de trabajar para obtener los resultados que necesitan los programadores
SE DIVIDE EN :
Programación Lógica
Prolog

Programación funcional
Lisp, Scala, Java, Kotlin
