Sie sind auf Seite 1von 14

PARADIGMAS DE LA

PROGRAMACIN
FUNCIONAL
XIMENA PUCHAICELA
PABLO SIGENZA
JHON CALLE
Un poco de historia.

La programacin funcional tiene sus races en el calculo lambda.


Un sistema formal desarrollado en los aos 1930 para investigar la
definicin de funcin, la aplicacin de funciones y la recursin.
(un bloque de instrucciones se ejecute cierto numero de veces).

En 1958 apareci el primer lenguaje Lips con orientacin a


funciones o programacin funcional.
Pero, Qu es la programacin funcional?

Podemos decir que, PROGRAMACION FUNCIONAL, es


un paradigma de programacin declarativa, basado
en el uso de funciones matemticas, en contraste con
la programacin imperativa, que enfatiza los cambios
de estado mediante la mutacin de variables.

Cabe recalcar que los lenguajes que adoptan


programacin funcional son aquellos lenguajes donde
las variables no tienen estado
no hay cambios en stas a lo largo del tiempo
son inmutables
no pueden cambiarse los valores a lo largo de la
ejecucin
Por qu deberamos usarla?

La programacin funcional nos facilita la creacin de


software mas robusto, mantenible y fcil de testear

Dentro de los lenguajes funcionales tenemos una gran


diversidad tales como Lisp, Scheme, Clojure, Haskell,
OCaml y Standard ML, entre otros. Estos lenguajes estn
tienen diversidad de tipificacin, donde se encuentran
lenguajes dinmicos, estticos y estticos fuertes.
ADEMS

El paradigma de la programacin funcional pretende eliminar los


cambios de estado para ello se basa principalmente en la
composicin de funciones, la transparencia referencial y las
funciones puras.
El paradigma funcional separa las estructuras de datos y las
funciones que operan sobre ellas.
El objetivo del paradigma funcional es conseguir lenguajes
expresivos y matemticos elegantes.

Busca satisfacer las necesidades del usuario con respecto a


operaciones matemticas y conversin hacia un lenguaje mas
expresivo

Se basa en tres principios clave:


- Las funciones son el elemento bsico de abstraccin y
reutilizacin de cdigo.
- Las funciones son un elemento de primer orden el lenguaje
- El resultado de evaluar una expresin depende nica y
exclusivamente de sus parmetros de entrada.
CARACTERSTICAS
Las principales caractersticas de la programacin funcional son:
Funciones Puras: Todas las funciones que se definan no deben
cambiar nada de su entorno, pues nicamente deben recibir
parmetros y devolver valores.
Inmutabilidad: los valores no pueden ser modificados solo se
pueden realizar copias de los mismos modificados.
Funciones de orden superior: Las funciones son de primera clase y
se pueden usar como parmetros de entrada e incluso como
resultado de funciones . Para lograr hacer nuestro cdigo mas
componible.
VENTAJAS
Memorizar una funcin.
Nuestra salida para la misma entrada siempre ser la misma.
No depende de variables ni hay que implementar mtodos
para validar que solo se pueda entrar en ciertos bloques por
un solo hilo.
Las aplicaciones escritas en cdigo funcional tienen menos
cdigo
Cdigo reutilizable
Crea software mas robustos, mantenibles y fciles de testear.
DESVENTAJAS

Una de sus herramientas principales es la recursin


Utiliza trminos matemticos como: monada, funtor, monoide.
Etc.
EJEMPLOS DE LENGUAJES QUE UTILIZA
Ejemplo en Python
El bien conocido algoritmo
para verificar si un RUT es
vlido o no, se puede
expresar funcionalmente en
Python como esta escrito en
el siguiente ejemplo.

Ejemplo en Haskell
El siguiente ejemplo dice
repetir la cadena, tomar 500
elementos y con esa lista
ejecutar la funcin monadica
putStrLn, que esta hecha
para el Monad IO e imprime
el mensaje las 500 veces
solicitada.

Ejemplo en Lisp
En Lisp sera similar, pero Lisp
es de tipificacin dinmica y
no necesita declarar
variables, dando lugar a un
programa muy simple de una
sola linea.
La programacin funcional tambin puede ser
desarrollada en lenguajes que no estn diseados
especficamente para la programacin funcional como:
Perl
Java Script
Python
APLICACIN
Se usa popularmente en el mbito acadmico y en mbitos
industriales en sistemas comerciales o industriales
Un ejemplo de lenguaje de programacin funcional usado
en el mbito industrial es Erlang el cual fue desarrollado para
poner en practica sistemas de tolerancia a fallos en las
telecomunicaciones empresas importantes como
WhatsApp, Facebook optaron por Erlang como lenguaje de
alguno de sus desarrollos
Otro ejemplo es Scheme de Lips que fue usado como base
de desarrollo de aplicaciones para los primeros ordenadores
de la firma Apple Macintosh.
CDIGO
Ejemplo extenso escrito en Python.
Bibliografa.

Tomado de http://www.programando.org/ el mircoles 2 de noviembre de 2017 en:


http://www.programando.org/blog/2012/11/que-es-la-programacion-funcional/
Tomado de https://www.paradigmadigital.com el mircoles 2 de noviembre de 2017 en:
https://www.paradigmadigital.com/dev/la-programacion-funcional-deberias-usarla/
Tomado de https://es.wikipedia.org/ el mircoles 2 de noviembre de 2017 en:
https://es.wikipedia.org/wiki/Programacin_funcional
Tomado de https://www.genbetadev.com/ el mircoles 2 de noviembre de 2017 en:
https://www.genbetadev.com/paradigmas-de-programacion/el-resurgir-de-la-programacion-
funcional
Tomado de http://www.dccia.ua.es/ El mircoles 2 de noviembre de 2017 en:
http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-2011/teoria/tema3.html

Das könnte Ihnen auch gefallen