May 15, 2008

Don't Insult a Programmer's Language

It is common knowledge that languages all have their strong points and their weak points. C is super fast but needs a good knowledge of the machine, and lacks object-oriented constructs and strong typing that would make programs much easier to write. Java is portable and keeps new programmers from making too many mistakes, but it is a bitch to program in (at least compared to more modern languages like Scala). Et cetera.

There are some programmers that label themselves as a "X Programmer". For example, someone who loves C++ will call themselves a C++ programmer. These people are not just users of the language. I use PHP a lot more than anything else, but I would never call myself a PHP programmer. For the people who love their language, it is more than a language to them. It is a defining feature of themselves; an extension of their soul.

When you mention something about a language, whether in a neutral or negative tone, they fight to the death about why it is not really a bad thing, or why the language designers did it that way. Most of the time, I can see why a language designer did something. C and C++ do many things weird because it is fast. Maybe not so great on the programmer, but it is still fast. Ruby does things to make your life easier, regardless of the efficiency cost. Many of these language features can be put into a good or bad light just by changing what the goals of the language are.
Consequently, programmers will put their language into a good light and other languages into a bad light.

Note that I'm ignoring Blub progammers. When we start talking about those kinds of programmers, it is merely ignorance that holds them to their language and not any merit of the language itself.

No comments: