My 3 cents about ALT.NET; do it Microsoft way vs do it the right way

David Laribee coined the term ALT.NET. What it means, and why it’s going to be the_hot_word? David basically explained it in 4 points:

What does it mean to be to be ALT.NET? In short it signifies:

  1. You’re the type of developer who uses what works while keeping an eye out for a better way.
  2. You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.
  3. You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.
  4. 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.)


It narrows down to: “Stay open-minded”. Roy, took it one step further, by creating a list of, what is hot and what’s not in ALT.NET people world. As he wrote, that list is not his point of view, and he disagrees with some points there. Then Sam, reproduced Roy’s list with changes to reflect his point of view.  Here’s his version (black color – Roy’s initial list, red/brown: Sam’s changes)



Castle, ActiveRecord,
NHibernate, some Application Blocks, Repositories

DataSets, Dataset Designer, Entity Framework, MS Application Blocks

MVC,NUnit,MonoRail, MBUnit, SCSF

Web Forms, SCSF, VSTS, MSTest

XP, TDD, Scrum


Evolutionary Design and Development

Big Design Up Front

Ruby + IronRuby, Python + IronPyton, DLR, Silverlight(?)


OR\M (NHibernate, LLBLGen  Wilson OR/M, etc..), LINQ to SQL

DLinq, Data Access Block, DataSets, Plain ADO. NET

Open Source (Mono, SourceForge), CodePlex + Subversion

Application Blocks, CodePlex

MVC and MVP (RoR, MonoRail..), MVP/MVC in CAB + SCSF

Web Forms, CAB, Smart Client Factory


VSS, VSTS Source Control

Build Automation and CI
(CI Factory, NAnt, FinalBuilder, FB Server, CruiseControl..)

Team Build

TDD and Unit Testing
NUnit, MbUnit, RhinoMocks, NMock, TypeMock

MSTest for unit testing, VSTS

Subtext, DasBlog, WordPress, TypePad, Blogger, FeedBurner

Microsoft MSN Spaces, Community Server(?)

Simplicity in Design, YAGNI, Do the Simplest Thing


Working at Google Working in a company that does all of the XP pratices

Working at MS

Google Gears, Occasionallly Connected Smart Clients

Smart Client, MS Ajax

.NET 3.X (WF, WPF. Silverlight)

.NET 2.0

DI, IoC, StructureMap, Windsor/MicroKernel, Spring for .NET

Object Builder

OSCon, RubyCon, Code Camps, DevTeach..

VSLive, TechEd, DevConnections

I to some extent agree with Sam, but there are some point I’d like to comment on:

  • Why P&P is not hot? I don’t get it, it’s not a mainstream group at Microsoft, they created some tools that people use, and praise, like software factories, CAB… They’re the closest team at Microsoft to ALT.NET, they’re one of the few (or the only) team at Microsoft that releases nUnit tests along with the code, heck – they release many tools I consider to be ALT.NET, so keeping them on the dark side of the force is misunderstanding.
  • About working at Google vs. working at Microsoft. It’s hype. Google is overhyped. And what’s in Google for .NET developer, c’mon! Sam recognized it with his change, I’d change it even further to: “Working at company that does agile development (probably using ALT.NET tools)” vs. one that doesn’t period.
  • Google Gears – what’s so great about it? for .NET developer? I think Roy has a very good point about it.

With the rest of the list I more or less agree. And what do you think?

Technorati tags: , , , , , ,