DCSIMG
PDC Day 3: What's Coming in CLR 4.0 (Part 1) - All Your Base Are Belong To Us

All Your Base Are Belong To Us

Mostly .NET internals and other kinds of gory details

PDC Day 3: What's Coming in CLR 4.0 (Part 1)

Joshua Goodman's session on CLR futures was packed - the crowd of developers wanted to learn what's been cooking under the hood for the past couple of years.  Without a major CLR upgrade since 2005 (CLR 2.0), we all had our appetites whetted.

So to begin with, Joshua announced that as of 4.0, multiple versions of the CLR can be hosted in the same process.  For example, an application leveraging CLR 4.0 will run on top of CLR 4.0, but will be able to load and interact with a module that requires CLR 2.0 and will run on top of CLR 2.0.  (IIRC, this was already baked into the Silverlight version of the CLR.)

Another announcement Joshua made is that the source for the TLBIMP utility (used for COM interoperability) is hosted on CodePlex, making it possible to augment and correct problems with the generated interop assemblies for each specific project.  This relates very well to the No-PIA feature I covered in an earlier post.

Similarly, P/Invoke interoperability solutions will benefit from the P/Invoke "Wrapping Tool" - which I believe to be a slightly updated version of the P/Invoke Interop Assistant.  It can take any C/C++ header file and generate equivalent (albeit not always correct) P/Invoke signatures for managed languages to consume.

As part of the support for dynamic languages (DLR), the BCL now includes BigInteger (revived from 2007!) and Tuple classes (C++0x variadic templates would really be helpful here!), and a slight bug with tail recursion was fixed in the 64-bit JIT.

We live in exciting times - and this is not all that was unveiled in the session.  Stay tuned for part 2 to discover what's new around exception handling, dump debugging, GC latency and 64-bit code.

Comments

All Your Base Are Belong To Us said:

In part 1 we looked at CLR side-by-side support for multiple versions, at interoperability-related features

# October 30, 2008 4:22 PM

Sam Gentile If (DeveloperTask==Communication && OS==Windows) said:

CSD/Geneva/Oslo /BizTalk Services /.NET Services I'm leading off with agreement with my friend Aaron

# October 31, 2008 3:51 PM

Pavel's Blog said:

PDC is over. Getting back to reality…and work. Plenty of work… Now that I’ve recovered somewhat from

# November 3, 2008 7:48 AM

Sam Gentile's Blog said:

CSD/Geneva/Oslo /BizTalk Services /.NET Services I'm leading off with agreement with my friend Aaron Skonnard's assessment of all things CSD in his post, "If you're a Microsoft Connected Systems developer, and you're at the PDC this week , you're

# November 30, 2008 1:48 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: