Ravi Mohan's Tech Blog. To read my non technical blog, click here

Friday, January 30, 2009

Fad Alert

With a subsection of the Ruby Fanboy crowd moving to Clojure, there is a lot of uninformed talk about Software Transactional Memory (STM), mostly regarding how it "solves" concurrency in a multiple core scenario and how it is very "intuitive".

Bryan Cantrill restores sanity to the discussion via his blog post, "Concurrency's Shysters"(Be sure to read the ACM paper he refers to in the post).

Unless you really understand the various concurrency mechanisms, to the point where you can implement some of them and know the theory therof, please please don't code concurrent programs. Thanks in advance.

PS: This is not a knock on Clojure itself. Rich Hickey, its creator, is extremely talented, dedicated and very knowledgeable. Clojure is a great piece of software. This post is a reaction to some uninformed enterprise developers' mumblings on how Clojure is the next bandwagon to jump on.


StoneCypher said...

On the bright side, now that Clojure and Scala are the hot new things, most of the idiots have drained out of Erlang.

Which is a win for Erlang.

Ravi said...

"... most of the idiots have drained out of Erlang."

heh there is always an Idiot Trap isn't there? for the longest time it was Ruby (on Rails). Now I see a few of them fluttering around clojure.

Which is a bit of a tragedy because Clojure is really cool in many ways, (but not quite there yet imo, but that is a separate blog post).

I am sure the original thoughtful Ruby developers must be glad to see the rabble go.

Well at least one knows what to avoid by having a few "marker" idiots in view and observing where they go