En estos ltimos aos, un nuevo lenguaje de programacin ha
estado ganando terreno. Me refiero a Elixir, o segn las
dinmicas de los hashtags #ElixirLang.
Uno de los motivos por el que me ha gustado este lenguaje es
que ha adoptado una sintaxis clara y sencilla, enfocada, segn mi impresin, en el disfrute del programador, de manera semejante a Ruby.
Otra razn que hace a Elixir atractivo para m, es que el
lenguaje lleva esa sintaxis sencilla a una posicin desde donde puede aprovechar lo mejor de una plataforma veterana y muy pulida durante aos. Se ha colocado justo encima de una de las mquinas virtuales mejor adaptadas para atender gran cantidad de procesos de manera concurrente: la mquina virtual de #Erlang.
En cierto modo, es la combinacin de lo mejor de dos mundos
justo para la era en que se les requiere.
La alta concurrencia que brinda Erlang no es tan sencilla de
conseguir en otros lenguajes de programacin ampliamente difundidos.
Otros lenguajes muy fciles de aprender y productivos, como
Ruby o Python, disfrutados por millones de programadores en el mundo, no facilitan tanto la labor de conseguir un gran desempeo al tiempo que se trabaja con mltiples hilos como lo hace Erlang.
Cuando el meollo de un proyecto de software es proveer
servicios a miles o millones de usuarios simultneamente, como es el caso de las aplicaciones en Internet que atraen mucho trfico, la combinacin Elixir + Erlang merece considerarse detenidamente.
Se dice que el futuro es funcional, y Elixir est facilitando la
transicin a los trabajadores del cdigo que vienen de otros paradigmas de programacin.
No es poca cosa si se tiene en cuenta que Jos Valim, creador
de Elixir, es uno de los mejores conocedores de las entraas de Ruby on Rails, el popular marco de trabajo para aplicaciones web basado en Ruby. l es, tambin, parte del Rails Core Team, escribi el libro Crafting Rails Applications, de modo que, muy seguramente, l habr tenido muy claros los beneficios de dar un paso al futuro al crear algo nuevo a partir de su experiencia con Ruby y RoR, sin perder de vista que se requera fortalecer esta evolucin apoyndose en tecnologa con experiencia madura orientada a la concurrencia.
Si eres programador, te invito a darle un vistazo y considerar a
Elixir [ http://elixir-lang.org/ ] para desarrollar proyectos en paralelo, o de ser posible, para proyectos principales.
Este texto se public originalmente el 1 de octubre de 2014
en http://elusivecode.tumblr.com/post/130483075156/por- que-elixir