Orígenes y beneficios de programar con Elixir :D

Orígenes y beneficios de programar con Elixir :D

¡Hola Geekalt42ros!

Últimamente he estado muy interesado en Elixir, ya que en mi trabajo se desarrolló una pequeña herramienta sobre él, y la simplicidad con la que se lee Elixir está increíble. No soy un experto en el lenguaje ni nada por el estilo, pero con solo escuchar sus capacidades y alcances, me dio bastante curiosidad, a parte de que WhatsApp está hecho sobre Erlang, el predecesor de Elixir:O.

Para explicar qué es y cómo nace Elixir, tenemos que irnos un poco más atrás en el tiempo con su predecesor, Erlang. Erlang es un lenguaje de programación funcional en el cuál sus mayores ventajas son desarrollar aplicaciones que proveen las herramientas necesarias para construir un sistema distribuido, desde concurrencia, aislación de procesos, procesos bastante ligeros (¡2Kbs!), escalabilidad, tolerancia a fallos y sobre todo, high-availability.

Erlang fue desarrollado por Ericsson en los 80’s, fue diseñada para proveer sistemas escalables y con alta disponibilidad en la rama de las telecomunicaciones. Corre sobre su propia máquina virtual (BEAM), la cual tiene una arquitectura bastante interesante donde las tareas se dividen en procesos de Erlang, no procesos del sistema operativo, y estos procesos implicitamente habilitan el poder de la concurrencia y las ventajas que describí anteriormente.

La sintaxis de Erlang es algo complicada, así que Elixir nació.

Elixir corre sobre la máquina virtual de Erlang, y es un lenguaje funcional que tiene una sintaxis parecida a la de ruby. La versión 1.0 salió apenas en el 2014, así que podríamos decir que Elixir es un lenguaje bastante joven, pero con muchísimo futuro al parecer. Elixir provee herramientas como la comunicación entre procesos por medio de mensajes, supervisión de procesos, pattern matching, entre otras cosas útiles para hacer nuestra programación más segura y menos defensiva al momento de manejar errores.

Elixir no provee Semaforos ni Mutex.

La concurrencia es ahora un requisito del negocio fundamental, mucho más que antes. Nuestras computadoras ya tienen múltiples núcleos que en ocasiones no aprovechamos por desidia a la paralelización.

Un link de introducción para que aprendan elixir: Quick Start

Cualquier comentario o duda sobre Elixir, aunque no sepa mucho, podemos platicarlo sin problema, mi correo es: lguitarras0594@gmail.com

La escuela y el trabajo me han consumido bastante u_u pero aquí andamos 😀

¡Saludos!

Written by Alberto Romero

Software developer intern @VoxFeed. Experiencia con Java, C#, desarrollo para Android y algunas tecnologías web como Golang, Python, Javascript y los tipicos de front end que ya se los saben de memoria. Me encanta la música y me gustan los videojuegos (especialmente DotA). Abierto a debate, conversaciones espontáneas y #random.

1 Comment

Deja un comentario

A %d blogueros les gusta esto: