Está en la página 1de 18

Paradigma Funcional

Estudiante: Fermín Fernández

Docente: Vicenzo Mascia

Asignatura: Lenguajes de programación


Programación Funcional
● La programación funcional es un
paradigma de programación declarativa
basado en el uso de funciones.
● Representado principalmente por
expresiones matemáticas
Raíces de la
Programación Funcional
Cálculo Lambda

● Cálculo Lambda
○ Creado en 1936 por
Alonzo Church
Una forma de expresar
computaciones matemáticas
mediante funciones.
Lisp

● Diseñado en 1958 por John


McCarthy
○ Creado principalmente
para usarse en inteligencia
artificial

● Fue publicado en 1960


● Es uno de los lenguajes de
programación de alto nivel
más antiguos.
Características
Características de la PF

● Un programa se considera como una función matemática.


● No existen variables, sólo existen constantes, parámetros y
valores.
● La asignación no es una instrucción permitida.
● No existen los ciclos al estilo de los lenguajes tradicionales.
● Un lenguaje funcional puede lograr esto mediante la
recursión.
Características
● Los lenguajes de programación funcional están diseñados sobre el concepto de
funciones matemáticas que usan expresiones condicionales y recursividad para
realizar el cálculo.

● La programación funcional admite funciones de orden superior y características de


evaluación diferidas.

● Los lenguajes de programación funcional no admiten controles de flujo, como las


declaraciones de bucle y las declaraciones condicionales, como If-Else y
declaraciones de cambio. Utilizan directamente las funciones y llamadas funcionales.

● Al igual que OOP, los lenguajes de programación funcionales admiten conceptos


populares como Abstracción, Encapsulación, Herencia y Polimorfismo.
Algunos lenguajes
Ventajas de la
Programación Funcional
● Eficiencia: los programas funcionales
consisten en unidades independientes
que pueden ejecutarse
simultáneamente. Como resultado,
tales programas son más eficientes.

● Admite funciones anidadas: la


programación funcional admite
funciones anidadas.
Ventajas de la
Programación Funcional
● Como inconveniente, la programación
funcional requiere un gran espacio de
memoria. Como no tiene estado, debe
crear nuevos objetos cada vez para
realizar acciones.

● La programación funcional se utiliza en


situaciones en las que tenemos que
realizar muchas operaciones diferentes
en el mismo conjunto de datos
Importancia de la
Programación Funcional
● La programación funcional está
involucrada en la creación de Lisp,
lenguaje pionero en la inteligencia
Artificial, en su momento.

● La programación funcional se utiliza en


situaciones en las que tenemos que
realizar muchas operaciones diferentes
en el mismo conjunto de datos.
Características de Lisp
● Los datos en LISP son muy restringidos:
● Átomos literales (símbolos)
● Átomos numéricos
● La estructura de datos básica es la lista.
● Los parámetros de función van todos por valor o por referencia
según la clasificación de la función.
● LISP es interpretado y usa una estructura de gestión de
almacenamiento en montículo con recolección de basura como
almacenamiento primario para datos y programas.
Funciones en Lisp
● Para la manipulación de listas:
○ car L, devuelve el primer elemento de L.
○ cdr L, devuelve la cola (lista - primero).
○ cons x y, devuelve una lista formada por x e y.
○ list x y z, devuelve la lista (x y z).
○ quote x, no se evalúa x.
Funciones en Lisp
● Predicados
○ atom x, devuelve True si x es un átomo.
○ numberp x, devuelve True si x es un número.
○ greaterp x y, devuelve True si x>y.
○ lessp x y, devuelve True si x<y.
○ null x, devuelve True si x es nulo.
○ and x y, devuelve x and y.
○ or x y, devuelve x or y.
○ not x, devuelve not x.
○ eq x y, devuelve True si x=y.
Funciones en Lisp
● Funciones aritméticas
○ –
○ +
○ -
○ *
○ /
○ rem x y, devuelve el módulo x/y
Gracias.

También podría gustarte