Erlang

Revisión del 09:19 6 jul 2011 de Goldfields (discusión | contribuciones) (Página creada con '{{Ficha Software |nombre=Erlang |familia= |imagen=erlang-logo.jpg |tamaño= |descripción=Lenguaje de programación funcional |imagen2= |tamaño2= |descripción2= |creador=[[Eri...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Erlang
Información sobre la plantilla
Erlang-logo.jpg
Lenguaje de programación funcional
CreadorEricsson
Fecha de Creaciónaños 80
Plataformas soportadasUnix,Windows
Sitio web
[1]

Resumen

Erlang es un lenguaje de programación funcional de alto nivel, diseñado para escribir aplicaciones concurrentes y distribuidas de funcionamiento ininterrumpido. Erlang usa procesos concurrentes para estructurar la aplicación. Estos procesos no comparten memoria y se comunican de forma asincrónica mediante el paso de mensajes. Los procesos Erlang son muy ligeros y pertenecen al propio lenguaje, no al sistema operativo. Erlang posee un mecanismo para cambiar el código fuente de un programa o aplicación al vuelo, sin tener que detener el programa. Este mecanismo facilita la implementación de sistemas indetenibles.


Historia

Los inicios de Erlang toman lugar en los años 80 en los laboratorios de Ciencias de Computación de la Compañía de telefonía sueca “Ericsson”, como un intento de desarrollar un lenguaje de programación de alto nivel, estructurado y con capacidad para afrontar el tipo de proyectos, especialmente de Telecomunicaciones, que la empresa estaba desarrollando y que optimizara el uso de la tecnología emergente en Microelectrónica, especialmente en Microinformática.


Características

Entre sus características más relevantes se encuentran


Lenguaje de alto nivel basado en procesos

Gran parte del código luce así:

   % Ejecuta la función loop() como un nuevo proceso y guarda el id del proceso en ‘Pid’.
   Pid = spawn(fun()-> loop() end)
   % Envía un mensaje al proceso apuntado por ‘Pid’.
   Pid ! “Hola Mundo en Erlang!”.

   % Cuerpo de la función loop()
   loop()->
       % Recibe el mensaje enviado al proceso.
       receive Msg->
           hacer_algo
   end.

Acoplamiento de patrones (Pattern-Matching)

   % Obtiene el tercer valor sin importar cuales son los dos primeros.
   {_, _, Cual} = {perro, gato, vaca}.

   % Obtiene el tercer valor garantizando que el primero sea ‘perro’ y sin importar cuál es el segundo.
   {perro, _, Cual} = {perro, gato, vaca}.

Organización de memoria automática mediante el Colector de Basura (Garbage Collector)

Erlang posee al igual que .Net y Java un mecanismo limpieza de la memoria que permite al programador olvidarse de manejar la destrucción de las variables una vez creadas y fuera de contexto. Este mecanismo se encarga automáticamente de destruir todos los objetos y procesos que ya no se estén utilizando ya sea porque están fuera de contexto o porque muere su objeto o proceso padre.


Enlaces Externos

NOTA: EN EDICION