domingo, 31 de octubre de 2010

Lenguajes Funcionales... y esto.. ¿Para que sirve?

Laboratorio de Lenguajes de Programación.

Como les hablaba en mi entrada Lenguajes Scripting.. y esto.. ¿Para que sirve? les hablaré ahora de los lenguajes funcionales que vimos en clase, para así saber que lenguaje es mas eficiente para un trabajo o problema dado.




Lenguaje R
Fue desarrollado por Robert Gentleman en 1993.
Este lenguaje es de genero matematico, su función es para el análisis estadístico y grafico (recolección, análisis e interpretación de datos para ayudar a la resolución de una toma de decisiones).
Es uno de los lenguajes mas utilizado en la investigación estadística, popular en la investigación biomedica y matemáticas financieras.
Lo podemos encontrar en multiples plataformas como Linux y Mac.
Existen librerías para integrarse con lenguajes interpretados como Perl y Python.
R tambien permite su propio formato para la documentación en LaTeX. Tambien lo podemos utilizar como calculo numerico.





Lisp

Su principal función es el proceso de listas, de ahi su nombre lisprocessing.
Es un grupo de lenguajes de programación funcional, todo esta entre parentesis.
Originalmente hecho en 1958 por John McCarthy, basado en el calculo lambda, es uno de los lenguajes que se utiliza para la inteligencia artificial, pionero en estructuras de datos de arboles, y manejo de almacenamiento automatico, entre otros.
Las listas encadenadas son la estructura de datos mas importante de este lenguaje.

Dialectos de este lenguaje:

  • Scheme
         Multiparadigma, apareció en la decada de los 70's diseñado por Guy L. Steele es     utilizado para principiantes con fines educativos.

  • Emacs LISP
         Se usa en el editor que utilizamos en clase Emacs, algunas veces lo podemos encontrar como Elisp, sirve para aquellos programadores que deseen extender y personalizar emacs.


ML estándar
Algunas veces llamado SML es un lenguaje funcional, multiparadigma, funcional e imperativo, que esta influido por ML, siendo este mas moderno, es utilizado para la logica de funciones computables (sistema de teoremas automatizadas desarrollada por Robin Milner, mismo que introdujo la programación ML que prueba los teoremas matemáticos en un programa de computadora.) Con este lenguaje se escriben programas con expresiones a evaluar.






Haskell
Es un lenguaje de funcional diseñado por la Simon Peyton, en los años 90's, se incluyen tipos de datos, funciones recursivas, listas, etc... 
Sus principales característica es la Lazy evaluation(tecnica de retrasar un calculo hasta que el resultado se requiera) Pattern matching (es comprobar la secuencia de tokens en presencia de los componentes de algunos patrones), y List comprehensions( sintactica crear listas basadas en listas existentes. )






Erlang
Es un lenguaje multiplataforma: concurrente(simultaneidad en la ejecución de tareas multiples) y funcional, diseñado por Ericsson en 1986, tiene como objetivo 3 cosas.
Fue diseñado para mejorar las aplicaciones de la telefonia, implementado incialmente en Prolog.


Espero que mi explicación les sirva, si tienen algún comentario acerca de esta entrada, espero me digan ya que estoy abierto a cualquier error.


1 comentario: