Sunday, December 20, 2009

On Immutable Minds

I've wanted to write about Clojure for a while. It has not happened yet because I just didn't find the time for it. Its still not time for it, but today I thought about a phenomenon I observed since Clojures new popularity more than before. There is a particular kind of people who seemingly have problems to live with multiple options. I've called them the "Immutable Minds" because they are incapable of changing their mind without completely replacing all things who were there before. I called it also that way, because I think immutable is such a nice tagword this times ;-). This isn't anything special with Clojure (there is nothing wrong with it)

The Immutable Mind is single-minded

When Common Lisp was fresh (actually refreshed) the Immutable Minds found it and replaced whatever they had in their minds before. But what they found seemed like a trap: It was the obvious "single option" for them, but Common Lisp itself was full of things "multi": It had multi-methods, multi-inheritance, multiple namespaces. It even had multiple implementations (yes that really got critized!) and even worse: Multiple opinions. They couldn't use it but it had replaced what was there before (which was already declared "dead" and they've lost the reference), so they did the only thing they still could do: Pestering people outside the community about Lisp being "The One And Only (tm)" while annoying the community members by constant requests on how to change lisp to be less multi but more single. Single namespace, single inheritance, single implementation and the most important: Single opinion (theirs). When they didn't get what they wanted they got angry and filled with bitterness. Then came Clojure.

Clojure has a single mind (not really)

They saw Clojure and saw that it was a single platform, single implementation by one guy (Rich Hickey). A dream has come true. So they switched their mind again, obsoleting Common Lisp and replacing it by Clojure. Since Common Lisp is still a Lisp they had a problem. As long as Common Lisp exists they cannot use Clojure as the "One and Only Future Lisp". So they started pestering all the world about Clojure being a replacement for Common Lisp. They didn't see the second trap. Clojure may be driven single-mindedly and there is a single mind which controls much of its drive, but regardless of all that things: It's actually quite multi.

They'll move on

They will not touch a line of Clojure like they didn't with Common Lisp (or OCaml, Haskell and many other living languages too). They will be wearisome and pesky, but don't despair dear Clojurians - they will move on and Clojure will thrive to be a multi-language. Perhaps this kind of people are the same ones, who think there is only one god to believe in – without realizing that the world would be a better one without religion.

No comments:

Post a Comment