------------------- Elixir 2020-02-04 ------------------- In my professional career I mostly work in C#. It is a nice language, and the design commitee does a great job making it better with each version, not worse. Last year I again had the urge to learn some new language, with paradigms in which I am not well learned. After reading about it for the nth time I decided to look into elixir [1]. It's a functional, dynamically typed language. It runs on the BEAM virtual machine, which has initially been developed for erlang. My introduction was with the course [2] by Dave Thomas of ruby fame. It's well put together, and for the asking price I can only recommend it. I still haven't been able to finish it, life intervened, like it so often does. I'm pretty certain that I won't ever use elixir professionally (although that would be neat), and also as a hobby it'll have a small role. Nonetheless, being exposed to this entirely different world of elixir and everything around it (mix [3] and hex [4] are great, as is the on-board test framework [5]), has been a valuable experience. It has again shown me the power of immutability and pure functions. Over the last years I have tried to use these two ideas as much as possible in my daily work. It makes reasoning about and understanding complex code so much easier. Having dabbled in elixir has reinforced my desire to adhere to some of the functional principles more. The language itself and the tooling is still being actively developed, and I'm curious what features will be implemented in the future. If elixir sounds like it could be interesting to you, check it out! ------------------- [1]: https://elixir-lang.org/ [2]: https://codestool.coding-gnome.com/courses/elixir-for-programmers [3]: https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html [4]: https://hex.pm/ [5]: https://hexdocs.pm/ex_unit/ExUnit.html