Adrián Arroyo Calle

¿Es Elixir el nuevo Ruby?

Entra Phoenix en acción

Probando Elixir con su REPL



defmodule Adder do

def add(a,b) do

a+b

end

end



Adder.add 42,15





add = fn a,b -> a+b end

x = 42

IO.puts add.(x,15)



Desde hace un tiempo oigo a bastante gente hablar de Elixir . Elixir es un lenguaje de programación de propósito general que vio la luz en 2011. Con bastantes aspectos de un lenguaje de programación funcional y dinámico, está especificamente diseñado para manejar la concurrencia. Se ejecuta sobre la máquina virtual BEAM, originalmente diseñada para Erlang y es capaz de ejecutar código métodos escritos en Erlang sin ninguna complicación extra. Además dispone de un sistema de compilación llamado, un gestor de paquetes llamadoy la forma de escribir documentación es similar a Python (existe(método), ¡aleluya!). Elixir además dispone de hot swapping, es decir, permite cambiar el código en ejecución sin necesidad de parar el programa. También le caracteriza tener un buen soporte a operaciones asíncronas.Mucha gente ha querido llamar a Elixir el Erlang escrito bonito. Muchos lo comparan con Ruby pues sí que comparten alguna característica común en su sintaxis y una filosofía en general de simplicidad. Además Elixir es mucho más rápido y está mucho mejor diseñado para concurrencia y aplicaciones tolerantes a fallos (como su hermano mayor Erlang).Sin embargo, ¿es justo comparar Ruby con Elixir?Mucha de la popularidad de Ruby se la debe a su framework Rails. Usado por una gran cantidad de sitios en la web, supuso para muchos su primer contacto con Ruby y la razón de que se quedasen aprendiendo el lenguaje.Curiosamente, Elixir también tiene un framework web que atrae a desarrolladores. Se trata de Phoenix Phoenix se presenta como un framework para la nueva web. Aplicaciones realtime, tolerantes a fallos y de alto rendimiento sin perder las facilidades y comodidades de frameworks anteriores. La gente que lo ha usado cuenta maravillas. ¿Has usado Phoenix? Cuéntanos tu experiencia en los comentarios.Elixir viene con un REPL, es decir, una terminal donde línea a línea podemos ir introduciendo código Elixir. Se ejecuta con el comandoPodemos hacer un hola mundo con Podemos probar a definir un módulo de suma: Lo que se ve en amarillo es el bytecode compilado para BEAM del módulo AdderAunque llegado el momento quizá nos interese crear alguna función anónima.Es fácil encontrar documentación en español sobre Elixir si deseas investigar más sobre el tema.Sin duda Elixir parece interesante. ¿Será un mero hype o dentro de unos años Elixir será uno de los lenguajes más populares? Ciertas webs han empezado a recomendar echar un vistazo a Elixir y Phoenix si queremos crear una nueva aplicación web.