Programació funcional
En informàtica, la programació funcional[1] és un paradigma de programació que tracta les computacions com un procés d'aplicació de funcions, evitant les dades mudables amb els seus canvis d'estat. La programació funcional es fonamenta en el càlcul lambda, un sistema formal desenvolupat en els anys 1930s.
La diferència entre funció matemàtica i el concepte de funció emprat en la programació imperativa és que les funcions imperatives tenen efectes laterals, canviant el valor d'objectes ja calculats, mostrant una manca d'integritat referencial, doncs una mateixa expressió pot tenir diferents valors en moments diferents, depenen de l'estat d'execució del programa.
Els llenguatges de programació funcional, sobretot els funcionalment purs, han estat esperonats en cercles universitaris més que no en el sector comercial. Tanmateix n'hi ha amb un notable ús comercial, entre els que s'inclouen Scheme, Haskell, Erlang, ML, Scala i llenguatges de domini específic com R (estadística), Mathematica, J i K en anàlisi financera i XSLT en transformació de documents. Llenguatges declaratius com SQL i Lex/Yacc empren aspectes de programació funcional, esquivant les variables mudables. Els fulls de càlcul també poden ser vistos com a llenguatges de programació funcional.
Referències [modifica]
Enllaços externs [modifica]
- Univ. de Girona - Introducció a la prog. funcional amb explicació del Càlcul lambda
- Univ. de Girona - Teoria de la prog. funcional
- Concurs anual de programació funcional (anglès) Concurs de la ICFP: Conferència Internacional sobre Programació Funcional Vídeo
- Programació funcional per a la resta dels mortals (anglès)
- Programació funcional en Python (by David Mertz): part 1, part 2, part 3 (anglès)
- Javascript funcional (anglès)
- Simon Peyton-Jones - La implementació de llenguatges de programació funcional (anglès)