Raphael and i have got the same gut feeling: it’s time to read up on Erlang, a functional language with a facilities for concurrency.
I’ve been reading a blog by Joe Armstrong on the subject for a little while.
Of course, like with all gut feelings, this one could be completely off – maybe something revolutionary is brooding in the deepest darkest software underground that i don’t know about (probably even), but this one seems interesting anyway.
Funny how it took 20 years for the language to become “hype”?
(why did that single sentence go through?)
Concurrency is hard. Concurrency is very central to Erlang. This is probably part of the reason. Many programmers do not understand concurrency.
I don’t feel Erlang removes The Little Book of Semaphores from the required reading list though.
Well, with distributed architectures and multi-multi processors there is more of a call for such a language.
It’s like Joe Armstrong said: a language comes up when there’s an application for it. Ruby has the same age as Java but wasn’t much heard of before 2002-3 …
and you’re right, concurrency can be mindbogglingly complex.
I’ll read that Little book of semaphores
thanks for the reference.
I can tell you from personal experience that Erlang delivers real productivity and ease of use for the developer. I have found it very useful for desktop automation and data analysis.
To me, pattern-matching and tail recursion are what make the language so easy to read and write. I have found that I can easily understand how 3rd-party libraries work by reading through their source code.
Erlang By Example screencasts with Kevin Smith and Joe Armstrong’s Programming Erlang: Software for a Concurrent World are great resources for learning Erlang. I highly recommend picking them up.
I see from your blog that you’re a fan ! Thanks for the advice, i’ll pick up those resources.