lunes, 20 de septiembre de 2010

Lenguaje de Programacion Erlang


Lenguaje de Programación 
Martes m1-m3

Hola compañeros, les explicare un poco sobre el lenguaje de programación Erlang.

Erlang es un lenguaje de programación de propósito general y un entorno de ejecución. Es uno de los lenguajes declarativos mas exitosos en el entorno empresarial.

Erlang pertenece a la clase de lenguajes orientados a mensajes. Estos lenguajes proporcionan concurrencia usando procesos paralelos. No hay objetos compartidos en un lenguaje orientado a mensajes, si no que toda la interacción entre los procesos se realiza enviando y recibiendo mensajes.

Las caracterisiticas mas destacadas son:
- lenguaje funcional
-soporte de concurrencia
-distribución, no hay memoria compartida
-tolerancia a fallos
-recolector de basura
-procesos concurrentes altamente aislados
-comunicacion entre procesos con paso de mensajes
-funciones de orden superior
-comprovación de tipos dinámica
-posibilidad de conectar con cógico C, Java, y otros lenguajes.


Respecto a la concurrencia:
-Todo es un proceso
-Los procesos están fuertemente aislados
-La creación y distrubución de objetos es un proceso ligero
-Los procesos tienen nombre únicos
-Los procesos no comparten recurso alguno


La mayor parte del lenguaje, y probablemente la menos interesante, es el subconjunto secuencial. Este subconjunto secuencial tiene comprobacion dinámica de tipos y es un lenguaje de programación estrictamente funcional, libre de efectos secundarios en su mayor parte.

Ejemplo de programación Erlang
Los programas están compuestos de bloques funcionales, llamados funciones. las funciones se identifican unícamente por su nombre y su ariedad (el número de datos de entrada), no solo por su nombre como en otros lenguajes.

la definición de un lenguaje es:

nombre-función(argumento1, argumento 2, ...) guarda-opcional - ˃
intrucción,
intrucción,
Resultado-a-devolver.

La guarda opcional puede ser de: when Argumento 1 ˃ Argumento 2

un ejemplo de función:

duplica (x) -˃
X*X
En Erlang una función puede ser definida con varias cláusuras, por ejemplo:

fibonacci (0) -˃
1; 

fibonacci (1) -˃
1;
fibonacci (N) -˃
 fib (N-2) + fib (N-1)
 

Espero que les haya servido esta informacion. Favor de comentar

Que tengan un Expelente Día

SALUDOS!!

1 comentario:

  1. Es importante que incluyas en las entradas las referencias bibliográficas, o sea, de dónde sacaste esta información. (No es que yo no sepa, sino porque es una cosa de buena educación indicar explícitamente de dónde proviene.) Te pongo un punto a lo de lenguajes funcionales por esta entrada.

    ResponderEliminar