cartel

Páginas: 5 (1083 palabras) Publicado: 5 de mayo de 2014
Lenguaje Funcional Erlang
Erlang es un lenguaje funcional y concurrente que fue desarrollado por Ericcson para la aplicación de telecomunicaciones.
Aunque Ericcson era originalmente el propietario del lenguaje Erlang, en el año 1998 el lenguaje fue cedido como open source.

Erlang es un de los pocos lenguajes de programación declarativos que es exitoso en el mundo empresarial.
Ademáspertenece a los lenguajes orientados a mensajes, los cuales proporcionan concurrencia osuando procesos paralelos. La concurrencia, es que varios procesos se lleven a cabo (sean ejecutados) al mismo tiempo.

Hablando de Erlang como un lenguaje orientado a mensajes, la interacción que se da entre los threads (procesos) en dichos lenguajes, se lleva a cabo mediante el envío y la recepción de mensajes.El equipo de Erlang desarrollo ciertas caracterisitcas en el lenguajes de acuerdo a los requisitos que tienen las aplicaciones de telecomunicaciones, las cuales son: alta disponibilidad, modificación del código sin detener la aplicación, y demás.

Bueno, tomando en cuenta estos requisitos, algunas de las caracteristicas desarrollados por el equipo de Erlang son:
Concurrencia
Lenguajefuncional
Tolerancia a fallos
Reemplazo de código en caliente
Comunicación entre los procesos mediante mensajes.
El soporte de concurrencia, se dice que es la mayor fortaleza de Erlang, y como ya lo mencione anteriormente, la concurrencia es cuando se llevan a cabo o se ejecutan varios procesos al mismo tiempo.

Además ,Erlang es un lenguaje funcional, ya que esta estructurado por definición defunciones.
Los programas en Erlang se componen de bloques funcionales, llamados funciones.
Podemos identificar una función en un programa en Erlang, mediante el nombre y la aridad de la función, dicha aridad es el número de datos de entrada, que se permitirán en la función. Es decir, la función volumen/3, permite solo 3 datos de entrada mientras que la función area/2, permite solo 2 datos deentrada.

Algo muy importante que hay que mencionar es que pueden coexisitir sin ningun problema dos funciones con el mismo nombre y diferente aridad, como por ejemplo: multiplicación/2 y multiplicación/3, ya que las dos funciones son diferentes.

La definición de una función es la siguiente:
nombre-función(Argumento1, Argumento2, ...) ->
instruccion,
instruccion,
Resultado-a-devolver.
Lasfunciones se agrupan en módulos, los cuales son las unidades mínimas de compilación en Erlang. Cada módulo tiene un nombre, único en el programa y se almacena en un fichero fuente, y dicho fichero tiene el nombre del módulo.
Las primeras líneas del fichero contienen la definición del módulo y las funciones que se exportan; las funciones que no sean exportadas, no podrán ser utilizadas fuera de estemismo módulo.

En Erlang el módulo y su función o funciones se escriben de la manera siguiente:
-module(nombre_modulo).
-export([funcion1/2, funcion2/1, funcion3/4]).

También se pueden poner las funciones por separado, es decir, así:
-module(nombre_modulo).
-export([funcion1/2]).
-export([funcion2/1]).
-export([funcion3/4]).
Hay que poner atención en el . que hay al final del módulo yde las funciones exportadas.

En cuanto a la tolerancia a fallos, se puede mencionar que la idea en Erlang sobre estos errores o fallos que se pueden dar, es encontrar una buena forma de manejar dichos errores y problemas en lugar de prevenirlos.

En el reemplazo de código en caliente, puedo mencionar que la unidad mínima de reemplazo son los módulos.
Pueden estar cargadas en memoria al mismotiempo dos versiones diferentes de un mismo módulo, pero cuando se realiza la llamada a una función, la versión que se utilizará será la última versión disponible del módulo.

Como lo mencione anteriormente la interacción o comunicación que hay entre los threads (procesos), se realiza mediante mensajes.

Bueno, a continuación les mostraré un sencillo ejemplo de un programa en Erlang, al que...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Cartel
  • cartel
  • cartel
  • Cartel
  • Carteles
  • El cartEl
  • Los Carteles
  • cartel

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS