I started reading Programming Elixir by Dave Thomas, the same guy who wrote "Programming Ruby" and who co-authored "The Pragmatic Programmer". So far, I'm really enjoying it!
Here's a quote from p. 24 that I think is particularly compelling:
This is a book about thinking differently; about accepting that some of the things that folks say about programming may not be the full story.
- Object-Orientation is not the only way to design code.
- Functional programming need not be complex or mathematical.
- The foundations of programming are not assignment, if statements, and loops.
- Concurrency does not need locks, semaphores, monitors, and the like.
- Processes are not necessarily expensive resources.
- Metaprogramming is not just something tacked onto a language.
- Even if it is work, programming should be fun.
Of course, I’m not saying that Elixir is a magic potion (well, technically it is, but you know what I mean). There isn’t the ONE TRUE WAY to write code. But Elixir is different enough from the mainstream that learning it will give you more perspective and it will open your mind to new ways of thinking about programming.
So let’s start.
And remember to make it fun.