Tuesday, August 23, 2011

.NET is Stale?

Here's dhh on twitter: "Wish someone would study the cultural inhibitions in Denmark that binds it to stale, conservative platforms like .NET"

.NET is stale?  Fuck you!

Not to mention the language features of C#:

Is C# the most elegant language ever invented?  No, but it is one of the most elegant I have used, especially for a statically typed language.  And the language itself is clearly one of the most advanced available.  This is stale?

Did all of these ideas originate in .NET?  No, but what the hell difference does that make?!  The .NET community finds and adopts the best ideas, whether they started in Java, Ruby, or Python.  This is stale?

Are there companies still using .NET 2.0 and little to no open source software?  Yea, there are also companies on the bleeding edge, using all the tools listed above.  From organizations with strict upgrade guidelines, to organizations that wait for the first service pack, to organizations that go to production on beta releases.  You'll find it all in the .NET community.  This is stale?

Ruby is a joy to program in.  Dynamic languages are more fun to do TDD with.  Percentage wise, I'm sure more Ruby programmers participate in the open source community.  There are a wide array of really great things about Ruby (and Python, etc etc).  There are also plenty of shitty things (poor backwards compatibility, poor documentation, poor tutorials, elitist attitude, etc etc).

But this bullshit attitude that .NET is stale, outdated, joyless, or somehow dramatically inferior is nothing but short sighted and stupid.  Get over your buyer's remorse and go build some software that contributes to something larger than yourself.

* Did I leave off your favorite fresh .NET tool or feature?  Leave it in the comments.


  1. I would say .NET is far from stale. But a lot of companies and developers who make their living building on .NET *are* stale. If there's a criticism to be made, it might be of MS, for not applying a rapid planned obsolescence cycle to keep people moving forward. But I'd argue that these people and companies would just find refuge somewhere else then, and the .NET platform would be worse off for the weaker user base. So I prefer to take the opposite viewpoint: MS deserves recognition for building a resilient platform, and then continuing to support it throughout a long lifecycle, even as they continue to evolve and advance the platform through new versions.

  2. I program in both, often in the same day, working on RoR for one project and then several .NET projects for another client.

    Both have their place. Both have really great pluses and really terrible minuses.

    But as someone who has been moving a project to Rails 3.1, let me tell you that "stale" is not necessarily a bad thing. I have never seen more deprecation warnings at one time in my life. This then trickles down to different gems, who are maintained by volunteers who have real lives too. This means suffering through deprecation warnings all the time, waiting on things to get brought up to speed.

    On top of that, the stuff being deprecated often seems capricious and nonsensical. Some very, very base functionality gets deprecated - something that exploits all that "syntactic sugar" they keep going on about - and no one ever explains WHY, let alone tells you what you should be doing now.

    So, .NET can "steal" whatever good stuff that Ruby or Rails brings to the table. (which btw, they didn't invent either - MVC is probably older than DHH is.) Maybe DHH can take a vacation and let Rails go "stale" for just a little while and help out all their devs running on their treadmill.