martes, 13 de octubre de 2009

Empecemos de cero

Puede que con los ejemplos del post anterior nos quedasen ganas de empezar a probar  pero no sabemos como, pues ahora vamos pasito a pasito.


¿ Dónde descargo Erlang ?

Para ello nos vamos al web de Erlang y vamos a la sección de descargas. Según el sistema operativo que dispongamos deberemos de descargar la versión adecuada, si lo deseamos también podemos descargar los fuentes. En el caso de utilizar linux basado en Debian y derivados simplemente con realizar un sudo aptitude install erlang lo tendremos listo. También es muy recomendable instalar la documentación, dado que de este modo podremos utilizar las páginas "man" que proporciona.


¿Qué utilizo para programar en Erlang ?

En principio para programar en Erlang sólo hace falta un editor de texto, vale desde el infame "Bloc de notas" en windows, pasando por vi, ed, joe, nano, o lo que se prefiera, no obstante se suele recomendar emacs, dado que dispone de un modo de trabajo bastante cómodo. Si se quiere un IDE de esos que venden muy bien, para convencer al jefe :), hay módulos para Netbeans y Eclipse.

Socorro !!!!!

En caso de necesitar ayuda y documentación tenemos varias formas de acceder a ella:
  1. En linux podemos acceder a las páginas de manual con la orden  erl -man seguida del nombre del módulo del que necesitamos ayuda, p.ej  erl -man lists para obtener la ayuda de las funciones que trabajan sobre listas.
  2. Podemos consultar la documentación en linea en el web, http://erlang.org/doc/
  3. En erldocs tenemos un cómodo buscador de información.
  4. Es conveniente leerse la guía de buenas prácticas http://www.erlang.se/doc/programming_rules.shtml
  5. Como introducción también podemos leer http://www.erlang.org/starting.html
En los siguientes post iremos desgranando la forma de trabajar con este lenguaje.

miércoles, 7 de octubre de 2009

¿ Qué es Erlang ?

Erlang es un lenguaje de programación y un entorno de ejecución de los programas creados en este lenguaje. Fue creado en Ericsson y liberado como open source en el año 1998.

Entre sus principales características destacan o asustan :) las siguientes:
  • Lenguaje funcional 
  • Asignación única
  • Tipado dinámico
  • Distribuido y concurrente (Actor Model)
  • Tolerante a fallos
  • Soft-real-time
  • Cambio en caliente del código
  • El uso de threads es extremadamente sencillo y muy útil
  • Escala linealmente en los sistemas multiprocesador.
  • OTP es el framework de patrones de diseño y librerias necesarias para poder realizar un proyecto en Erlang.
En los últimos años a surgido bastante interés en él, debido a su uso en varios productos de importantes empresas:
  • Amazon SimpleDB
  • El Chat de Facebook
  • El servidor de jabber/XMPP ejabberd
  • RabbitMQ un servidor que implementa el protocolo AMQP.
  • Apache CouchDB, que utiliza Canonical para su servicio Ubuntu One de sincronización de ficheros
Por último antes de entrar en detalles del lenguaje el clásico "hola mundo", en 2 versiones

-mod(hola).
-export([di_hola/0]).

di_hola() ->
  io:format("Hola, Mundo").

En este ejemplo no se observa la potencia del lenguaje, para ellos se muestra otra versión que utiliza los conceptos de concurrencia y paso de mensajes del "Actor Model"

-module(hola1).
-export([di_hola/0]).

di_hola() ->
   Pid = spawn(fun() -> loop() end), %Lanzamos un proceso que ejecuta la función loop
   Pid ! hola,  % Le enviamos al proceso el mensaje hola
   Pid ! adios. % Le enviamos al proceso el mensaje adios

loop() -> 
   receive   
      hola -> %El proceso recibe el mensaje hola
         io:format("Hola, Mundo !~n"), %Imprime el mensaje "Hola Mundo"
         loop(); % Volvemos a llamar a la función loop por si hay mas mensajes
      adios ->  % Llego el mensaje adios
         ok  % Devolvemos ok y finalizamos.
   end.




Llegamos al final del primer post sobre Erlang, en los posts siguientes iremos desgranando el lenguaje y conoceremos su verdadera potencia ...

Es un lenguaje que engancha y mucho ...

Primer post .. "LA CIENCIA EN ESPAÑA NO NECESITA TIJERAS"

El primer post de "es-erlang" debiera de ir sobre Erlang, pero dado que hoy todo bloguero que se precie anda tocando las narices al gobierno con el tema de los recortes de las ayudas I+D en los presupuestos generales del estado, me uno a ellos en la protesta.

Se hablaba, con esto de la crisis,  de cambio de "módelo productivo" para que errores del pasado no volviesen a ocurrir, el tratar de que los científicos no se vayan a otros países, de crear un industria innovadora.

Pero resulta que llegan los presupuestos generales y se recortan las ayudas al I+D por lo que el cambio de modelo productivo probablemente se dé en la fabricación del ladrillo.. cuando le encuentren utilidad como alimento ...