Brandon's Blog

7/28/2008

Every 3/4 of a Fortnight, or Some-Such

I go through a fairly high-frequency cycle recently, where I say, “I should learn Haskell.  All the cool kids are doing it.”  Then I see something like this and my eyes glaze over and roll back into my head.

I pull up a tutorial and they start using that great academic phrase “the lambda calculus,” using “the calculus” in every case, rather than just referring to it as calculus, for goodness’ sake.

I feel like all these functional languages subscribe to a false concept of productivity, namely the assumption that staring at a screen for eight hours and creating a one-liner that solves the problem in a mathematically-interesting manner is somehow superior to banging the same result out in three hours in forty lines of good, old-fashioned procedural or object-oriented code.

I just see no nobility in languages that stick with three to four character built-ins in a way that somehow appears to wax nostalgic rather than push the envelope.

I don’t know.  I’m typically one to exalt the concept of “beautiful code,” getting those indentations and variable names just right, so it has the look of something truly put together, almost in a poetic way.  But, this is pretty much the limit of my pretentiousness.  Doing things in a cool way just doesn’t have as much charm to me as getting things done.

I also don’t like a type of language whose tutorials are pretty much apologetic that something as simple as I/O just isn’t really suited for the language naturally and requires workarounds only explainable to an intermediate user of that very language.

How do you print “Hello, World” in a program devoid of state?  I know it’s possible, but why force it?

In other inquiries, is Sigma truly the best project du jour for whomever wants to exert the energy?  Is there a better, cooler, faster option?  If so, what?  I’m game.  To make a game.