By the time you read this, there’s probably some Google server failing for the first time ever while indexing developer blogs with the “ALT.NET” keyword. I’m going to save the poor souls dealing with it a lot of trouble and tell them it’s Sam Gentile’s goodbye codebetter and ALT.NET post the reason why they couldn’t hug an empty keg and watch some Yankees tears on Monday night. There…I said it.
What is the big deal you might ask? maybe you’re even asking yourself what’s this ALT.NET thing everybody is arguing about?
What is ALT.NET?
I personally found out about ALT.NET by reading Jeremy D. Miller, Scott Bellware, Jeffrey Palermo and Sam Gentile at codebetter.com. This “new” thing we have to lookup and make a wikipedia article for (any .net dev programming Assembly on the side interested?) Is meant to be a “movement” for .NET developers to embrace technologies and practices, no matter the source but how fit, elegant and simple they are for the task at hand.
Several explanatory posts can be found over the web, everyone is trying to find a satisfactory definition up to developers’ standards (uhmmm….good luck with that), but the most prolific place is codebetter where this whole thing started up it seems (not that I’m trying to take away credit, but one never knows). Below some excerpts from posts by codebetter bloggers:
David Laribee who coined the term in his post ALT.NET on April 10, 2007 says:
…What does it mean to be to be ALT.NET? In short it signifies:
- You’re the type of developer who uses what works while keeping an eye out for a better way.
- You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.
- You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.
- You know tools are great, but they only take you so far. It’s the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (e.g. Resharper.)
…
Jeffrey Palermo explained what he thinks the principles of ALT.NET are in his post What are the ALT.NET Principles – My Answer:
…These items apply the principles but are more directly applicable:
- Read more than just MSDN magazine and MS Press. Authors like Feathers, Fowler, Martin, Evans, etc have a lot to give (Knowledge)
- Use Resharper. It makes working with Visual Studio a (Joy). But if another vendor comes along that does even better than JetBrains, consider switching
- Use NUnit over MSTest, Subversion over TFS SCC, Infragistics/Telerik over in-the-box controls, RedGate over in-the-box SQL tools. Each of these is a better alternative to that which Microsoft provides (Alternative Vendors). Use NHibernate over hand-rolled stored procedures and especially over DataAdapter/DataSet, but if EntityFramework proves to actually be superior to NHibernate in a meaningful way, consider using it.
- Use a responsible application architecture. Don’t put everything in Page_Load like you see demonstrated at MSDN Events. Use knowledge to create an application that can stand the test of time and not be rewritten every 2 years. Deliver (high quality and excellence).
- Automate every repetitive task; builds, tests, deployments, etc – excellence and joy
…
Sam Gentile defines ALT.NET and shows a list of Hot/Not (.NET?/ALT.NET) tools and practices in his The ALT.NET Moniker and List:
…it is really a way of life, a way of being a .NET developer on top of the CLR and favoring simplicity, testability, continous improvement, and tools that enable agility.
After reading these posts you’ll find that what is being said is quite simple and straightforward:
- You should be constantly up to date on the practices of .NET software development and not limit yourself to Microsoft only content.
- You should use the best tool for the job and not conform to out of the box .NET utilities from Microsoft all the time.
- You should pay attention to architecture and thrive for simplicity and effectiveness.
- The earth is not flat, and .NET is not the only platform that exists for delivering quality software solutions.
- It’s all about leveraging the .NET Platform for effective software development!!!!
Now, replace all the “Microsoft” for [dev/language vendor] and “.NET” for [dev/language vendor's development platform], what do you get? a good set of advice for everyone…..well that’s cool!!! but isn’t it obvious then? perhaps, too obvious?
Some might argue that as obvious as it seems, is something that is not applied throughout the industry…and well that’s true. But It’s tough, not everybody has the willingness to learn 2 new technologies, 7 new tools, 2 new frameworks and read 11 white papers in a month, read 100 blog posts a day, deal with a project that is a month late, start planning for a new project that should have been in production new year’s eve 2003, take care of the kids, pay the mortgage and deal with a manager that failed Kinder Garden (TWICE!!!).
It’s hard, very very hard to keep up and frankly I don’t know how creating this new label for keeping up and being open minded is going to help us out doing it.







