RDN Express Blog

Blog archive

Two Runtimes Too Many?

With .NET 3.0 and .NET 3.5, Microsoft stacked its new libraries and tooling on the .NET 2.0 Base Class Libraries (BCL) and Common Language Runtime (CLR) that shipped with Visual Studio 2005, in what the company called a "layer cake" model.

This time around, the CLR is getting a major upgrade, jumping from .NET 2.0 to .NET 4.0. The .NET 4.0 Framework is expected in beta next month along with VS 2010 and will likely have a go-live license before the end of the year, according to several sources. Microsoft has been strangely quiet on the new framework since the Professional Developers Conference community technology previews (CTPs) in October.

What's new in the core that will make development better across the framework? Several enhancements have been baked into the BCL including Code Contracts and Parallel Extensions.

BCL improvements expected in the .NET 4.0 beta include variance annotations (co-variance and contra-variance) and tuples for language interoperability. For more on what's new in the BCL, check out the BCL Team Blog.

How will side-by-side installations work? Microsoft's Joshua Goodman served up a technical session entitled "Microsoft .NET Framework: CLR Futures" at PDC, where he characterized .NET 4.0 as the biggest release since 2005. The reason for the CLR upgrade is that Microsoft has finally solved some of the compatibility issues, according to Goodman, group program manager for the CLR team.

In the 4.0 framework, a new hosting model will allow developers to run apps in process side-by-side on either .NET 2.0 or .NET 4.0. The host will chose which version of the CLR to run components of the app in. If this works -- cool. But it sounds like there may be some scary compatibility issues on the horizon.

What's in .NET 4.0 that is going to be most useful to you as a developer? Have you checked out the framework CTPs? After four to five years, should Microsoft have made more changes to the core? Express your thoughts below or contact me directly at krichards@reddevnews.com.

Posted by Kathleen Richards on 04/23/2009 at 4:02 PM


Reader Comments:

Wed, Sep 2, 2009 NV

You are not finished development with one thing and we have new version, which has all old API's obolete... This is the problem when power is given to monkeys like microsoft.... they go on breeding API... Time to sell some condoms to microsoft...

Wed, Sep 2, 2009 NV

Joshua wants free testers... to work for him... Microsoft is shit stuff... they are unable to manage their API and have been outsourcing their dev efforts.... why the hell is so much API required? Old wine new bottle... Development is hell with microsoft... Hypocrates release bug fixes in the name of security patches...

Thu, May 7, 2009 Luis

I trust them Microsoft its the best and .net has always been the best and easies to use. I am researching vsts 2010 since its first beta and team system and team foundation server is great, the best thing ever seen, you wont see integration like this in any other tool

I wouldnt ever change to a different language, I tried java, ruby on rails, I tried perl, None of them offers me the agility and productivity I need. Use one of thouse means for me to go back to the stone age.

Thanks

Thu, Apr 30, 2009 Shane

I basically don't trust them. I don't want golive. I think it is being forced down the throats of everyone. I am considering a new platform and programming languages.

Wed, Apr 29, 2009 Mike Westville, NJ

My fears are, endless downloads and upgrades and a return to DLL hell.

Mon, Apr 27, 2009 Kathleen Richards

Joshua - Sorry about the incorrect title it's fixed. Thanks for sharing your comments. -K.R.

Fri, Apr 24, 2009 Joshua Goodman Redmond

You write:

In the 4.0 framework, a new hosting model will allow developers to run apps in process side-by-side on either .NET 2.0 or .NET 4.0. The host will chose which version of the CLR to run components of the app in. If this works cool. But it sounds like there may be some scary compatibility issues on the horizon.

Actually, in most cases, the component (especially COM components) will choose which runtime they run against, meaning they get to run against runtimes they were built and tested against. (We've evolved this story a little bit since PDC, and haven't publicly described the final model yet.) This is a big improvement to compatibility, compared to our previous model, where we often had to roll applications forward to a new runtime. There are still a few cases in which addins will be rolled forward to 4.0, but we've also worked very hard to make 4.0 as compatible as possible with 2.0, so even when that does happen, things should work fine.

That said, we'd love it if you and Redmond Developer readers would try out our beta 1, which will be released soon, and see if you can find compatibility issues. If you do find them (no one is perfect) we want to hear about them so we can fix them before we ship.

By the way, I'm a Group Program Manager, not a Group Product Manager. Product Managers are marketing guys great speakers, good looking, and well dressed which doesn't exactly describe me...

Joshua Goodman
Group Program Manager, Common Language Runtime

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above