aprendiendo ( Erlang ).

jueves, 17 de febrero de 2011

¿Qúe es Erlang?

| 4 comentarios |

Erlang fue diseñado por la compañía Ericsson para realizar aplicaciones de telefonía. Dichas aplicaciones tenían que ser distribuidas, tolerantes a fallos y de funcionamiento ininterrumpido. Para conseguir que los programas Erlang funcionen de forma ininterrumpida proporcionaron al lenguaje de propiedades interesantes para sistemas críticos; el cambio de código en caliente y la gestión de errores.

En 1998 se libero el código del lenguaje pasando a ser de código abierto.

El nombre de Erlang tiene dos posibles teorías:

  1. Recibe su nombre en homenaje al matemático y estadístico danés A. K. Erlang.
  2. Es una abreviación de las palabras ERicsson y LANGuage.

Erlang se caracteriza por:

Concurrencia: Erlang utiliza procesos ligeros cuyo requisitos de memoria pueden variar de forma dinámica. Los procesos no tienen memoria compartida y se comunican por paso de mensajes asíncronos.

Distribución: Erlang está diseñado para ejecutarse en un entorno distribuido. Una máquina virtual Erlang recibe el nombre de nodo Erlang. Un sistema distribuido de Erlang es una red de nodos Erlang. Un nodo Erlang puede crear procesos paralelos que se ejecutan en otros nodos, que tal vez utilizan otros sistemas operativos. Los procesos que residen en los diferentes nodos se comunican mediante el paso de mensajes.

Robustez: Erlang tiene varias primitivas de detección de errores que se pueden utilizar para estructurar sistemas tolerantes a fallos. Por ejemplo, los procesos pueden monitorear el estado y las actividades de otros procesos, incluso si estos procesos se ejecutan en otros nodos. Los procesos en un sistema distribuido se puede configurar para conmutarse, en caso de error, con otros nodos en caso de fallos, y así ser recuperados con facilidad.

Soft-real-time: Erlang admite programación "suave" de sistemas de tiempo real, que requieren tiempos de respuesta en el orden de milisegundos.

Actualización de código en caliente: Muchos sistemas no se puede parar para mantenimiento. Erlang tiene código que permite cambiar partes de la aplicación en un sistema en funcionamiento. Código antiguo puede ser eliminado y sustituido por el nuevo código. Durante la transición, tanto el código antiguo y el nuevo código puede coexistir. Por tanto, es posible instalar parches y actualizaciones en un sistema en funcionamiento sin alterar su funcionamiento.

Código de carga incremental: Los usuarios pueden controlar en detalle cómo se carga el código. En los sistemas empotrados, todo el código se carga generalmente en el arranque. En los sistemas de desarrollo, el código se carga cuando es necesario, incluso cuando el sistema esté en funcionamiento. Si el análisis revela errores, sólo el código erróneo necesita ser reemplazado.

Interfaces externas: Los procesos de Erlang se comunican con herramientas externas con el mismo mecanismo de paso de mensajes que se utiliza entre los procesos Erlang. Este mecanismo se utiliza para la comunicación con el sistema operativo y de interacción con otros programas.

Publicar un comentario

4 comentarios:

  1. Resident dijo...

    Simplemente Interesante el lenguaje, primera vez q lo escucho, pero leendo un poco me parecio interesantisimo y la simplicidad con la q se usa,

    felicitaciones por tu curso ;), aer si lo sigo

  2. Verdi dijo...

    Me alegra que te resulte interesante. La verdad es que, cuanto más profundizo en el lenguaje más me gusta. Y aun estoy en pañales, pero poco a poco voy avanzando.

    Gracias por la felicitación.

  3. Anónimo dijo...

    i like it,
    q duro me volvere loco tratando de aprender tantos lenguajes xD

  4. Rafa dijo...

    Hola,
    interesante artículo sobre erlang, creo que está ampliamente extendido en aplicaciones de mensajería instantánea tanto para sobremeses como para ya aplicaciones para smartphones apps
    Un saludo
    P.D. Podías añadir a las entradas de tu blog y a los comentarios las fechas de edición y comentario ;-)

 
Licencia Creative Commons
Aprendiendo Erlang por Verdi se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported.