Skip to Content

Is Microsoft .Net behind the curve with respect to leading the industry with in Innovative new solutions? Let’s take a look Microsoft’s golden boy, .Net. When you think about it, the main technical force driving the .Net initiative (besides the countless man-hours worth of marketing material) is the .Net virtual machine.

One of the big advantages of a virtual machine approach is that it frees developers from the memory management issues that have doomed many a C++ application. Of course, you get other benefits like improved runtime type-checking but memory management has to be greatest advantage for the unwashed VB-developing masses.

The .Net virtual machine handles one specific issue that has always trouble me about the COM, namely that it’s the client’s responsibility to invoke Release(). Since the VM memory manager does its own reference counting, you don’t have to worry about client applications forgetting to make that call (or making that call too many times!).

Of course, with interpreted programs, you sacrifice a certain level of performance, but for complex non-real-time applications you can usually afford the penalty. This is especially true of prototype applications and/or applications that are developed by virtual teams. Proper management of memory allocated on the heap can be art form, and if your teammates aren’t artists – or at least vigilant about documenting their code – you can find yourself with those subtle memory leaks that somehow never show up in the test lab, but always rear their ugly head at the client site.

Were I’m going with all of this is that Microsoft is really about 4 years behind the curve with respect to rolling out its own VM. If you consider Java’s birth to be circa 1996 and .Net around 2000, that’s about four years lag time. Granted, they have had the benefit of learning from Java’s mistakes, and even had their own JVM implementation to play around with, but even if those benefits cut the dev-time in half, that’s still about 2 years. This is an eternity in the IT industry.

So is Microsoft behind the curve? Probably. Will .Net succeed anyway? Probably. But at least most of the Just-In-Time compilation bashing is gone forever.

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Former Member
    Sure MS might be behind the ball in terms of their .NET VM, but IMO it really doesn’t matter.

    They were behind with IE for some time, SQL Server, etc.

    And whilst I don’t know about the process that is required to get new capabilities into the JVM, I suspect that MS’ will be able to move quicker than the Java community.

    The biggest challenge for MS will undoubtedly be getting .NET deployed (Longhorn will have it native, but that’s probably 5 years away for many corporations).  Also, I’ve read about cases where version 1.1 of the .NET framework causes problems for apps developed for .NET 1.0.  They can’t have that happen.  Perhaps the same thing is true for the Java community – I don’t know.



Leave a Reply