Over the past quarter-century, we’ve witnessed the rise and widespread adoption of object-oriented (OO) languages. We bought into the promise that objects would solve all our technical challenges. That class hierarchies would bring order to our tangled messes. But something has gone horribly wrong.
The technical requirements of our software continue to rise, and our trusty OO languages aren’t keeping up. They’re unable to climb the ladder of complexity. How do we scale the complexity of a system without being crushed by the cognitive overhead it takes to keep it all in our head?
Kevin Rockwood explores how process-oriented architecture embodies the principles that object-oriented architecture always intended and explains how you can use processes to tackle complex problems that other languages could only dream about. For the past 30 years, Erlang, along with its pioneering runtime, has been quietly fighting alongside its OO brethren. Although its approach is drastically different from the OO languages of today, it’s actually much more closely aligned to object-oriented guiding principles. Now, Elixir is catapulting the pioneering approach of Erlang into the mainstream. The wave is approaching. Choose processes over objects, and embrace the magic of Elixir.