Sei sulla pagina 1di 6

INSTITUTO TECNOLOGICO SUPERIOR DE

ALVARADO
UNIDAD ACADEMICA TLALIXCOYAN.

INGENIERIA EN SISTEMAS
COMPUTACIONALES.

PROGRAMACION LOGICA Y
FUNCIONAL
“REPORTE DE INVESTIGACIÓN (1)”
PROFESOR: ALUMNOS:
ING. DIONISIO PEREZ PEREZ GERARDO VIVEROS VALLECILLO.

GRADO: / GRUPO: / MODALIDAD:


7mo SEMESTRE / YD / SABATINO

TLALIXCOYAN, VER. 28/SEPTIEMBRE/2019


INDICE
INTRODUCCIÓN ............................................................................................................................. 3

PROGRAMACIÓN DECLARATIVA........................................................................................... 4

Diferencia entre imperativo y declarativo. ................................................................................ 4

Tipos. .............................................................................................................................................. 4

Ventajas. ........................................................................................................................................ 4

Algunos lenguajes declarativos................................................................................................... 5

CONCLUSIÓN .................................................................................................................................. 6
INTRODUCCIÓN
Programación declarativa, en contraposición a la programación imperativa, es un
paradigma de programación que está basado en el desarrollo de programas
especificando o "declarando" un conjunto de condiciones, proposiciones,
afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema
y detallan su solución.

La solución es obtenida mediante mecanismos internos de control, sin especificar


exactamente cómo encontrarla (tan solo se le indica a la computadora qué es lo que
se desea obtener o qué es lo que se está buscando). No existen asignaciones
destructivas, y las variables son utilizadas con transparencia referencial.
PROGRAMACIÓN DECLARATIVA
La programación declarativa es un estilo de programación en el que el programador no dice
“cómo” llegar a obtener la solución de un problema (es decir, las instrucciones necesarias
para llegar a ella) sino “qué” define esa solución.
Es lo contrapuesto a la programación imperativa, en la que el programador indica los pasos
o instrucciones que deben realizarse para obtener la solución.

Diferencia entre imperativo y declarativo.


En la programación imperativa se describe paso a paso un conjunto de instrucciones que
deben ejecutarse para variar el estado del programa y hallar la solución, es decir,
un algoritmo en el que se describen los pasos necesarios para solucionar el problema.

En la programación declarativa las sentencias que se utilizan lo que hacen es describir el


problema que se quiere solucionar; se programa diciendo lo que se quiere resolver a nivel de
usuario, pero no las instrucciones necesarias para solucionarlo. Esto último se realizará
mediante mecanismos internos de inferencia de información a partir de la descripción
realizada.

Tipos.
Existen varios tipos de lenguajes declarativos:
 Los lenguajes lógicos, como Prolog.
 Los lenguajes algebraicos, como Maude y SQL.
 Los lenguajes funcionales, como Haskell y Erlang.

Ventajas.
Cuando pensamos en los beneficios de programar en forma declarativa, en general se
empieza pensando en las ventajas propias del lenguaje a utilizar. Por ejemplo, si se está
usando un lenguaje funcional, la principal ventaja es que al lidiar puramente con funciones,
no necesitamos preocuparnos por el estado de la información, ya que los datos sean
inmutables. Por otro lado, en el caso de los lenguajes basado en reglas, los programas son
más claros y entendibles incluso por los usuarios.

A pesar de todo esto, la ventaja más importante de la programación declarativa consiste en


que el indicar a la computadora“qué” tarea es la que tiene que hacer, en lugar de “cómo”
hacerla nos protege de cambios en el contexto tecnológico. En ese sentido, el qué perdura
mucho más que el cómo..

Algunos lenguajes declarativos.


 Haskell (Programación funcional)

 ML (Programación funcional)

 Lisp (Programación funcional)

 Prolog (Programación lógica)

 F-Prolog (Programación lógica difusa)

 Curry (Programación lógico-funcional)

 SQL

 QML
CONCLUSIÓN
Ahora, después de 20 años, los grandes de la industria comienzan a darse cuenta de
los beneficios de programar en forma declarativa.

Antes de su retiro de Microsoft, el propio Bill Gates aconsejó que “deberíamos estar
haciendo las cosas en forma declarativa (…) no deberíamos estar escribiendo tanto
código procedural”.

Si queremos lograr un verdadero incremento de productividad, es importante que


todos dentro de la comunidad del desarrollo de software nos demos cuenta que
claramente debe existir un cambio de paradigma a la hora de programar.

Potrebbero piacerti anche