My Official Opinion on .NET
I’m starting a new job next Monday at a small firm in Addison as a DBA and Senior Developer. It’s going to be interesting, as it’s a .NET/WinForms/ASP.NET (Microsoft’s “New Stuff”) shop, and I’m accustomed to Unixy solutions. At least the Oracle database is on Sun Solaris, but there’s talk of migrating to SQL Server.
The purpose of this post is to share my official opinion on Microsoft and .NET. As a supporter of Linux and OSS, a general assumption people have is that I consider anyone and anything Microsoft evil. Though I haven’t bothered correcting that assumption, it’s not completely accurate.
Though I am reluctant to admit it, Microsoft is on the right path with .NET. Microsoft is only the enemy insofar as they attempt to prevent interoperability, and the New Microsoft seems to be coming to the realization that they are going to have to do business in a world in which they produce only one of many popular computing environments, not the homogeneous landscape they dominate today. Between the various distributions of Linux and Apple’s Mac OS X, competition is on the rise. The iPod Halo Effect is one oft-quoted piece of evidence of this fact.
In the near future, the Mono Project’s open source .NET runtime will have full WinForms support, and Microsoft is “friendly,” according to this rather ancient post and this article by Miguel de Icaza. I’m optimistic about running Office, Money, and other proprietary Microsoft products natively in Linux soon (not Crossover– emulation is merely a stop-gap, and please don’t flame me about how it’s Not An Emulator). I’ll even pay for them! I just want to have the choice of an operating system other than Windows (as ubu once so cleverly pointed out, “the operating system named for a GUI feature”).
I’m confident that some day I’ll be able to run our applications on Mono, but even then I will likely be using Visual Studio .NET, because it’s damn good. I love Vim, but man you should see some of the things vs.net can do. Maybe I’ll find a nice way to use vi keybindings, find and replace, macros, and “.”, or maybe I’ll just get used to the idea of leaving the home row more often.
I haven’t been on board with any Microsoft “initiatives” in the past, oh, six years. In retrospect, the only reason I favored Microsoft back then was an ignorance of alternatives. But I’m on board with .NET.
Do you remember Sun’s hype about Java back in the day (”compile once, run anywhere”)? Do you also remember what a flop that turned out to be? Well, .NET is basically Java Done Right. Let’s face it. If Microsoft is on board with this, it’s going to be popular. That much is inevitable. Microsoft’s enthusiasm about having “other implementations of .NET” is a sign that they’re finally “getting it.” You do the math, folks. At the risk of sounding like a bona fide Microsoft evangelist, .NET will have an impact on the world of technology that is greater than Java’s. Look at the numbers: according to indeed.com, there are 57,618 java job postings and 57,207 .NET job postings. I’d say that’s an impact. Just wait until all of that software “runs anywhere” and supports your favorite programming language.
Well, wish me luck on my new venture, I’m sure I’ll be blogging about it in the near future, so stay tuned.


As exciting as “runs anywhere” sounds I wouldn’t get to excited just yet. While Mono is going to have a WinForms implementation soon it won’t allow anything written in C# to run on it. Anything that uses p/Invoke or Unmanaged C++ won’t be able to run on Mono, not directly anyway. So it’ll be years, if ever, that we see Money, or Office, or any significant Windows program running natively on Mono on Linux.
Comment by jcollins — April 18, 2005 @ 11:06 am
I would echo jcollins’ comment to some extent. Not as someone who knows .NET, but rather as someone who knows Java and tires often of the much-to-do made about its deployment and compatibility quirks. No, Java didn’t live up to the hype, nothing ever does, and .NET is no exception.
Look at the Adobe/Macromedia merger we witnessed today. Everybody knows it’s a strength-in-numbers move to defend against Open Source SVG & SMIL technologies in the 5-year term, and Avalon in the 2-year term. Both companies have much-hyped technology that will wither and die on the vine in the next few years, and they are working hard to leverage those technologies to the fullest possible extent before the inevitable end.
I look at .NET and Java this way, as well. Sun wanted to leverage its server business, and Microsoft wants to leverage its operating system business. “Leverage”, here, means “get some money out before the game’s up”. .NET is surely a great delivery, but as an investment in the future it’s an ironic way to go. Sun’s server business is dying, and Microsoft’s operating system business is dying, too. Notice how .NET arrived about a half decade after Java? That timing should be suspicious. Half a decade ago we were finally sure Sun’s predominance in vendor UNIX was over, and today we’re finally sure Microsoft’s predominance in desktop operating systems is over.
Comment by ubu — April 18, 2005 @ 3:14 pm
True, code w/unmanaged code will not work on other platforms but why would microsoft close the door on a bazillion resources out there. And although it would be nice to have Office or Money running on Unix - what does Microsoft have to gain for implementing 100% managed versions of these products - it’s not like the Unix guys will be standing in line at Office Depot. One of Java’s problems is that Sun wanted all the power and wanted to be everything to everyone hence their ‘Write once, run anywhere’ claim. Rather than leverage strengths they came out with some very shoddy implementations - mainly AWT & Swing. In .net Microsoft has delivered a platform and has set the bar high w/the windows implementation. Why should they write the code for Unix - they don’t need to. Sun’s server business may be dying but that’s partly due to them not wanting to play fairly with IBM - who by the way we have to thank for most of the Java SDK. I haven’t heard that Microsoft’s operating system business is dying - and with .net I suspect it will take an act of congress to affect their market share.
Comment by TK — August 26, 2005 @ 9:11 pm