Language, Purity, Cult, and Deception 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. The Haskell's problem is similar to Scheme lisp, being academic and of little industrial involvement. About 10 years ago, during the dot com era around 1999, where scripting war is going on (Perl, tcl, Applescript, Userland Frontier, with in the corner Python, Ruby, Icon, Scheme, in the air of Java, HTML 3, CSS, CGI, javascript), i was sold a lie by Scheme lisp. Scheme, has a aura of elegance and minimalism that's one hundred miles in radius. I have always been a advocate of functional programing, with a heart for formal methods. Scheme, being a academic lang, has such a association. At the time, Open Source and Linux have just arrived on the scene and screaming the rounds in the industry, along with Apache & Perl. The Larry Wall scumbag and Eric Raymond motherfucker and Linus T moron and Richard Stallman often appears in interviews in mainstream media. Richard Stallman's FSF with its GNU, is quick to make sure he's not forgotten, by a campaign on naming of Linux to GNU/Linux. FSF announced that Scheme is its chosen scripting lang for GNU system. Plans and visions of Guile — the new Scheme implementation, is that due to Scheme Lisp's power will have lang conversion abilities on the fly so programers can code in other lang if they wanted to, anywhere in the GNU platform. Around that time, i also wholeheartedly subscribed to some A Brave Gnu World bulletin of FSF with high expectations. Now, it's 2009. Ten years have passed. Guile disappeared into oblivion. Scheme is tail recursing in some unknown desert. PHP practically and quietly surpassed the motherfucking foghorn'd Perl in early 2000s to become the top 5 languages. 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 debating 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 in unix technologies. Sys admin to several data center's solaris boxes each costing some 20 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 various 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” purity. 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” deceptions. Python always seemed reasonable to me, until you stepped into it. 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.) I think my story can teach tech geekers something. In my experience, the langs that are truely a joy to learn and use, are those sans a cult. Mathematica, javascript, PHP, are all extremely a joy to use. Anything you want to do or learn how to do, in so far that the lang is suitable, can be done quickly. Their docs are to the point. And today i have to include Ocaml. It's not about whether the lang is functional, or whether the lang is elegant, or what theoretical power it has. Also, lang of strong academic background such as Scheme and Haskell are likely to stay forever there, regardless what is the technical nature of the lang. The background of the community, makes half what the language is. Disclaimer: All mentions of real persons are opinion only. Xah ∑ http://xahlee.org/ ☄ -- http://mail.python.org/mailman/listinfo/python-list