Está en la página 1de 2

Elixir

Fernando Jorge Romero


Facultad de Ingeniería, Universidad Nacional Autónoma de México
Ciudad de México, México
fernando.useone@gmail.com
Abstract--- Elixir is a programming language based on the asignadas a variables y pueden ser el parámetro para otras
functional paradigm with allows us to separate tasks in funciones.
different CPUs making these faster to execute and to get
results. Big companies such as Whatsapp, Pinterest and III. CÓMPUTO DISTRIBUIDO.
Discord use this language to manage the information flow at
big scale. Una de las principales características de este paradigma
es que nos permite dividir procesos a diferentes CPUs, que
I. INTRODUCCIÓN serían difíciles de realizar en un solo procesador. Esto
Elixir es un lenguaje de programación funcional gracias que nuestro código está dividido en funciones, así
utilizado para codificar sistemas distribuidos como lo son que un procesador se puede encargar de una tarea específica
sistemas biomédicos y sistemas de seguridad, realizar tareas que necesite de cierta capacidad de recursos y dejarle
funciones más ligeras (o pesadas) a otros procesadores.
para estos sistemas es complicado cuando sólo se hace uso
de un CPU, por lo cuál utilizamos esta clase de herramientas IV. ELIXIR
para distribuir las tareas y administrar de una mejor manera
los recursos que tenemos disponibles. Elixir fue creado en 2011 por José Valim. Un brasileño
egresado de la Universidad de Säo Paulo, corre en una
II. LENGUAJES máquina virtual de Erlang y su principal objetivo es brindar
FUNCIONALES un ambiente más amigable y estable para usuarios que
Muchos lenguajes permiten diferentes formas de quieran manejar Erlang.
programar, un ejemplo de esto es Python, que nos permite En 2018 Elixir entra al equipo de desarrollo a PepsiCo
programar en el paradigma orientado a objetos y en eCommerce, una de las tantas empresas que han adoptado
paradigma funcional, pero, ¿qué es el paradigma funcional? Elixir para la administración de sus cadenas y la creación de
Se caracteriza por dividir la mayor cantidad posible de tareas software para la automatización de información de
en funciones, de esta forma estas tareas pueden ser usadas marketing.
por otras funciones con diferentes objetivos.
Así mismo Elixir es uno de los principales lenguajes que
Este paradigma se caracteriza por tener ciertas se utilizan para la programación de robots gracias a la
propiedades, entre ellas es que no tiene datos mutables, por facilidad que tiene con Erlang y la gran variedad de librerías
lo que el principal objetivo de este paradigma es manejar libres que tiene para la administración de los componentes
información, no modificarla o crearla. que usa un robot.
Existen las funciones puras, estas tendrán el mismo Gracias a que Elixir es bueno con la administración de
resultado cuando tienen los mismos argumentos que veces flujos de información, concurrencia, poca latencia y más
anteriores, las podemos clasificar como la base de este importante, la escalabilidad que tiene, se ha hecho popular
paradigma. entre industrias con estas características como lo son
telecomunicaciones, banca, publicidad, mensajería
Como parte fundamental del funcionamiento de este
paradigma tenemos la composición de funciones, que nos instantánea e internet de las cosas.
permite realizar tareas más complejas con la ayuda de otras Pinterest es otro ejemplo, originalmente codificado en
funciones, en gran parte de los casos usamos las funciones Java, en el que en 2014 hicieron el cambio a Elixir, el
puras para las tareas menores y desarrollamos más en la servicio tenía 250 millones de usuarios activos en la
función principal para obtener resultados diferentes. aplicación, pinning 175 billones de imágenes en sus
tableros. Con el cambio de Java a Elixir lograron recortar el
Es importante también decir que para este paradigma las
funciones juegan un papel muy importante que pueden ser
número de servidores en uso de 30 a 15, además les permitió Código Morsa. (2019, 20 septiembre). Programación
tener un código mejor organizado y más limpio. Funcional 4 conceptos que debes saber [Vídeo].
YouTube.
Otra empresa que ha mostrado el poder de Elixir es
https://www.youtube.com/watch?v=DVhMXarwDoQ
Discord, que comenzó como una buena opción para el
mercado de videojuegos gracias a su sencilla administración codigofacilito. (2018, 5 octubre). ¿Qué es la programación
de canales de voz, esta terminó siendo un espacio para funcional? [Vídeo]. YouTube.
comunidades de diferentes tipos, en 2017 lograron tener 5 https://www.youtube.com/watch?v=kFQEL9Z24ZM
millones de usuarios concurrentes. En 2019 Discord tuvo un
problema con Elixir el cuál era ocasionado por tener 11 Dreimanis, G. (2020, 15 abril). What Is Elixir And Why
millones de usuarios concurrentes, fue solucionado y Should You Use It? Serokell.
publicado en GitHub para su uso libre. https://serokell.io/blog/introduction-to-elixir

V. CONCLUSIONES Dudulski, J. (2019, 2 agosto). Why use Elixir for Web


Development? Monterail.
Como podemos notar, Elixir es un lenguaje de https://www.monterail.com/blog/why-elixir
programación que permite la escalabilidad de proyectos, sin
importar el nivel de expansión que tengamos planeado. Harton, J. (2020, 14 junio). Elixir for Robots. DEV
Community. https://dev.to/jimsy/elixir-for-robots-544e
Como podemos notar, cualquier lenguaje es
independiente de los proyectos en los que se usa, pero sin Kurcwald, K. (2020, 20 enero). Eight Famous Companies
duda establece un margen de los recursos que podemos usar. Using Elixir—And Why They Made the Switch. Monterail.
https://www.monterail.com/blog/famous-companies-using-
Elixir, a pesar de ser nuevo, ha tenido un gran alcance elixir#:%7E:text=The%20benefits%20of%20Elixir%20als
gracias a las posibilidades que nos permite alcanzar, en un o,video%20chats%2C%20or%20financial%20apps.
panorama en el que todo se está enfocando a ser en línea,
tener un lenguaje que nos da la opción de disponer de menos Lakomy, C. (2020a, junio 26). Elixir development in 2020:
recursos, tener conexiones inmediatas a internet y adoption, community and predictions | Prograils.
administrar a varios usuarios de manera eficiente, resulta ser Prograils.com. https://prograils.com/elixir-development-
una gran opción para la industria. 2020-report

Para programadores resulta ser sencillo de comprender y Lakomy, C. (2020b, agosto 31). Elixir web development at
de abstraer por el simple hecho de ser funcional, dándonos PepsiCo eCommerce | Prograils. Prograils.com.
como resultado un lenguaje amigable para nuevos https://prograils.com/elixir-web-development-pepsico
programadores.
makigas: tutoriales de programación. (2021, 11 enero).
El panorama para Elixir es un tanto complejo, Java, por Elixir – 1. ¿Qué es Elixir? [Vídeo]. YouTube.
ejemplo, ha implementado actualizaciones para manejar https://www.youtube.com/watch?v=TWt-3I77OM0
programación funcional, la popularidad se debe gracias a la
Rengifo, C. (2019, 4 noviembre). Que es Phoenix
eficacia con la que resuelve los problemas actuales que van
Framework? - Cristian Rengifo. Medium.
surgiendo, pero sin duda se crearán nuevas y probablemente
https://medium.com/@IngRengifo/que-es-phoenix-
mejores alternativas que harán un mejor trabajo, sin
framework-ecf007832c16
embargo, Elixir queda como modelo a seguir para el manejo
de programación funcional y administración de sistemas «What are some good uses for the Elixir programming
concurrentes. language?» (s. f.). Quora. Recuperado 14 de marzo de 2021,
de https://www.quora.com/What-are-some-good-uses-for-
VI. REFERENCIAS
the-Elixir-programming-language

AmberBit. (s. f.). When to use Elixir language? AmberBit


Sp. z o. o. Recuperado 14 de marzo de 2021, de
https://www.amberbit.com/blog/2018/5/15/when-to-use-
elixir-language/

También podría gustarte