Programa funcional
Concepto
La programación
funcional es un paradigma de programación declarativas basado
en la utilización de funciones
aritméticaque no maneja datos mutables o de estado. Enfatiza la aplicación de
funciones, en contraste con el estilo de programación imperativa, que enfatiza los cambios de estado. La
programación funcional tiene sus raíces en el cálculo lambda, un sistema formal desarrollado en los
años 1930 para investigar la definición de función, la aplicación de las
funciones y la recursión. Muchos lenguajes de programación funcionales pueden
ser vistos como elaboraciones del cálculo lambda.
Caracteristicas
Otras características propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio de funciones recursivas. Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos dogmáticos que los puros, al admitir conceptos tomados de los lenguajes imperativos, como las secuencias de instrucciones o la asignación de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje funcional híbrido.
Lenguajes
Lisp es un lenguaje tipo funcional, es el segundo
lenguaje de alto nivel más viejo, los dialectos de Lisp más ampliamente
conocidos son el Scheme y Common Lisp. El nombre Lisp viene de "LISt
Processing" (Proceso de LIStas). Una de las estructuras de datos
importante de Lisp son las listas encadenadas, el código fuente de lisp está
compuesto de listas.
El lenguaje funcional Hope puede considerarse como
una notación para escribir programas en forma de expresiones funcionales. Una
expresión puede estar constituida por un conjunto de símbolos básicos como;
"-,+, >, (, 2", etc.
CamelCase es un estilo de escritura
que se aplica a frases o palabras compuestas. El nombre se debe a que las
mayúsculas a lo largo de una palabra en CamelCase se asemejan a las jorobas de
un camello. El nombre CamelCase se podría traducir como mayúsculas/minúsculas
Camello. El término Case se traduce como "Caja tipográfica", que a su
vez implica si una letra es mayúscula o minúscula y tiene su origen en la
disposición de los tipos móviles en casilleros o cajas.
Erlang es un lenguaje funcional y de programación concurrente, fue diseñado por la compañía Ericsson con el propósito de hacer aplicaciones que puedan soportar fallos, funcionamiento ininterrumpido, aplicaciones distribuidas, entre otras cosas. Tiene una característica muy importante "el cambio de código en caliente" el cual se refiere a poder modificar el código aun cuando la aplicación está corriendo. Erlang no seguía la filosofía de código abierto hasta 1998 cuando Ericsson lo cedió como tal.
F# (pronunciado F Sharp) es
un lenguaje de programación multiparadigma de código abierto,para
la plataforma .NET, que conjunta la programación funcional con
las disciplinas imperativa y orientada a objetos. Es una
variante del lenguaje de programación ML y es compatible con la
implementación Objetive Caml. F# fue inicialmente desarrollado por Don
Syme de Microsoft Research, pero actualmente está siendo desarrollado por
la División de Desarrolladores de Microsoft y es distribuido como un
lenguaje totalmente soportado en la plataforma .NET y Visual
Studio 2010, 2012 y 2013.
No hay comentarios.:
Publicar un comentario