Tuesday, January 16, 2007

peeve no. 245 is grouping programmers by language

It just happened again: some innocent shmuck wrote a blog entry wondering about how programmers in language camp X generally differ from programmers in language camp Q by some other characteristic. Fools. I can't speak for anyone else, but I have had the (un)fortunate pleasure of learning and/or using multiple languages in different contexts. Some for work, some for leisure. Anyone who wants to put himself in a box labeled "COBOL" or "C++" or "Unlambda" can go ahead. Code Complete, seemingly one of the most consistently recommended books in existence, has a section entitled "Program into Your Language, Not in It". The point is that just because a language happens to (not) have a feature, does not mean the programmer is doomed to thinking the way the language most easily supports. The famous Sapir-Whorf Hypothesis asserts that one's language affects the way one thinks. Don't prove it right!

That's why it's patently ridiculous and, dare I say, a tad unprofessional to stamp someone with a particular programming language. It's somewhat like identifying an individual, whether voter or legislator, with a political party. Does that person necessarily agree with every nail in the party platform? Nooooo. I'm a unique, precious flower, dammit. I suppose someone could try to correlate a "programming language of choice" with some other random statistic, but what's the point? I mean, honestly. A programming language is for ordering machines around.

On the other hand, I can fully understand being an active part of a community whose focus is a programming language. Like with anything else, a small number of people tend to do most of the work; the rest do a little here and there to help out. Without the true believers, the people who continually push a language forward, a programming language pretty much deserves to die in obscurity. Doubly so if the language is open-source rather than managed by a company. Hats off to those folks - the ones O'Reilly calls alpha geeks. But have you noticed that they're people who also have breadth? There are few truly new programming language ideas. The staunchest supporters of a programming language know other programming languages, too, because those other languages often have at least a couple ideas worth stealing. It's reasonable to group programmers by a language they contribute to. It's simplistic to group programmers by a language they happen to use or advocate.

I'm not a Java programmer. I'm not a C++ programmer. I'm not a Perl programmer. I'm not a Javascript programmer. I'm not a Groovy, Scala, Python, Ruby, Boo, C#, F#, VB programmer. My goal is to be someone who gets stuff done, to be the ultimate Ninja Turtle who can switch between the katana and bo and nunchuk and sai at a moment's notice. Of course, my resume indicates what my actual experience in each language consists of...

No comments:

Post a Comment