Elixir Programming Language
- Status
-
Active
- Started
- Dec 09, 2024
- Last update
- Jun 01, 2026
Most of my career has been spent working with object-oriented languages. Object-oriented languages are a category of programming language that groups data with the operations that act upon that data. It groups them into things called objects, hence the name. It's, by a wide margin, the dominant paradigm for software being developed today. The only problem is I'm not sure that the object-oriented paradigm is all that good.
I've worked as an independent software engineer for over two decades. With almost no exceptions, each object-oriented codebase I encounter is a dumpster fire. It's become disorganized, difficult to reason about, and a challenge to work with. The object pundits would say that the reason is that the object-oriented way wasn't followed consistently or that the code should be even more object-oriented. But why do these codebases degrade so consistently and why is the solution to go "deeper into the crevase"?
There are other paradigms of programming languages. The one I'm most interested in is the functional paradigm. Functional languages' core organizing principle is the function - something that takes data as input and returns data as output. Now, most languages have functions, but the functional languages take it even further. Way further.
I have wanted to dive deep into functional languages for a while. Elixir is a newer language, but it holds a lot of intrigue for me and it's gaining a lot of steam. Let's get good at it.
Methodology
I have a ton of books on this that I've been working through. I'm up to the point where I'm reasonably facile with the language itself - the syntax and semantics. This is only part of the puzzle, though. Learning the dominant frameworks, the ecosystem of tooling, and how to deploy applications is important as well.
My plan is just to write software in Elixir and to dive into various books as I need to address individual topics. You can view my full book curriculum.
Objective
I'm going to call this one done when I start earning money from programming in Elixir professionally. This money can be earned through billings as an independent software engineer or by launching a commercial application I built using Elixir.
2026-06-01 Update: I've completed the objective above, but I don't feel I've reached the level of expertise I want. I'm setting a new couple of objectives. The first is that I finish the readings from A Curriculum for Elixir. The second is that I finish all of the programming challenges in Two Centuries of Elixir.
The log
-
Two Centuries of Elixir
I'm embarking on a project that I call "Two Centuries of Elixir". It is 200 projects of varying sizes that target the areas of Elixir I want to reinforce my knowledge of or learn more about.
Jun 01, 2026 -
A Curriculum for Elixir
I've assembled the best books I can find on programming in Elixir (and a bit of Erlang, another language Elixir is based on). Let's get reading!
Apr 29, 2026 -
Started
Apr 23, 2018