Elixir

Elixir es un lenguaje de programación funcional para la creación de aplicaciones distribuidas y escalables que corre sobre la plataforma Erlang. Hoy día, Elixir se usa para crear todo tipo de aplicaciones, destacando aquellas orientadas a las redes y a los servicios, como aplicaciones web, colas de mensajes o plataformas de chat.

9:41

1. ¿Qué es Elixir?

Elixir es un lenguaje de programación funcional para la creación de aplicaciones distribuidas y escalables que corre sobre la plataforma Erlang. Hoy día, Elixir se usa para crear todo tipo de aplicaciones, destacando aquellas orientadas a las redes y a los servicios, como aplicaciones web, colas de mensajes o plataformas de chat.

8:40

2. Instalación de Elixir

Vamos a ver cómo instalar Elixir en los principales sistemas operativos del mercado (Windows, Linux, macOS y BSD), así como cómo ejecutarlo desde Docker.

19:41

3. Programación funcional explicada para programadores imperativos

Otro vídeo introductorio destinado a explicar a personas que tengan experiencia con programación imperativa pero no con programación funcional las diferencias entre ambos paradigmas y qué debemos hacer para adaptar nuestra mente a un paradigma de programación distinto. 00:00 Introducción 01:13 ¿Cómo se estructura un programa imperativo? 03:37 ¿Cómo se estructura un programa funcional? 05:18 Ejemplo factorial: imperativo vs funcional 09:29 Ejemplo TAD Lista y operación Filtro 14:45 Funciones como elementos de primera clase 17:43 Resumen: ¿qué caracteriza a un lenguaje funcional?

6:57

4. Escribiendo expresiones en la REPL

Arrancamos la REPL de Elixir (iex) por primera vez, y vemos cómo escribir algunas expresiones simples que se devuelven a sí mismas.

7:07

5. Asignaciones... más o menos

A ver, en Elixir no hay asignaciones en el sentido más literal de la palabra. Ya lo veremos. Sin embargo, un tipo de expresiones que nos son útiles es poder darle identificadores al resultado de evaluar otras expresiones para poder hacerlas más simbólicas y poder utilizarlas cómodamente al fabricar otras expresiones compuestas.

6:29

6. Operadores aritméticos básicos

Mediante los operadores de la suma, resta, multiplicación y producto podemos escribir expresiones que representan operaciones aritméticas, que cuando se evalúan devuelven el resultado de la misma operación como expresión resultante.

5:10

7. ¿Qué quiere decir "tipos de datos"?

Antes de empezar a hablar de tipos de datos como tal, una pregunta más obvia: ¿qué es un tipo de datos y por qué existen?

4:10

8. Átomos

Un átomo es un tipo de datos primitivo en el que el valor de la expresión se corresponde con su nombre. Parece sencillo y realmente lo es, pero acostumbráos a verlos porque en Elixir se utilizan en muchísimas situaciones.

5:40

9. Tres átomos muy especiales: nil, true y false

nil, true y false son tres átomos tan importantes que los vas a poder escribir sin tener que poner el caracter : delante de ellos. nil se usa para representar los valores nulos (o sea, la ausencia de dato); mientras que true y false se emplean para representar lógicos, es decir, el concepto de verdadero y el concepto de falso.

7:59

10. Operadores lógicos de comparación

Pues como en cualquier lenguaje de programación, tenemos operadores que trabajan con lo que le pongas a la izquierda y a la derecha y en función de las reglas del operador harán que la expresión evalúe, bien a true o bien a false, para representar lo verdadero y lo falso.

3:28

11. Comparaciones entre tipos y comparadores estrictos

Entre distintos tipos de datos también se pueden usar operadores de comparación, pero las reglas son un poco diferentes. Mira esto para ver el orden completo: https://hexdocs.pm/elixir/operators.html#term-ordering. Además, con el operador estricto (===) puedes también asegurar que ambos operandos numéricos son del mismo tipo (Integer o Float).

9:46

12. Sintaxis e invocación de funciones

Las funciones son una parte primordial de Elixir. En una función se define una regla para transformar una serie de datos de entrada en una serie de datos de salida. En este vídeo explico en qué consiste, y también muestro cómo la sintaxis para aplicar o invocar una función en el lenguaje de programación Elixir.

8:30

13. Aridades, módulos y más funciones interesantes

La aridad es el número de parámetros que acepta una función. En Elixir es importante porque dos funciones que se llamen igual pero que tengan aridades diferentes son distintas. Es legal tener dos funciones con el mismo nombre a la vez en el mismo módulo siempre que tengan distinta aridad. Hablando de módulos, ¿qué son? Y por el camino, presento algunas funciones interesantes, como Kernel.is_atom/1, Kernel.is_integer/1...

7:47

14. Cadenas de caracteres

Strings o caracteres encadenados. Si ya sabes lo que es una cadena de caracteres, me preocuparía que no veas este vídeo a velocidad 1.5x o que no te saltes la parte en la que explico que es lo que va entre comillas, en verdad.

9:05

15. Entrada y salida estandar de la mano de gets y puts

Venga, por fin avanza un poco más deprisa. Las funciones puts y gets del módulo IO permiten imprimir de verdad en pantalla, y leer del teclado. Esto lo necesitaremos si queremos ver letras en la terminal cuando abandonemos IEx.

9:10

16. Concatenar e interpolar strings

La concatenación de cadenas de caracteres permite juntar varias cadenas de caracteres en una. Además, con la interpolación, vamos a poder meter unas cadenas en otras. Por lo demás, aprovecho para hablar más sobre cómo escapar caracteres.

8:52

17. Código fuente en archivos

Es hora de salir de IEx y empezar a crear nuestros propios archivos de script reusables con código que podamos lanzar una y otra vez. Aquí os explico cómo se van a llamar estos archivos, qué extensión van a tener y creamos un Hola Mundo.