Concurrency and paradigm shifts

I had this article in my google reader starred items for over one year ... and for a good reason.
The different way of thinking to successfully exploit concurrency fascinates me.
In this article Kristian starts by comparing software state variables to moving parts in hardware. They might seem to be working ok, but chances are they will be the first ones to fail. Ok, it makes sense to me ...
The suggested solution is not easy to accept (as an efficient solution), basically because it is a different paradigm (functional programming) than most of us are used to.
As an alternative, for when mutating data is a must, he suggests using the active object pattern. I like that ;)
In the end, I see his solution as a trade of memory for computing speed (the oldest trick in the book?) Anyway, it's a nice point of view, and I would like to give it a shot ... when I get my hands on something with more than 4 cores ;)

About this entry