Are you ALT.NET?

David Laribee coined a term which summarizes a movement in the .NET community - ALT.NET:

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 principals (e.g. Resharper.)

When tools, practices, or methods become mainstream it’s time to get contrarian; time to look for new ways of doing things; time to shake it up. The minute Entity Framework surpasses NHibernate, I mean the very instant it empowers me to better express my intent, so long NHibernate. It’s been real, it’s been nice, but I’m on to the better thing.

Some folks jumped in with lists choices of non-Microsoft tools over Microsoft tools which would signify you were an ALT.NET developer. Ayende clarifies the whole thing in a way which makes a lot of sense:

[This] is focusing on tools and not on a mind set. The way I see it, this is much more about keeping your head open to new approach and ideas, regardless of where they come from. In short, I really like the ideas and concepts that Dave presents, I don't want the idea to turn into "A .NET developers that seeks to use non Microsoft technologies." I would much rather it be "A developer that seeks to find the best tools and practices, and judge them on merit." We as an industry has enough problems with the "We Are A Microsoft Shop, Do Not Write Non Microsoft Certified Code!" approach, we don't need it in the other direction. Prejudice can go both ways, after all, and reverse racism is just as unacceptable.

I think this is an important discussion, if only to clarify a misunderstood demographic. I've been describing the problem of "only what's in the box" developers. Many developers I've worked only feel comfortable with code that's been shipped by Microsoft, purchased from a vendor, or hand-written. Rather than talking about the negative case, I like looking at the term ALT.NET as Ayende has defined - a developer seeks the best tools and practices available.

Are you ALT.NET?


  • Well, as with a lot of things in this life, I'm mixed: I think I'm definitely ALT .NET for some things, and more of a traditionalist for others.

    I'm now happily using SubSonic for production code, and very important code: my employer's intranet. I use TDD, Resharper, SVN, Atlas and CruiseControl. Maybe it's not enought "ALT" for you, but trust me: in my current environment this is being WILDLY alternative.

    But there are some things that I simply don't have the time to engage early on: WPF comes to mind. So, on those things my thinking goes along the lines of "Wait. Wait to see if MS bundles it around next VS versions and then tackle it."

    Just my two cents.

  • Picacodigos,

    You summed up my thoughts exactly!

  • I am continually gratuitous for stumbling on SVN and Wordpress.

  • I agree with Picacodigos - I'm not fully, but I'm working towards it. We have some progressive folks at work, some who want to be, but we still have a lot of VB Morts (I don't say VB6 - as we still have some VB3 production code - not kidding)


  • They developed the framework, the OS, the compilers...

    They will allways have the edge.

    And its not about the coders (how easy the code is for you) its about the applications.

  • re: LosingBattle
    MS might have the edge in the very framework infrastructure, but when it comes to extending this infrastructure they are often only second choice. monorails will be ahead of ms-mvc in many aspects (it already, by definiction, is much more than mere mvc -> ioc, aspect#, ...). nhibernate is way ahead of the entity framework and will remain so for quite a while at least. there are dozens of examples where comunity created libraries top ms's offerings.
    ignoring these certainly will not make your codebase better.

  • Alt.Net finally sums up what I became when I first looked at ASP.NET and thought "Wow, these web controls are great" and then three months later, I found out that "Asp.Net seems to suck.". Over the way I quickly became Alt.Net, using the Castle Project, NHibernate. Basically anything that works.

    I also like the venal nature of Alt.Net. If something stops working and a better alternative is out there, drop it and use the alternative. It doesn't matter if you've spent 3 years working with it (like NHibernate).

Comments have been disabled for this content.