First time here? You are looking at the most recent posts. You may also want to check out older archives or the tag cloud. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS. Thank you for visiting! (hide this)

I wanted to write my opinion about the thing since a long time, but I really never find the time to sit down and organize my ideas into an organic post.
The event that "triggered" this post is my friend Lorenzo asking my opinion about his blog post "There are architect and Architects" (it's in Italian but here is the link to the auto-translated version by Google).

In his post Lorenzo, commenting on Sam's post about leaving CodeBetter and ALT.NET, adds some thoughts about something that usually the hard-core ALT.NET people don't get: imagine you have an Enterprise-level project, with 100 developers, how many of them are likely to grasp what IoC is? Or how many of them will understand why someone decided to use an exotic open-source not supported MVC framework that forces them to completely throw away all the knowledge they have on the ASP.NET webforms and their page life cycle?

The ALT.NET vs "MS tools and technologiesbattle in my opinion is similar to the Linux vs Windows one: even if the first choice in both battles is technically superior, cooler, and trendier it doesn't win the battle because of the users.

Linux doesn't win because of the ACU, ALT.NET doesn't win because of the so-called Morts, which are probably 90% of the developers in the real world (which is much bigger then the world of the developers reading blogs and taking part in the community).

I totally embrace the ALT.NET vision, but I also think that it's negative to build a wall between what is MS and what is ALTernative as some of the ALT.NET fanboys predicate.

What Lorenzo said is correct: if you have 50 developers in your team you can't use MonoRail or Windsor or even the kind of main-stream NHibernate, because 40 of them will not know what you talking about.

I don't want to point the finger against anyone, but in my experience with previous jobs, I was the only one interested in staying up to date with the technologies, learning new approaches. I was the only one that fought with the CTOs to setup a CI process and introduced a kind of TDD approach inside the projects. In January, I was the one that informed the dev team that there was a new version of the .NET framework, version 2.0 (no, not the 3.5, the 2.0... and it was 2 years after is has been released).
So, I might have been very unlucky, but the truth is that 80% or more of the developers only care about working 9 to 5, have their work done with the least possible effort, and don't study to stay up to date with the new trends or technologies, they goes to user group meetings only if they are during the working hours and their employer doesn't take off a day of annual leave.

These guys use whatever Mother MS gives them: 15 years ago it was the D&D winform development, then 5 years ago it was the D&D development of web forms that mimics the same development experience of winforms, then it was the typed dataset, now it's a no-look Ajax toolkit, next year it will be Linq, Entity Framework and in two years it will be the new MVC ASP.NET framework.

So, we can't blame Microsoft for building tool for Morts, because it builds what the market looks for and what it is ready and can use.

I think the ALT.NET movement is great because it brought to the world new ALTernative ways of building apps with the .NET framework, and all the discussions and exchange of ideas going on will set the way to the next Gen of developers and development tools and frameworks.

Like any other big change, this is fostered by a small group of people that firmly believe in a new way of doing things. ALT.NET is the way the .NET world is going, but not this year, not next year: probably in 5 years time, when the innovation in the processes and tools will be incorporated into the definitive tools Microsoft will ship after it made sense out of many similar frameworks.

Of course in 5 years doing MVC on ASP.NET, POCO, IoC, TDD, CI will be mainstream, and the "sons" of ALT.NET will use other and even more innovative approaches, and MS will again be "behind" and seen as "not cool", but that's the way the world goes.

Hope I explained myself well.

Oops... I was forgetting something: I like PragmaNET more then ALT.NET since ALT creates a lot of confusion and people feel a negative feeling about it. But it's just my opinion.

kick it on

P.S.: I know there has been a lot of talk, and many other blogger, more "famous" then me, already said their opinion: I didn't read all the posts about that topic, so, if I'm saying the same thing someone else already said... well... "Great minds think alike" smile_regular

P.P.S.: I want to thank Igor for listening to my words while driving back home after the "Pizzoccherata d'alta quota" of last Sunday.

Technorati tags: , , ,
posted on Thursday, October 11, 2007 3:15 PM

Comments on this entry:

# ALT.NET o no?

Left by FoxyBlog at 10/11/2007 3:55 PM

ALT.NET o no?

# re: Yet another opinion

Left by Simone Busoli at 10/11/2007 4:26 PM

I'm with you on this Simone, but if I had to work (and I'm actually looking for a job right now!), I'd love to work in a company where they are going to teach me good habits, not me teaching them ;)

# re: Yet another opinion

Left by Simone at 10/11/2007 5:36 PM

@simone: then you'd better look for a job in Managed Design, or Mindscape or Castle :)
In "normal" companies you are likely to be the one that brings in innovations

# re: Yet another opinion

Left by Simone Busoli at 10/11/2007 10:54 PM

I guess you're right... well, let's just hope things will be changing first or then!

# re: Yet another opinion

Left by Eber Irigoyen at 10/11/2007 11:34 PM

"Of course in 5 years doing MVC on ASP.NET, POCO, IoC, TDD, CI will be mainstream"

no it won't, in the same way that the majority of the developers "using .NET 2.0" don't know the difference between C#1.0, C#2.0, .NET 1.x and .NET 2.x and don't know how to use anonymous delegates, nullables, etc

why? because is not easy, because it not drag and drop, because is not visual

# re: Yet another opinion

Left by Ben at 10/12/2007 12:43 AM

Good post. You pretty much sum up my thoughts on what it will mean in broad terms to development practices, once MS release MVC.

# re: Yet another opinion

Left by Scott at 10/12/2007 7:49 AM

"Of course in 5 years doing MVC on ASP.NET, POCO, IoC, TDD, CI will be mainstream"

Of course, you realize that's what the Smalltalk team thought in the 80's when they invented MVC. "Everyone will use this, it so much better." ;)

Patterns are hard to grasp and require a certain mindset. If you're not used to them, it's easy to fall into old habits and corrupt the intent of the pattern by blurring the lines between components of the pattern.

# re: Yet another opinion

Left by Simone Chiaretta at 10/12/2007 10:45 AM

@Eber: as you say, and I said, there are still a lot of people using, 5 years after .NET was released, VB6 and ASP Classic, but if someone (MS) enforces "good practices" with the tools, people will be more likely to build better code

@Scott: The problem with Smalltalk is that MVC was used only by Smalltalk developers because the tools enforced it.
Most of the Java developers builds applications with MVC because Struts (the "defacto official" web framework fo java) enforces it.
Devs in the .NET world uses D&D and datasets because it's the easiest way to build things with .NET.
As I said 3 lines above, if MS puts a best practice pattern into its tools, developers will use it. But until then, forget about the masses to look for the best way to do something.

# ALT.Net and the Enterprise

Left by Ayende @ Rahien at 10/12/2007 11:25 AM

ALT.Net and the Enterprise

# re: Yet another opinion

Left by Jimmy Bogard at 10/12/2007 5:36 PM

I think you can look at two things:

- The background of .NET developers can be much different than Java. Our .NET developers are Engineers or MIS majors. Our Java ones are CS majors.

- I would argue that ASP.NET development is much, much harder than MVC, IoC and other ALT.NET concepts.

Everyone developer we have is intelligent, but not aware of these other concepts. Often times they're not aware of the problems ALT.NET concepts try to solve. After we create awareness, agree on values and principles, introducing practices becomes much easier.

# re: Yet another opinion

Left by Casey at 10/14/2007 10:08 AM

COuldn't agree more ... thought I should back you up here rather than debate it on Ayende's blog :)

I personally believe that ALT.NET (or good development in general) doesn't scale well as development is a creative profession ... and creativity cannot be scaled.

# re: Yet another opinion

Left by Simone Chiaretta at 10/14/2007 9:29 PM

@casey: That's the "problem" behind blogs: if instead of commenting on a post, someone comments with another post, the thread is moved to the other post :)
But since also Jay Flower wrote a post commenting my post (, I think I'll write another post

# re: Yet another opinion

Left by Tokes at 10/14/2007 10:01 PM

Simone, don't despair - there are companies out there that care about using the best technologies whether they're from Microsoft or the ALT.NET camp. I tell my guys that I don't care what technologies they use as long as they deliver robust, maintainable and consistent code, on time and within budget. It's that simple. The challenge is that some of the coolest ideas out there are simply not appropriate for the type of project you are on, of for the type of client you have to deal with. It's all about making the best choice for the situation you're in.

From my (completely unbiased!) observation, we at Intergen ( are one of the few 'largish' IT service companies in NZ that pride ourselves on early adoption and strong community involvement in all things related to building solutions using Microsoft technologies. It's not always easy remaining innovative and agile in our chosen market but we are always aspiring to improve or practices and processes.

# re: Yet another opinion

Left by Simone Chiaretta at 10/14/2007 11:07 PM

@Tokes: good try :) I'll let you know asap

# Some clarifications on my opinion about ALT.NET

Left by CodeClimber at 10/15/2007 12:37 AM

Some clarifications on my opinion about ALT.NET

# Community Convergence XXXIII

Left by Charlie Calvert's Community Blog at 10/15/2007 2:55 AM

Welcome to the thirty-third edition of Community Convergence. This week we have a new video called Programming

# re: Yet another opinion

Left by Andrew Peters at 10/15/2007 10:05 PM

Hey Simone,

Make sure you get Tokes' views on unit testing before you sign anything! :-)


# re: Yet another opinion

Left by Dave at 11/25/2007 9:23 PM

> some of the ALT.NET fanboys predicate

fanboys? hasn't been my experience. of course if you really want to drive a wall, fanboys would be a good label to attach to people that are passionate about excellence in software development.

Comments have been closed on this topic.