Está en la página 1de 30

PARADIGMAS DE PROGRAMACIÓN

JEFFERSON BELTRÁN M.
BASADO EN:

• PARADIGMAS DE LA PROGRAMACIÓN. CÉSAR VACA RODRÍGUEZ. UNIVERSIDAD DE VALLADOLID.

• PARADIGMAS DE LA PROGRAMACIÓN,. MALLA CHISTIAN, JARAMILLO DANIEL, MUÑOZ DAVIID. UNIVERSIDAD DE CUENCA.
PARADIGMA DE PROGRAMACIÓN

• “Un paradigma de programación indica un método de realizar cómputos y la manera en


que se deben estructurar y organizar las tareas que debe llevar a cabo un programa ”.
• Los paradigmas fundamentales están asociados a determinados modelos de cómputo.
• También se asocian a un determinado estilo de programación.
• Un paradigma de la programación es la manera de pensar que tienen los
programadores.
• Los lenguajes de programación suelen implementar, a menudo de forma parcial, varios
paradigmas.
TIPOS DE PARADIGMAS DE PROGRAMACIÓN
• Los paradigmas fundamentales están basados en diferentes modelos de cómputo y por lo tanto
afectan a las construcciones más básicas de un programa.
• La división principal reside en el enfoque imperativo (cómo se debe resolver el problema) y el
enfoque declarativo (qué se debe hacer para resolver el problema).
• El enfoque declarativo tiene varias ramas diferenciadas: el paradigma funcional, el paradigma
lógico, la programación reactiva y los lenguajes descriptivos.
• Otros paradigmas se centran en la estructura y organización de los programas, y son compatibles
con los fundamentales:
• Ejemplos: Programación estructurada, modular, orientada a objetos, orientada a eventos, programación
genérica.
• Por último, existen paradigmas asociados a la concurrencia y a los sistemas de tipado.
TIPOS DE PARADIGMAS DE PROGRAMACIÓN
PARADIGMA IMPERATIVO
• Describe cómo debe resolverse el problema, no el por qué.
• Imperar (mandar), es ordenar a la computadora lo que el programador quiera realizar.
• Un cómputo consiste en una serie de sentencias, ejecutadas según un control de flujo
explícito, que modifican el estado del programa.
• Las variables son celdas de memoria que contienen datos (o referencias), pueden ser
modificadas, y representan el estado del programa.
• La sentencia principal es la asignación.
• Es el estándar ‘de facto’.
• Asociados al paradigma imperativo se encuentran los paradigmas procedural, modular, y
la programación estructurada.
• Los programas imperativos normalmente realizan su tarea ejecutando repetitivamente una
secuencia de pasos esenciales.
LENGUAJES DE PROGRAMACIÓN IMPERATIVA
EJEMPLO DE PROGRAMACIÓN IMPERATIVA
PARADIGMA DECLARATIVO
• Describe qué se debe hacer para resolver el problema, sin explicitar el cómo.
• No existe un orden de evaluación prefijado.
• Las variables son nombres asociados a definiciones, y una vez instanciadas son
inmutables.
• No existe sentencia de asignación.
• El control de flujo suele estar asociado a la composición funcional, la recursividad
y/o técnicas de reescritura y unificación.
• Existen distintos grados de pureza en las variantes del paradigma.
• Las principales variantes son los paradigmas funcional, lógico, la programación
reactiva y los lenguajes descriptivos.
PROGRAMACIÓN LÓGICA
• Su creación fue debida a la necesidades de los investigadores de la
inteligencia artificial.
• Utiliza la lógica matemática que se puede considerar la manera más
sencilla para el ser humano puede expresar formalmente problemas
complejos y de resolverlos mediante la aplicación de reglas , hipótesis y
teoremas.
• Los lenguajes de programación lógicos emplea el formalismo de la lógica
de predicados primer orden (matemáticas discretas) para representar el
conocimiento sobre un problema específico.
• Los programas se componen de hechos, predicados y relaciones.
• La ejecución consiste en la resolución de un problema de decisión, los
resultados se obtienen mediante la instanciación de las variables libres.
• El concepto del paradigma lógico está ligado históricamente al lenguaje
de programación Prolog.
LENGUAJES DE PROGRAMACIÓN LÓGICOS
EJEMPLO DE PROGRAMACIÓN LÓGICA
PROGRAMACIÓN FUNCIONAL
• Basado en los modelos de cómputo cálculo lambda (Lisp, Scheme) y
lógica combinatoria (familia ML, Haskell, Scala)
• Las funciones son elementos de primer orden.
• La computación se realiza mediante la evaluación de expresiones.
• Funciones como datos primitivos.
• Valores sin efectos laterales, no existe la asignación.
• Programación declarativa.
• No existen las instrucciones cíclicas tales como el for, while, do-while.
• Evaluación por reducción funcional. Todo se procesa usando
recursividad y funciones de alto orden.
• Implementa funciones ya existentes.
LENGUAJES DE PROGRAMACIÓN FUNCIONAL
EJEMPLO DE PROGRAMACIÓN FUNCIONAL
PROGRAMACIÓN REACTIVA
• Basado en la teoría de grafos.
• Un programa consiste en la especificación del flujo de datos entre operaciones.
• Las variables se encuentran ligadas a las operaciones que proporcionan sus
valores. Un cambio de valor de una variable se propaga a todas las operaciones
en que participa.
• Las hojas de cálculo se basan en este modelo.
• Lenguajes representativos: Simulink, LabView.
PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A
OBJETOS
• Se parece más a la vida real, ya que las personas vemos el mundo como un
conjunto de objetos con propiedades (atributos) y acciones (métodos).
• Con la POO trabajamos de manera distinta vinculando diferentes conceptos tales
como clases, objetos, métodos, propiedades, estados, herencia, encapsulación entre
otros, generando cada vez interrelaciones en nuestro desarrollo en pro del
funcionamiento del sistema principal, definiendo el programa como un conjunto de
estos objetos relacionados entre sí.
• Objetos como abstracción de datos y procedimientos.
• Polimorfismo y chequeo de tipos en tiempo de ejecución.
• Es el paradigma más usado en la actualidad.
• Su lenguaje representativo es Java.
LENGUAJES DE PROGRAMACIÓN ORIENTADOS A
OBJETOS
EJEMPLO DE PROGRAMACIÓN ORIENTADA A OBJETOS
PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A
EVENTOS
• La programación dirigida por eventos es un paradigma de la programación en el que tanto
la estructura como la ejecución de los programas van determinados por los sucesos que
ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.
• Eventos Externos.
• Son aquellos que son producidos por el usuario así como por ejemplo: Pulsaciones del teclado o el
ratón.

• Eventos Internos.
• Son aquellos que son producidos por el sistema o la aplicación por ejemplo: Vencimiento de un
temporizador
LENGUAJES DE PROGRAMACIÓN ORIENTADOS A
EVENTOS
EJEMPLO DE PROGRAMACIÓN ORIENTADA A EVENTOS
PROGRAMACIÓN ORIENTADA A ASPECTOS
• La Programación Orientada a Aspectos o POA es permite una adecuada
modularización de las aplicaciones y posibilita una mejor separación de
responsabilidades.
• Aspecto es una funcionalidad transversal que se va a implementar de forma
modular y separada del resto del sistema. El ejemplo más común y simple de un
aspecto es el logging (registro de sucesos) dentro del sistema, ya que
necesariamente afecta a todas las partes del sistema que generan un suceso.
• Gracias a la POA se pueden encapsular los diferentes conceptos que componen
una aplicación en entidades bien definidas, eliminando las dependencias entre
cada uno de los módulos. De esta forma se consigue razonar mejor sobre los
conceptos, se elimina la dispersión del código y las implementaciones resultan
más comprensibles, adaptables y reusables.
• Ejemplo: AspectC++, AspectJ, Aspect, PHP-AOP (AOP.io), phpAspect, FLOW3,
AOP con Spring Framework, Aspyct AOP.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Generación Lenguajes Hardware Movimientos
Primera (1945-55) Código Máquina Relés, Válvulas de
vacío
Segunda (1955-68) FORTRAN Transistores, Memorias Prog. Estructurada y
COBOL de Modular
LISP ferrita Proceso por Lotes
Tercera (1968-1980) ALGOL Circuitos integrados, Ingeniería de
PASCAL Memorias de Software
C transistores Orientación a
BASIC Objetos
ADA Bases de Datos
Cuarta (1980-) C++ VLSI Comp. Distribuida
JAVA MultiCore Interfaces Gráficas
HASKELL Flash Multimedia
PYTHON Internet
LÍNEA DE TIEMPO - LENGUAJES DE PROGRAMACIÓN
LÍNEA DE TIEMPO - LENGUAJES DE PROGRAMACIÓN
EVOLUCIÓN - LENGUAJES DE PROGRAMACIÓN
PARADIGMAS - LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN MÁS USADOS 2020
CONCLUSIONES
• Los diferentes paradigmas emplean un papel fundamental en la
programación, ya que a través de ellos podemos plantear el desarrollo de
software.
• Dependiendo el tipo de proyecto a desarrollar se pueden usar uno o más
paradigmas los cuales deben ser elegidos correctamente.
• Varios lenguajes de programación están especializados para usar uno o más
paradigmas de programación los cuales deberán ser elegidos de acuerdo a
la necesidad de cada proyecto.
GRACIAS

También podría gustarte