Elixiiiir
Elixiiiir
Elixiiiir
HISTORIA
La década de los 80 llegó Erlang, uno de los protagonistas de esta historia que, para
poder entender el poder que alcanzará Elixir, primero hay que explicar un poco más
sobre este viejo lenguaje que sigue vivo.
Erlang es un lenguaje funcional increíblemente potente a la hora de tratar la
concurrencia. Nació de las manos de Ericsson con el fin de mejorar el desarrollo de
aplicaciones telefónicas. Dos ejemplos gráficos.
1. ¿Habías pensado cómo tu operador de telefonía móvil sigue funcionando
incluso mientras estás teniendo una actualización de software? Erlang, amigo.
2. Whatsapp tiene 1.200 millones de usuarios. Manejar más de 10.000
conexiones concurrentes es un reto, pero WhatsApp tiene servidores
individuales con más de 2 millones de conexiones en un único servidor.
Manejado por Erlang.
Erlang es un lenguaje funcional en una etapa ya madura y llena de funcionalidades que
además ofrece una concurrencia difícil de replicar. Entonces, ¿por qué no acabó de
cuajar entre el público general? Entre otras cosas porque es un lenguaje bastante
difícil. Su sintaxis es un poco extraña, sobre todo si estás acostumbrado a trabajar con
los lenguajes más populares a día de hoy: PHP, Java, JavaScript… o Ruby, del que
hablaremos más tarde también.
Pero entonces viene 2011 y llega Elixir de la mano de José Valim, que dice lo
siguiente: «Me gustó todo lo que vi en Erlang, pero odié todo lo que no vi». Así que,
para él, sólo había una opción: Crear un lenguaje con la potencia y funcionalidades de
Erlang y, siendo uno de los mayores conocedores de Ruby y parte del Rails Core Team,
otorgarle la facilidad y productividad de Ruby.
¿Cómo? Con una jugada maestra. Hace correr Elixir dentro de la Erlang Virtual
Machine. Así, un lenguaje moderno como Elixir gana robustez y se aleja de la dificultad
académica típica de otros lenguajes funcionales, haciéndolo más asequible para todo
tipo de programadores. Y con una sintaxis similar a la de Ruby, crea un lenguaje fácil
de aprender. Además, como el lenguaje se compila a bytecode de Erlang, se pueden
utilizar funciones de ese lenguaje sin ningún tipo de penalización.
Así pues, tenemos un lenguaje fácil de aprender, funcional
Elixir, un lenguaje funcional basado en Erlang pero con una sintaxis elegante
influenciada por Ruby
Hay que tener en cuenta que Erlang y OTP estaban pensados inicialmente para
su uso en centralitas telefónicas, así que a la hora de diseñar OTP se basaron en
un modelo de actores. Esto quiere decir, que los procesos concurrentes, son
totalmente independientes y no comparten ningún tipo de información.
Cuando un proceso quiere comunicarse con otro, solo puede hacerlo a través
del paso de mensajes (a través de un buzón), que el proceso de destino
procesará cuando crea conveniente o le sea posible.
• Operador PIPE
Com fer funcionar elixir
-Atom o algún editor de codi amb paquets d’elixir
-Erlang + Elixir
-Plug in Phoenix per webs
-Cmd o powershell amb el mode interactiu
Instal·lar Elixir
Aquí teniu varies maneres d’instalar elixir als diferents softwares
Guia Elixir
Obrim la maquina erlang amb elixir compartint la pantalla, i vaig fent
• Basic:
• Nombres enters, binaris, octals i hexadecimals
252
0b0110
0o644
0x1F
Booleans: Suporta true i false com booleans, tot valor es vertader a
excepció de false y nil
True
False
Àtoms: Constant de la que, el seu nom es el seu valor
:foo
:true
Cadenes
“foo
bar”
Cond
Operador pipe
Ordenat i bonic
Ho fa mes curt
toma el resultado de una expresión, y se lo pasa a la siguiente
MIX
Com esteu veient atom no permet crear un projecte
Cmd i posem mix new exemple