Está en la página 1de 8

PRESENTACIN

Historia

Surge a partir de 1930s: con Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. Turing: Mquina de Turing, programacin imperativa(1958, John MacCarthy). LISP es el primer lenguaje de alto nivel basado en el paradigma funcional LISP no es programacin funcional pura, tienen algunas instrucciones Imperativas que permiten estado local y efectos laterales. LISP lenguaje revolucionario, introduce nuevos conceptos: funciones como objetos primitivos, funciones orden superior, polimorsmo, listas, recursin, smbolos, homogeneidad de datos y programas, bucle readeval-print Lenguajes funcionales puros: Miranda, Haskell, pH, Sisal, ML...

Concepto

Este tipo de paradigma demuestra un tipo de programacin en forma de funciones matemticas. Lenguajes puramente funcionales evitan efectos secundarios comunes en otros tipos de paradigmas. El objetivo es conseguir lenguajes expresivos y matemticamente elegantes, en los que sea necesario bajar al nivel de la maquina para describir el proceso llevado a cabo por el programa, evitando el concepto por el. El paradigma de la programacin funcional se cre explcitamente para permitir un enfoque puramente funcional de la resolucin de problemas

Caractersticas

Funciones como abstraccin de primer nivel. Los programas se ejecutan evaluando a expresiones. Las funcione son puras. Tpicamente se evita mantener el estado notable.

Ventajas

Disminuye los efectos generalmente lo usa.

colaterales,

la

programacin

imperativa

Proceso de depuracin menos problemtico Pruebas de unidades ms confiables Mayor facilidad para la ejecucin concurrente

Usos

La gran ventaja del paradigma funcional es la ausencia de estado. Estos lenguajes aprovechan esta caracterstica para implementar programas fcilmente escalables en arquitecturas de mltiples procesadores concurrentes o de mltiples servidores Un ejemplo es el uso de Scala en Tumblr con el que se consigue crear cdigo que no tiene estado compartido y que es fcilmente paralelizable entre los ms de 800 servidores necesarios para atender picos de ms de 40.000 peticiones por segundo y Twitter Otro ejemplo es el uso de las tcnicas de programacin funcional en los nuevos sistemas de bases de datos NoSQL como es el MapReduce de Google.

Lenguajes

Programacin imperativa vs funcional Programacin imperativa: pasos de ejecucin y estado de variables: int x = x + 1; int y = y + 3; Programacin declarativa: (define (cuadrado x) (* x x))

También podría gustarte