I think David Laribee really nailed it with his idea of ALT.NET, and Oren further clarified the real intent (as I took it anyway) of the idea here. It is all about a mindset. Some others have jumped on this and tried to use it as fodder for the religious wars, but that's stupid. That's not what it's about at all. In fact, you could expand the idea to encompass all developers that are keeping an open mind about tools, libraries, and methodologies that fall outside of those provided or touted by the major vendors.
I think what we're really talking about here is being ALT.* rather than ALL.* (I miss DOS). This whole concept of having an open mind and tapping into the community to help you find the best tools/ideas/etc for the job cannot possibly be contained only in the .NET world. You can't tell me that all other realms of software development are so evolved as to have every developer be completely independent of software vendors. Obviously an environment like Linux would lend itself to more of the ALT mentality just by design, but what about Mac developers? Game developers?
The point is, at least in the .Net realm, this isn't about shunning Microsoft for the sake of open source. This is about making informed decisions on putting the best tools for the job in your toolbox. I would consider myself ALT.NET. I use Visual Studio to write code, at work I use Team System for source control and project management. Elsewhere I've used subversion/cvs/vault/nothing. I use mbUnit for unit tests, but I gave the unit test tools built in to VS a try too, and decided they weren't for me. I use nAnt for build scripts, but not because I think MSBuild is inherently bad. I've used log4net over the stuff in EntLib for simple logging, but I can see the value of the more full featured and integrated scenarios that EntLib offers for less trivial usage. I adapt named development methodologies to suit my current team and the needs of my project, rather than just proudly wave one methodology flag or the other. The ALT.* mindset goes both ways IMO. You don't just reach out and use NHibernate because it's *not* Entity Framework. You should try both out and make a choice. Don't just blow off Enterprise Library because it's not right for this project...maybe it's right for the next one. You won't know unless you give it a shot and make an informed decision.
To me, being an effective developer means keeping your options open, at all times, so that you can deliver the best software possible, at all times. Locking yourself into one set of tools or another is as bad as locking yourself into one language or one way of doing things. Such zealotry and closed-mindedness leads to bad, or at the very least not-as-good-as-it-could-be software. It also leads to stagnation in your skills, which leads to you working at Burger King eventually, and nobody wants that.
Tags:
Software Writing