views:

950

answers:

4
+20  Q: 

What is ALT.NET?

Recently, Scott Hanselman blogged and podcasted about ALT.NET. What is it and how is it a new concept? What can I learn?

+18  A: 

I think you can find the information you need on this site: http://altnetpedia.com/OverviewWhatIsIt.ashx

What's It All About? In April of 2007, David Laribee coined the phrase ALT.NET after reading a post by Scott Bellware about the NHibernate Mafia. The core message David was keying off of was the maintainability of a software solution and not the tools involved in creating it.

ALT.NET means many things to many people and the debate will continue about what it means to you.

David proposed ALT.NET 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.)

Ralph Waldo Emerson wrote “there are always two parties; the establishment and the movement.” If you’re ALT.NET, you’re in the movement. You’re shaking out the innovation. When the movement fails, stalls, or needs improving you’re there starting/finding/supporting that next leap forward.

saniul
+17  A: 

The official definition is good, but perhaps too vague to be of real value. This is what I think of when I think of ALT.NET.

  • Favoring domain models over data-centric applications (or at the very least, recognizing that data-centric is not the way to do everything)
  • TDD, or at least Test-First rather than not testing.
  • Using ORMs instead of hand-coding data-access code.
  • Using CruiseControl, TeamCity, or some other way of supporting continuous integration and automated builds
  • Knowing and observing OO Principles and OO Patterns
  • Favoring object-oriented over procedural coding.
  • Enjoying talking about and implementing inversion of control.
  • Being angry at the Entity Framework (Probably not fair)

If you looked at an ALT.Netter's development box, you would see things very strange and very open-source compared to the "average" .Netter's box: NUnit, NMock, CruiseControl.NET, StructureMap, NHibernate, and the like.

For better or worse, there also seems to be an attitude involved with ALT.NET that is hard to quantify. That's okay, I think. There's also an unfortunate amount of "you're either with us or against us", which is not so okay, I think.

Brad Tutterow
+6  A: 

The entire goal of ALT.NET is to obsolete and re-invent itself every so often. It's main goal is continuous improvement IMO. All of the points mentioned on the Wiki are true

So while the points that Brad mentioned above may be true today, they are just a result of the main goals stated in the wiki. Tomorrow a new technique/tool/methodology may appear that makes the process of creating software a little more tolerable. At that point it's our duty as responsible developers to investigate the new technique/tool/methodology and see if we can use it to improve our craft. If we can, use it. If not, don't.

If you'd like to be an irresponsible developer, by all means keep organizing your punch cards. ;)

ScottKoon
Hey, punch cards are underrated: no code bloat, they make great note-cards, chads can be dropped into people's socks, they can be sprayed gold and turned into ornaments, all kinds of possibilities...
Mike Dunlavey
... in college, source code for a project was disappearing from a closet. A janitor was selling it for scrap. But he was being considerate, only selling the used cards :)
Mike Dunlavey
A: 

The principles of ALT.NET sound exciting, so I tried to join it and contribute to the discussions. However, maybe I'm just an old noob, but I couldn't figure out which way was up in there. Maybe that's to keep out certain kinds of people, like me. SO is a lot more user-friendly.

Mike Dunlavey