En la pasada Erlang User Conference (2015) nos regalaron un libro en O'Reilly en formato digital. De entre las opciones disponibles se encontraba Introducing Elixir de Simon St. Laurent y J. David Eisenberg. Lo puse en mi lista de libros por leer y este fin de semana finalmente lo leí. ¿Le echamos un vistazo?
El libro es muy fácil de leer y nos va guiando a través de las principales características del lenguaje. Da un repaso a las bases de la programación en Elixir a través de ejemplos sencillos y muy fáciles de entender. No se hace denso, no entra en profundidad en muchos aspectos (dejan claro que es una introducción) y se hace corta su lectura (unas 200 páginas).
Me ha gustado especialmente la parte dedicada a los protocolos (o implementaciones de código externo usando defimpl
) y las macros. Tengo que destacar que gracias a este libro al fin comprendí perfectamente qué hace quote
y unquote
.
No obstante, el uso de la mayoría de ejemplos con módulos de Erlang en lugar de módulos de Elixir así como dar solo de pasada los sigils me ha dejado un poco desconcertado en esos aspectos. Realmente no es un problema o desconocimiento de los autores, Elixir ha omitido el crear ciertos módulos (como Math
para hacer una envoltura de :math
) o incluso los ha eliminado (como el caso de GenFSM
en favor del uso de :gen_fsm
).
En el caso de los sigils, por ejemplo, no hay ningún ejemplo empleando expresiones regulares, ni definiendo sigils personalizados. Aún así, como dije anteriormente (y lo dice el propio título) esto es una introducción, una presentación.
En conclusión decir que la lectura de este libro me ha dejado buen sabor de boca, ha resultado ameno y un buen repaso a toda la base del lenguaje. Es una buena guía para adentrarse en el lenguaje para todos los que quieran aprender desde cero o que tengan nociones y quieran mejorar. Para los que ya tengan mejor conocimiento de Elixir es una lectura amena.
¿Has leído ya el libro y quieres matizar algo?, ¿te interesa aprender o mejorar en el aprendizaje de Elixir?, ¡haz un comentario!