lunes, 25 de octubre de 2010

.: Especialidades de Lenguajes Funcionales :.

:: Especialidades de Lenguajes Funcionales ::



Materia. Lab de Leng de Progr

Hora. V1 (Jueves)

En estos lenguajes lo que predomina principalmente son la definición y aplicación de las funciones que vayamos a utilizar.

Anteriormente comenté algo acerca de las especialidades de los lenguajes script, en lo que se enfocaban.

Ahora veremos algo similar, pero de algunos lenguajes funcionales.

Lenguaje R
  • Sistema para análisis estadísticos y gráficos.
  • Programar bucles para analizar conjuntos sucesivos de datos.
Cálculo Lambda

Sistema formal diseñado para investigar:
  • La definición de una función.
  • La aplicación de una función.
  • La recursividad.
Lisp
  • Lenguaje para Procesar Listas.
  • Creado por John McCarthy, el cual tenía el interés especial en aplicaciones matemáticas puesto que trataba de ofrecer un mecanismo alternativo a las Maquinas de Turing para poder formalizar algoritmos.
  • Implementaciones principalmente matemáticas.
  • Posee un manejo de memoria que libera el espacio utilizado por los objetos que ya no son requeridos.
Scheme
  • La verdad no localice nada concreto en cuestión de utilidad. Sólo que es un lenguaje derivado de LISP, donde su principal metodología se basa en la resolución de problemas.
  • Scheme permite resolver problemas complejos con programas cortos y elegantes.
Haskell
  • En concreto, Haskell únicamente surgió como un lenguaje funcional que reuniera todas las características de los lenguajes funcionales de la época (1980). He de ahí que se diga que Haskell es un lenguaje funcional de propósito general.
  • Incluye soporte para tipos de datos y funciones recursivas, listas, etc.
Erlang
  • Se usa en el contexto de sistemas distribuidos de control (NCS) tolerante a fallos de software.
  • Como lenguaje funcional tiene su uso en aplicaciones complejas, configurables dinámicamente, de modo que son casi inmunes ante fallos de software y hardware de modo que garantiza una operación sin detenerse en áreas como organización del control del tráfico aéreo/ferroviario, mensajería instantánea, servicios basados en Web (Amazon, Google, Yahoo, Facebook, etc.)
  • Su especialidad, que queda en contraste con la gran parte de otros lenguajes funcionales, es su gran naturaleza dinámica; las variables son dinámicas pues no son verificadas en tiempo de compilación, sino en el de ejecución, lo que quizás disminuya su rendimiento.
  • Y aunque este lenguaje provee de mecanismos tolerantes a fallos y a cubrir errores residuales en el código de producción, un sistema de tipos estáticos produciría claros beneficios en la práctica. Pero esto es un tema que aún se discute.
Si en sí desean conocer algo en específico que no se aclare aquí, no duden en comentarlo para ver que podemos encontrar.


Saludos a todos.

1 comentario: