I was reading the comments to this post regarding some new functionality in ASP.NET v.Next:
“Sun doesn’t compete with the Java Community. Why does MS have to?”
It has to do with the mindset of Sun’s clients vs. the mindset of the majority of Microsofts clients.
Java clients are, more often than not, running OSS on their production servers. Why? The OSS version (JBoss, Spring, Struts, etc…) beat the crap out of the stuff Sun was putting out. Maybe after a few years of tools like MBUnit, NUnit, NHibernate, and MonoRail kicking the crap out of the MS tools, MS will have no choice but to promote them. I wouldn’t count on that though. Look at the history of the company.
I left a cynical comment over on Jeremy Millers blog:
“The FUD that is spun by MS-Marketing and all their minions is that OSS is evil and wants to keep you from making money by giving away your product for free. That’s the party line, that’s what keeps people firmly in the MS camp. “No one ever got fired for buying Microsoft”. Besides, all that OSS crap is just made by hobby programmers right? It’s not stable.”
My point wasn’t to denigrate the people who choose MS technology, it was to point out the uphill battle we have when trying to get MS to *not* re-invent the wheel. A lot of people think that OSS will corrupt their software with some viral license that will cripple their ability to make money. Even if a better “3rd party” alternative exists, they will pick the crippled, buggy MS version because of “support” that they wouldn’t need if they used the other tool.
Honestly, I look at stuff like this and stuff like LINQ for Entities, the object factory in ADO.NET, mod_rewrite for IIS,per-directory configs for IIS and this new MVC pattern for ASP.NET and wonder why they aren’t included in the framework from the start. It’s not like MVC is new, Smalltalk used it in the 80’s. mod_rewrite is ancient. And hibernate has been around since Java practically. Even unit testing is old news. We used to write test harnesses and call them from batch files back when I did VB development. I know MS has done automated testing in the past, at least as far back as Visual studio 6. Why wasn’t that in the framework and tool from the start?
At least the future looks brighter. At least this stuff is getting in the framework now.