Está en la página 1de 4

Briayan alexias Gerónimo de los santos 30 21/10/2019

Paradigma de la programación
Estrategia de aprendizaje: investigar r los ejemplos de lenguajes de programación de
paradigma lógico
programación que emplean como paradigma la programación lógica.

 Prolog
 Mercury
 CLP (FD)
 CSP (Constraint Satisfaction Problem)
 Lambda Prolog
 Logtalk
 Alma-0
 CLAC(Logical Composition with the Assistance of Computers)
 Gödel
 Curry
 Ace
 PALs
 Actor Prolog
 SequenceL

Prolog:

Es un Lenguaje de Programación diseñado para representar y utilizar el conocimiento que


se tiene sobre un determinado dominio. Los programas en Prolog responden preguntas
sobre el tema del cual tienes conocimiento.

La popularidad del lenguaje se debe a su capacidad de deducción y además es un


lenguaje fácil de usar por su semántica y sintaxis. Solo busca relaciones entre los objetos
creados, las variables y las listas, que son su estructura básica.

Escribir un programa en Prolog consiste en declarar el conocimiento disponible acerca de


objetos, además de sus relaciones y sus reglas, en lugar de correr un programa para
obtener una solución, se hace una pregunta, el programa revisa la base de datos para
encontrar la solución a la pregunta, si existe mas de una solución, Prolog hace un barrido
para encontrar soluciones distintas. El propio sistema es el que deduce las respuestas a
las preguntas que se le plantean, dichas respuestas las deduce del conocimiento obtenido
por el conjunto de reglas dadas.

Mercury:

Mercury es un lenguaje de alto nivel (es decir, no se preocupa de problemas como la


reserva y liberación de memoria) derivado de Prolog, pero con una implementación que le
hace ser más útil para representar y tratar problemas del mundo real. Combina toda la
expresividad del lenguaje declarativo con avanzadas técnicas de análisis estático y
detección de errores. Es un lenguaje compilado, lo que le permite detectar numerosos
errores antes de poder ejecutar la aplicación. El compilador “traduce” el programa de

Evidencia 7
Briayan alexias Gerónimo de los santos 30 21/10/2019
Paradigma de la programación
lenguaje Mercury a C, que es un lenguaje portable a cualquier plataforma. Además, al
igual que el lenguaje de Gödel, Mercury es un lenguaje que utiliza módulos, lo que da una
gran modularidad en el desarrollo de aplicaciones, solventando así uno de los mayores
problemas a los que se enfrentaban los lenguajes de programación lógicos.

CLP (FD)

Otra extensión de Prolog, especializado en los problemas CSPs (Constraint Satisfaction


Problem). De forma general, podemos decir que un programa en CLP(FD) consta de tres
partes: “generación de variables” (donde también se especifica su domino), “definición de
restricciones” (sobre las variables) y “labeling”, donde se instancian las variables por
enumeración.

Godel

Gödel es un lenguaje en el que las sentencias lógicas llevan un orden y en el que existe el
polimorfismo. Está basado en módulos (que aceptan polimorfismo) y en tipos de datos
(soporta enteros y racionales con una precisión infinita, y número en coma flotante) y tiene
una amplia librería de módulos predefinidos.

Es un buen lenguaje para tareas de meta-programación, tales como compilación,


depuración, análisis, verificación o transformación de programas, ya que es mucho más
declarativo que Prolog, por ejemplo. Como curiosidad, se puede destacar que este
lenguaje no funciona en un entorno Windows.

SequenceL:

SequenceL es un lenguaje de programación funcional de propósito general que permite la


paralelización automática, su objetivo principal es mejorar el rendimiento de los
procesadores con varios núcleos. Es un lenguaje, que, aunque tiene muchas
herramientas de paralelización, está enfocado en la facilidad de programación para el
usuario. Su principal ventaja es que permite escribir código común, y el software se
encarga de maximizar el rendimiento del procesador, por medio de programación
paralela. Sin embargo, aunque parece un lenguaje perteneciente a otro tipo de paradigma
de programación, se caracteriza porque basa su lógica en hechos, reglas y consultas. Lo
cual lo hace un lenguaje con mucho potencial y muy diferente a los otros lenguajes aquí
mencionados.

A continuación, una pequeña tabla que muestra las diferencias entre Séquensela y otro
lenguaje popular, Java, permitiéndonos ver la facilidad de escritura de código:

Evidencia 7
Briayan alexias Gerónimo de los santos 30 21/10/2019
Paradigma de la programación
Lenguaje características Función

Mercury  Basado en prolog Este paradigma se basa en


(recomendamos el los conceptos de lógica
tutorial matemática, se basa
disponible aquí) predicados que caracterizan
 Soporta modos o relacionan a los individuos
 Tiene un fuerte involucrados y la deducción
sistema de de las posibles respuestas a
determinismo una determinada consulta.
 Tiene garbage Es un paradigma declarativo.
collector
 Es modularizado
 Su compilador facilita
el análisis estático y la
optimización de
código
 Variedad de lenguajes
de destino

Prolog  Basado en lógica y Lenguaje de


programación programación lógico e
declarativa. interpretado (Prolog).
 No se especifica La programación lógica es
cómo debe hacerse, un paradigma de los
sino qué debe lenguajes de programación
lograrse. en el cual los programas se
 Una característica consideran como una serie
importante en ProLog de aserciones lógicas. De
y que lo diferencia de esta forma, el conocimiento
otros lenguajes de se representa mediante
programación, es que reglas, tratándose de
una variable sólo sistemas declarativos.
puede tener un valor
mientras se cumple el
objetivo.
 El programador se
concentra más en el
conocimiento que en
los algoritmos.
 ¿Qué preguntar?
(Cómo resolverlo
 En ProLog, se llega a
una solución
infiriéndola desde
algo ya conocido.

Evidencia 7
Briayan alexias Gerónimo de los santos 30 21/10/2019
Paradigma de la programación
 Saltar a navegación, Es un lenguaje experimental
búsqueda Curry[1] es de programación en lógica
Curry un lenguaje funcional, basado en el
experimental de lenguaje Haskell, que
programación en combina elementos de
lógica funcional, programación funcional y
basado en el lenguaje programación lógica.
 Haskell, que combina
elementos de El programa es expresado a
programación través de un conjunto de
funcional y funciones expresados bajo
 programación lógica. ecuaciones o reglas.
El programa es
expresado a través de
un… … Wikipedia
Español
 Curry (lenguaje de
programación) —
Curry[1] es un
lenguaje experimental
de programación en
lógica funcional,
basado en el lenguaje
Haskell, que combina
elementos de
programación
funcional y
 programación lógica.
El programa es
expresado a través de
un conjunto de
funciones…

Evidencia 7

También podría gustarte