On Software Development Fashions
The pseudonymous “Ed Johnson” over at HackNot has produced another bit of priceless satire entitled “Invasion of the Dynamic Language Weenies“. It got me thinking about the language and technology fashions I’ve seen come and go over the last generation. Are popular dynamic languages, agile techniques, and TDD empty fashion or the Second Coming? The truth, as usual, lies somewhere in between.
“Ed Johnson” is the Carl Sagan of software development, promoting a relentlessly objective, reductionist, anti-superstition point of view. It is perhaps telling that he feels he must remain anonymous to espouse his views without damaging his IT career. Have developers in general become so subjective, mystical, and religious that poor “Ed” must travel incognito to avoid witch-hunts?
On the other side of the ring, ladies and gentlemen, we have the doe-eyed fan-boys of coolness. As an example, I’ll pick on another (apparently anonymous) fellow at defmarco.org who makes the following statements about his particular object of affection, Lisp:
“The single benefit of Lisp is expressiveness and productivity beyond your wildest dreams.”
“I’ve achieved an almost divine state of mind, an instantaneous enlightenment experience that turned my view of computer science on its head in less than a single second.”
So is there a balance between these two extremes? Must we choose between being a dispassionate scientist making confident, condescending assertions, and a swooning Moonie babbling about transcendence?
I have never been one to have either a calm confidence in pure reductionist thinking on the one hand, or ecstatic faith in mystical experiences on the other. I don’t think either approach serves us well in life generally, much less in software development. However, either one can provide comforting illusions. I submit that if your ardor for Lisp or Ruby or Rails or XP makes you feel good about your work, it could well improve your productivity, effectiveness and work quality.
This isn’t to say that such technology only has psychological benefits. Each one has real technical strengths. But one of those strengths is the degree to which they are comfortable and resonant with our own day to day needs.
When, for instance, Ruby users gush about the “natural syntax” of the language, I think it’s kind of irrelevant for “Ed Johnson” to object that there is nothing “natural” about any language’s syntax, it’s all a matter of personal preference. True enough, but if it’s a more comfortable abstraction for those who have chosen it, then more power to them. The problem crops up when Ruby users do what humans everywhere are wont to do: they assume that if Ruby excites and inspires them, then it must be the answer for everyone. When that happens, it can make them, at best, annoying in the same way that proselytizers everywhere are annoying; and at worst, it can make them elitist and pompous.
To boil it down to some bullet points:
- There’s nothing inherently wrong with having favorite languages and tools — even ones you have actual enthusiasm about.
- At the end of the day it doesn’t much matter which ones you pick, except maybe to yourself.
- However, in the interest of earning a living, your choice of tools had better be something that significant numbers of people are working with, have developed some kind of sustainable ecosystem around it, and is accepted or at least tolerated by significant numbers of IT shops.
- If you want ideological purity and perfect elegance as you conceive it, be prepared to be either very lonely or part of a cult. And probably poor in either case.
- Beware the herd mentality. Learn to think for yourself.
1 Comment »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Programming Languages: Fashion or Religion…
I just read Bob on development’s post
On Software Development Fashions which is a riff on
this
post from “Ed Johnson” the Hacknot blog.
The basic
idea of the original post is that there is no evidence of one
programming language e…
Trackback by The Regenerate Web — April 5, 2007 @ 6:46 am