September 2nd, 2010
(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: firstname.lastname@example.org
While looking for some Clojure info, I stumbled on this old 3 Coins post, from early 2009:
Brian Carper described a few days ago, how Clojure is better (for him) than Common Lisp (actually, SBCL). I managed to dig through ensuing flame war, but it seems like nobody in the flame war realized (or it wasn’t stressed enough) that original post is actually comparing apples to oranges, a serious language to a toy language.
A language, to be considered serious, needs to be self-sufficient, a serious language can’t be a mere parasite on some host language or environment, and its bus factor can’t be finite. That translates to just a couple of features:
A serious language has to have a defining standard, it can’t be implementation-defined. A good standard bumps language’s bus factor to aleph null: after a nuclear catastrophe, archæologists of future generations should be able to re-implement the language on any hardware, including the Calculor;
A serious language has to be self-hosting, or at least have some self-hosting implementations. Only then language stops being dependent on other languages.
Leaving aside other important traits (such as having multiple implementations, having a machine code compiler, extensibility, and so on), these two alone are necessary and sufficient for language to be serious; all programing languages not having these traits are just toys that can’t be guaranteed to last.
Of course, Clojure has come a loooong way since early 2009 and many people who were initially critical have come round to appreciating it. And yet, the specifics of the 3 Coins post actually apply to most of the languages running on the JVM. I’m a little shocked at how sweeping their definition of “toy language” is. On some level, this kind of definition seems pointlessly controversial – people clearly do important work with “toy” languages so why even bother trying to insult them with the term “toy”?Source