A while back, I read quite a bit of Reginald Braithwaite’s excellent blog. If you care at all about programming, reading his blog will intrigue, mystify, depress, and inspire you.
I particularly liked his post about everyone being a Blub programmer. To quote a Paul Graham quote from Reg’s blog:
Blub falls right in the middle of the abstractness continuum… As long as our hypothetical Blub programmer is looking down the power continuum, he knows he’s looking down. Languages less powerful than Blub are obviously less powerful, because they’re missing some feature he’s used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn’t realize he’s looking up. What he sees are merely weird languages… Blub is good enough for him, because he thinks in Blub.
Most people take their language of choice being called Blub with offense. Being called a Blub programmer is even more offensive.
In defiance of Blub, I can see that languages other than my LOC (C#) offer useful idioms and abilities my LOC does not. So I can postulate using other languages for what they are best at doing.
On the other hand, the pragmatist in me sees that doing my BDD specs in Ruby Cucumber, doing the multi-threaded coding in F#, doing the UI in VB.net and doing the BLL in C# will never get passed the PM/Executives and will confuse the hell out of the maintenance dev. And that’s staying 75% within Blub.Net.
In defense of Blub, Blub is generally good enough for the task at hand and using another language will simply trade deficiencies.
In defense of Blub programmers, it must be said that any programmer who has looked “down the power continuum”, is already above average. Your average programmer has never even considered whether Blub is any better or not. Blub was in use when they were put on the project and they hack away in Blub. More to the point, they suck at Blub and real Blub programmers cry when they have to deal with their code.
I’ll take a team full of Blub programmers over a team of average programmers any day.