A lot of people in the ALT.NET camp may not feel that they’re being divisive but I can tell you that by propagating this idea you’re creating a line in the sand, with the highly-knowledgable on one side and the masses on the other. You’re not encouraging dissemination of your information, you’re just creating another impenetrable gang of developers that is almost opaque to the guy on the ground.
I’m half laughing because of the absurdity of it. I’m half crying because so many people just don’t get it.
The line in the sand that Colin suggests is newly created has always existed. It is approximately the same line between those who “get it” and those who don’t. Every programmer knows within a short period of time of meeting another programmer if they would like to work with that person. These are the guys who “get it”. When you know you don’t want to work with another programmer, they can fall into the “don’t get it” category. But this is certainly not absolute. I don’t mean to say those that don’t get ALT.NET are people I would not want to work with. On the contrary I’ve been reading Colin’s blog for a while, and I think I’d definitely enjoy working with him.
I think anther example about this line already existing can be seen in the 7+ year old essay by Joel Spolsky, “The Guerrilla Guide to Interviewing“. In it, Joel separates programmers into two camps those you would hire and those you would not hire. These no hires, according to Joel, are anyone who is not smart and who doesn’t get things done.
In my opinion, anyone who is both smart and gets things done will automatically grok the ALT.NET tenets. These tenets, which definitely vary from individual to individual, includes many agile principles such as DRY and DRT. Doing the right thing is important. Most of what is going on in ALT.NET is a response to inability to DRT using existing tools. Its programmers doing what they do best: being lazy. Lazy in that they are making things better for themselves by making it easy to do the right thing.
The problem is that these unknowledgeable masses (myself included) whom Colin defends are, by definition of the lack of knowledge, unable to to create these tools and make things better for themselves. I’d like to think that some of us can grok this ALT.NET thing. But I know that some of us trying to grok it, aren’t currently capable of joining the party as a tool maker.
I’m not currently a tool maker because I can’t take things like Windsor and look at EntLib’s Policy Injection Block and even know where to begin to build something similar. Others can not just know what to do, but actually do it in less than an hour.
The nice thing about ALT.NET is that I shouldn’t have to be able to be a tool maker. I should be able to to just use the tools of others. I should be able to stand on the shoulders of these giants. I should… except that I’m currently on a contract in which ONLY naked CLR is allowed. No EntLib on which to build. No Spring.NET or Windsor to help me with decoupling for testing. No NUnit or MbUnit to help me test. At least I have MSTest. The SCARY thing is that these are some of the things which define Colin’s line. I’m sure I’m not alone in my peril. Consider this a heartfelt giant hug to all those who are forced to develop in such a vacuum.
As for Colin’s line? I think I’ll stand with one foot on one side and another foot on the other side and I’ll straddle it until it ceases to exist.