Joe Armstrong, the principal creator of Erlang, explains why it’s the best language for building highly parallel, distributed, fault-tolerant systems.
“[It] is a language used by people in-the-know,” Armstrong writes on the site for his book, Programming Erlang: Software for a Concurrent World. “It solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems.” Learning Erlang, he says, is an investment.
He begins this lecture by asking, “What problems will you solve with Erlang?” Well, it can handle hundreds of thousands of parallel activities in real time, for example, and it’s highly reliable. What’s more, you can upgrade it without stopping the program in question. So for Armstrong, who currently works in the telecom industry, Erlang is the perfect fit. It’s the perfect fit for building other highly parallel, distributed, fault-tolerant systems, too.
Armstrong also touches on Moore’s Law and the fact that, as of 2002, you could no longer reach the entire chip in one clock cycle. “Each year, your sequential programs will go slower,” he points out, “and each year, your concurrent programs will go faster.” The hardware keeps changing, so system architecture has to change, too.
Erlang, then, is becoming more and more of a necessity. And in this way, Armstrong is right: learning Erlang is an investment.