Microsoft developers ponder the ALT.NET credo

by John Osborn

Is the growing availability of open source, free and third-party tools, as well as the passion of their users, finally getting the attention of .NET developers? Or to ask the question differently, can any .NET developer these days afford to ignore a solution like Rails or a tool like NHibernate?

David Laribee, who blogs frequently on .NET topics, provoked a wide ranging conversation among his peers with his April proposal to put a name to what he and others see as an emerging ethos among .NET developers: ALT.NET (a name that may stir other memories among former usenet denizens). It's not the tool that's important, he writes, it's the solution the tool makes possible, and the ease with which it can be maintained and extended. Here's his credo:

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

  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 principals and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principals (e.g. Resharper.) "

O'Reilly tried to capture some of the excitement of this movement and the growing array of tools available to Microsoft developers (some from Microsoft itself) in our recently published Windows Developer Power Tools by Jim Holmes and James Avery. But blogger Ayend Rahien warns that ALT.NET should not be construed as an idea that seeks to pit developers against Microsoft:

"The way I see it, this is much more about keeping your head open to new approach[es] and ideas, regardless of where they come from."

After two days at RailsConf where he got to see first-hand the passion of Ruby on Rails developers, .NET blogger Scott Hanselman wondered aloud in his blog Is Microsoft Losing the Alpha Geeks?, "Why does this need to be Alt.Net? Why is this 'alternative'?"

"Seems that this should be mainstream and baked in by the tools and "dogma" that comes down from on high. Microsoft needs to make ALT.NET attitudes Mainstream.NET attitudes, through leadership, openness, and a lot more prescriptive guidance."

In other words, Microsoft should not only encourage the development of alternative tools, but should actively help bring frameworks like Rails to .NET to give those who want to build certain kinds of applications on the .NET platforms the same kinds of experience they can get elsewhere. In fact, he says, Microsoft should spin off an organization specifically dedicated to bringing Ruby and Ruby on Rails to the .NET platform, as Mozilla is for Firefox, and Microsoft should contribute developers to the projects well.

Why? Because, he writes:

"...This isn't about Microsoft making money on developer tools, but rather about the platform, where the money is made. An open CLR-based implementation of Ruby on Rails would be a great way to introduce Rails into the Windows-based Enterprise, and would encourage more Alpha Geeks to code on Windows."


Simon Hibbs
2007-05-21 23:58:38
Just because MS hasn't officialy started porting Rails to .NET doesn't mean they're against the idea, or even that they're indifferent. They are actively working on improving dynamic language support in .NET and it makes sense for them to concentrate on that first, then I'm sure Ruby support will be one of their top priorities.

I think their strategy is inevitably, and deliberately taking them in this direction.

John Osborn
2007-05-22 06:20:29
I couldn't agree more, and the presentations by project "Jasper" (dynamic data components) and "Astoria" (data services) teams show that Microsoft is already at work looking for ways to bring the Rails experience to the MSDN community.

In fact, the observatios of Dave Laribee, Scott Hanselman and others have me wondering whether in this case, Microsoft is ahead of its own developer community. Sure, the dynamic languages presentation by Jim Hugenin and John Lam at MIX 07 was packed, but MIX is a conference that is attended by more ambidextrous web developers than typically found at DevConnections, TechEd or the PDC. Case in point: Though a larger hall was reserved at the November ASP.NET Connections conference in Las Vegas, the IronPython session was sparsely attended.

2007-05-23 11:42:24
"It's the principals and knowledge": you mean "principles".
2007-05-25 08:55:30
Why would you want to use a framework with so many performance problems.
Jeffrey Palermo, Microsoft MVP
2007-06-21 12:41:53
I share some of the same passions of David, Ayende, and Scott, but I see it more as responsible management. Developers are stepping up and filling the gaps when they can, but it comes down to quality engineering. Do you hire developers and encourage them to sling code and get it done quickly (only to find that you have a growing liability in your system), or do you ensure that your people are using the best practices and tools in order to maximize your investment in your custom system?

If managers choose not to guide the software team, or guide them in a short-sighted fashion, the company will not receive the best return on investment.

I really love the Agile movement because it has encourage all people involved in the software process to think more critically and work in a more disciplined manor. Whether you call it ALT.NET, Agile, or just responsible engineering, I hope more people will strive to work in a better way.