Please enable JavaScript.
Coggle requires JavaScript to display documents.
LOS PARADIGMAS DE PROGRAMACIÓN LÓGICA Y FUNCIONAL - Coggle Diagram
LOS PARADIGMAS DE PROGRAMACIÓN LÓGICA Y FUNCIONAL
Programación Lógica
Clasificación dentro de la Programación Lógica
Lógica de Primer Orden (Clásica)
Se basa en la lógica de predicados de primer orden, donde los programas se construyen usando hechos y reglas.
Ejemplo de lenguaje: Prolog.
Lógica Conjuntista
Se centra en el razonamiento con conjuntos y relaciones en lugar de términos y predicados.
Ejemplo de lenguaje: Datalog.
Lógica Temporal
Se enfoca en el razonamiento sobre eventos y estados en el tiempo, utilizado en sistemas concurrentes y en tiempo real.
Ejemplo de uso: Verificación formal en sistemas concurrentes.
Lógica de Restricciones
Incorpora la resolución de restricciones en la programación lógica, útil para problemas de optimización y planificación.
Ejemplo de lenguaje: Constraint Logic Programming (CLP).
Lógica No Monótona
Diseñada para trabajar con conocimiento incompleto o cambiante, permitiendo retractaciones de inferencias previas.
Ejemplo de lenguaje: Answer Set Programming (ASP).
Lógica Inductiva
Aplicada al aprendizaje automático, permite derivar hipótesis a partir de hechos observados.
Ejemplo de técnica: Inductive Logic Programming (ILP).
Programación Funcional
Clasificación dentro de la Programación Funcional
Funcional Concurrente
Optimizada para sistemas concurrentes, donde las funciones puras facilitan la ausencia de conflictos entre hilos.
Ejemplo de lenguaje: Erlang.
Funcional Orientada a Datos
Se centra en la transformación de estructuras de datos complejas, especialmente en Big Data y procesamiento en flujos.
Ejemplo de lenguaje: Clojure.
Funcional de Propósito Específico
Diseñada para resolver problemas específicos, como el manejo de flujos de datos.
Ejemplo de lenguaje: Elm (para interfaces gráficas en la web).
Funcional Parcial (No Pura)
Lenguajes que soportan funciones de orden superior pero permiten efectos secundarios.
Ejemplo de lenguajes: Python (cuando se usa funcionalmente), JavaScript.
Funcional Imperativa (Híbrida)
Combina características funcionales con paradigmas imperativos, permitiendo cierto grado de mutabilidad.
Ejemplo de lenguajes: Scala, F#.
Programación Reactiva Funcional
Extiende el paradigma funcional para manejar sistemas basados en eventos y flujos asíncronos.
Ejemplo de librerías/lenguajes: RxJS, ReactiveX.
Funcional Pura
Prohíbe cualquier tipo de efectos secundarios, adoptando estrictamente la inmutabilidad y la evaluación diferida.
Ejemplo de lenguaje: Haskell.