Clemens rails about technology overload with .NET (via larkware).
Meanwhile…
David Heinemeier Hansson discusses the success of Ruby on Rails and it’s minimalistic approach (via Scoble).
I read these back-to-back today, and I thought the juxtaposition was
interesting. While Microsoft has been busy adding so many features to
the .NET platform that no single developer can possibly know it all, ruby on rails
has achieved success simply by focusing on a core set of functionality
that helps real developers create the scaffolding to build clean
applications quickly.
Now, don’t get me wrong here. I’m not bashing Microsoft, as I think
they are doing what is necessary to meet the needs of a large and
diverse set of developers and technology problems, and I love the .NET
framework. I also know that the comparison is sort of apples to
oranges, but I think the success of rails among many hardcore
developers highlights something that may be missing from the VS.NET
toolsets - or perhaps just misdirected with the mindset of
drag-and-drop database connections and passing around datasets.
I think it highlights that perhaps more effort should
be spent around creating rails-like scaffolding (read
frameworks that are pattern-oriented and sensible) in targeted areas
like web applications, but also around web services, windows apps, etc
so that developers don’t have to be experts in every area to create
“quick-and-clean” applications, but, yet, the experts feel comfortable with the scaffolding being used as well.
That’s the draw of rails to me….that it creates a framework that is
simple, object-oriented, and pattern-based (MVC) – but clean, meaning I
don’t look underneath the covers and go, ‘blech’. I don’t want to write
all the yucky code every time, but I want to know that it’s being done
right.
I do think the patterns and practices group is doing some great work already to help cut down on the riff-raff with the Enterprise Library
blocks (although they certainly don’t seem to believe in the rails idea
of “convention over configuration”, heh) and especially with their work
on the GAT.
I’m interested to see how these converge either through the direction
of the p&p group or others (maybe myself -why not?). I see no
reason why these couldn’t be used in conjunction to create a
scaffolding framework every bit as powerful, clean, and easy to use as
ruby on rails, but with a .NET twist.