Good Scott Hanselman pointed me to his latest entry, from RailsConf, titled "Is Microsoft losing the Alpha Geeks?", and it's a thought-provoking piece. I'm not very well versed on Ruby or Ruby on Rails, but it's on my list of stuff to dive into this year (any books I should look into?).
However, regardless of Ruby, I sympathize and agree with the core principles and a lot of the ideas I've heard from this camp resonate deeply with me. Scott mentions that perhaps some of the newer programmers may have less tolerance for development pain or frustration in present stacks. I don't know about that, but definitely it's a pain I'm developing every day even less tolerance for. Now, I'm turning 30 this year and I've been a developer for a while... does that leave me in the newer or older camp? (please, it's a rethorical question, I'm not sure I want to know the answer :-)).
But you know what? In the end it doesn't matter. If there's one thing I'm sure of is that not one of us should have to put up with painful stacks and painful tools. It's fine sometimes to put up with them for short periods of time to move things ahead, but life's too short to make that a constant part of your work for years.
Now, the core .NET platform itself is not really very high friction (at least I don't consider it so). Some parts of it, however, are more painful than others (say, ASP.NET WebForms). Some of the core languange enhancements that came in .NET 2.0 as well as what's coming in .NET 3.5 can have a significant effect on reducing the friction in the platform. That said, I do worry that the entire platform and stack that MS is putting out is becoming increasingly complex, and that does bring, unfortunately, more pain sometimes.
One core problem here is that Microsoft wants to bring a lot of very complex technical solutions and make them part of the core platform (think WinFX to .NET 3.0, then start looking at all that loomes just beyond Orcas). I told a few guys during the MVP summit, half jokingly, that it seems to me MS is too focused on trying to solve "industry-wide problems" instead of focusing on the issues the individual developer struggles with, and that brings by itself a lot more complex solutions as they tackle the very broad scope of "everyone's problems" . I'm guessing it doesn't do much for product development schedules :-).
Scott also brings up the topic of David Larabee's (who I had the pleasure of meeting, briefly, at the MVP summit) Alt.NET term. Scott says this shouldn't be the "alternative", but rather what the mainstream should be. I'd tend to agree with this idea, if simply because that's what any good developer, who's passionate about software developer, should strive to be. I'm still far of, but that won't prevent me from trying hard. I do not agree completely, however, with the idea that it is Microsoft responsability to turn this around. To a large degree it is our responsability as members of this big community to foster that change, both outside as well as inside of Microsoft. We're fortunate to have some big names in the community pushing this forward (you know who are).
Finally, as for the DLR, IronPythong and IronRuby, those are things that I'm very positive about (I just wish they hadn't tied the marketing message of them so much to the Silverlight announcements, but hey, it's just marketing). And I totally agree with Scott that MS should "let go" a bit of their "open source" projects and let them in the hands of the community. While MS has made great strides in getting more open and putting more code out there, I think the company as a whole doesn't still quite get the distinction between actively sponsoring and participating in an open source project and trying to control it. If they don't learn it, all we'll have is just yet another way for MS to publish code no one else can touch.