Clojure’s stability: lessons learned
There’s been some Programming Language Discourse lately, and I have some thoughts. It’s mostly centered around a comment on the orange website:
I would put it simply: Clojure was designed by a thinker, who creates when he is away from the keyboard, not in front of it. When one releases and breaks the code in his head first, very few breaking changes are left for the public releases.
I think, regardless of this person being right or wrong, there’s an interesting question here. Let’s look at the comment this is ultimately responding to:
From the perspective of a (fairly large-scale at this point) app developer: I find it great that Clojure places such emphasis on backwards compatibility. In general, migration to newer Clojure versions is completely painless.
The language has been designed by experienced and mature people and doesn’t go through “let’s throw everything out and start...
Continue reading →