A few weeks ago, I received my copy of Joe Armstrong’s Programming Erlang: Software for a Concurrent World. I was quite impressed. It was a great introduction on the Erlang programming language and more importantly, concurrent programming. After reading the book, I am not sure if I fully understand it’s true power.
What do I mean? The idea of having a language that is built for fault-tolerant, distributed, concurrent, mostly real-time applications may come as a pipe dream to some. To me, Erlang is the real deal. It’s simplified view of concurrency makes it easy to create high performance systems. It’s share-nothing attitude toward memory and communication allows for high process scalability. The simple fact that Erlang is a functional language allows these two concepts to exist.
There is just no equal in mainstream languages. Some may think that it was designed at some University and it’s nothing but a toy language. The truth is that Erlang was created by a real company, by career engineers, to solve real world concurrent problems, and used in real products. So, one cannot really use that argument anymore.
As recommended by the author, I have to read the book again and again. I hope that I am able to read it again before I receive Real World Haskell in a few weeks.