Xah Lee, 2009-01-24
[this essay is roughly a 10 years personal retrospect of some languages, in particular Scheme and Haskell.]
I learned far more Ocaml in the past 2 days than the fucking 2 months i tried to learn Haskell, with 10 years of “I WANT TO BELIEVE” in haskell.
Now, it's 2009. Ten years have passed. Guile disappeared into oblivion. Scheme is tail recursing in some unknown desert. PHP, one of the ugly kludge pidgin, practically and quietly surpassed the motherfucking foghorn'd Perl in early 2000s to become the top 5 languages. (remember? Larry Wall scumbag said P is for “Practical”. PHP's got two “P”s.) Python has surfaced to became a mainstream. Ruby is the hip kid on the block. Where is Scheme? O, you can still hear these idiots fluttering tail recursions among themselves in newsgroups. Tail recursion! Tail recursion! And their standard the R6RS in 2007, by their own consensus, is one fucked up shit.
In 2000, i was a fair expert of unix technologies. Sys admin to several data center's solaris boxes each costing some 40 grands. Master of Mathematica and Perl but don't know much about any other lang or lang in general. Today, i am a expert of about 5 languages and working knowledge with tens or so diverse ones. There is nothing in Scheme i'd consider elegant, not remotely, even if we only consider R4RS.
Scheme, like other langs with a cult, sold me lie that lasted 10 years. Similarly, Haskell fucked me with a tag of “no assignment” lure. You can try to learn the lang for years and all you'll learn is that there's something called currying and monad. I regret i learned python too in 2006. Perl is known for its intentional egregious lies, lead by the demagogue Larry Wall (disclaimer: opinion only). It fell apart unable to sustain its “post-modernistic” sophistry. Python always seemed reasonable to me, until you walked in. You learned that the community is also culty, and is into certain grand visions on beauty & elegance with its increasingly complex syntax soup with backward incompatible python 3.0. The python fuckheads sport the air of “computer science R us”, in reality they are idiots about the same level of Perl mongers. (Schemers and Haskell people at least know what they are talking about. They just don't have the know how of the industry.)
The above is not a terrible insight, but i suppose it should be useful for some application. Today, there's huge number of languages, each screaming ME! To name a few that are bubbled up by tech geekers: Arc, Clojure, Scalar, F#, Erlang, Ruby, Groovy, Python 3, Perl6. (for a big list, see: Proliferation of Computing Languages) So, if i want to learn another lang down the road, and wish it to be a joy to use, usable docs, large number of usable libraries, well supported, a community that doesn't loop into the estheticalities of tail recursion or monad every minute, then which one should i buy? With industrial background in mind, not culty, lang beauty matter not that much, i think Erlang, F# would be safe choices, while langs like Qi, Oz, Arc, Perl6, would be most questionable.
Disclaimer: All mentions of real persons are opinion only.