Monday, June 8, 2009

Shopping trolls

I think I already mentioned how much I need to at least dabble another programming language that isn't merely a dialect of one I already know. So I've done a bit of window shopping here and there, reading blogs and by searching phrases like "Scala tutorial" or "Ruby on Rails introduction."

Yikes.

The internet-powered proliferation of programming languages may be a good thing in any number of respects, but I can't say that it's exactly improved the discourse--most of which boils down to "X rulz, Y droolz!" I'm serious. It makes me embarrassed to call myself a programmer when the "discussion" might as well be a booger-flicking contest.

Take this "shopping" out of the programming context for a second and imagine yourself at the mall food court, where the paper-hatted minions of McDonald's and Burger King are trash-talking each other. With bullhorns. Or, instead, maybe there's a cat-fight between the employees of The Limited vs. The Gap. Or more aptly, the shoppers from each store are the ones scrapping, while the habitues of Victoria's Secret stroll by, wearing superior smirks and pretending not to notice.

Weird, isn't it, that you'd rarely-to-never see that kind of behavior where non-software products are concerned. I'd say that I just don't understand it, except for a half-joking remark that one of my History profs. made: "We academics aren't paid all that well, so all we have is our egos." Given that many languages (and the tools to write code with them) are open source or at least an open standard, I can imagine that the ratio of ego gratification to wallet gratification is pretty steep, overall. Let's face it: No one can corner the market on a language any longer: If others aren't invented to fill its niche, clean-room implementations will be made.

Plus, it is no small feat to learn any language well enough to write and debug and augment non-trivial programs. That simple fact explains quite a bit of the tribalism, IMO. That and the fact that programmers are feeling the downward pressure on wages--thanks to abuse of the H1-B visa system, offshoring, and no shortage of naifs who think they can build their company's software infrastructure via rentacoder.com. Which lends a certain similarity to the pay-vs.-ego trade-off my professor described.

But for all that, it's still depressing, juvenile, and highly unproductive. Every language sucks in its own way, so there's plenty of room to pan them all on the merits of their own deficiencies. You can even be witty about it, viz. Eliot Rusty Harold's description of Groovy (quoted from memory): "...the blazing speed of GW-Basic, with all the sparkling clarity of Perl." That at least gives me an idea of where Groovy's "gotchas" might lurk.

Sigh. I'm cursing the darkness again. I know. Sometimes knowing that I know better doesn't stop me, though.