Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Raja Krishnaswamy and Vance Morrison: CLR 4 - Inside Type Equivalence

Download

Right click “Save as…”

  • High Quality WMV (PC)
  • MP3 (Audio only)
  • MP4 (iPhone, Android)
  • Mid Quality WMV (Lo-band, Mobile)
  • WMV (WMV Video)
You recently learned about CLR 4's support for type equivalence in a conversation right here on C9 with Raja Krishnaswamy and Jesse Kaplan. The idea of type equivalence and its potential usefulness beyond simplifying and de-bloating COM interop that employs Interop Assemblies (CLR 4's No-PIA feature) led to the need to sit down with Raja and Vance Morrison to really dig into the thinking behind the technology. How does type equivalence actually work? What are the semantics and why? In the VS 2010 timeframe, what should developers expect to be able to do with this new programming abstraction? What types make sense to mark as equivalent? Why? Where does Type Embedding fit into this picture and what role does the compiler play in the No-PIA dance? What impact may this have on the future of managed-to-managed type "interop"? What's the story here? What's next?

This is a great conversation with the primary minds behind type equivalence support in CLR 4. Enjoy.

Tags:

Follow the Discussion

  • Nice guys.  Lots of info about how everything works.  You know alot of diffrence pieces of the .NET framework core depend on each other fairly tightly.  I would think this would be a great feature to use to break up all the different parts  Where each "section" of the .NET core framework would interact with the other parts through an interface.  Then you could even have diffrnet parts of the framework "upgrade" without having to recompile.  Every .NET assembly has inside it all the links that are attached when that DLL is loaded.  I would think it might be possible to then figure out which sections (and versions of those sections) that were needed and then download just that small little piece of the .NET framework.  Like say you had a WPF app.  On running it finds the client doesnt have the "whole" .NET framework and that it needs to load the new pieces, it could only download the WPF stuff (and the stuff that requires), and nothing to do with ASP.NET or winforms or debugging etc.  Lots of intresting ideas on how to build my own frameworks using this.

  • CharlesCharles Welcome Change

    I'm glad this has given you some ideas! Your thinking is solid.

    Indeed, as we discussed towards the end of this conversation, this is only the beginning of the potential for .NET framework modularity (using type equivalence as well as other core capabilities). In terms of designing your own frameworks, composability should be front and center in your design, as you clearly understand. The design and implementation problems to solve will increase with the degree of functional generality afforded by your framework. It's a very good thing for .NET that folks like Raja and Vance spend lots of time working on these problems. The future is bright.

    C

  • Stone CedarStone Cedar Café Melody is Café in th Sky

    Raja and Vance: you guys rock. I'm thinking, when being first exposed to these new concepts, if I should be approaching from the point of WF and WCF. Any suggestions? I'm an old time developer going back to 1975 with Unix and since then, always with Microsoft. Given a recent sabatical (7 years out of the loop based on a hardship disability), it's a gift that you share freely your perceptions. Thank you.

    Jesse (Rich McGlynn) [a stone]

    P.S. I've been busy though, those 7 years, shown by musical composition mine found at http://www.myspace.com/stoneCedar. I bet that quite a few members of the Mircosoft team are musicians. Set up a web site: The Microsoft Musicians Perform (MMP a new model). Cool!

  • Wow. This sounds really great. Common embeded interface definitions is something I have often wished for this kind of thing in the past and this sounds like a really excellent implementation.

    On a related note I have another "problem" that I guess this tyep of approach might one day be able to solve?

    Like I suspect many people I now have a large library of extension methods which i commonly use embeded in a dll. Most of these are extermely simplistic but just make the code easier to read. Currently every app I write has to be shipped with a copy of the dll that implements these extension methods. However many small apps only use a very small number of these extension methods. In addittion new extension methods are often added. This results in lots of versions of this libary dll being distributed. In practice however these extenstions are really about cleaning up code syntax and the code will in effect evetualy be inlined. They are in effect a bit like code snippets. It would seem much better if these exensions were simply embbeded by the complier when used so i didnt need to ship a seperate big dll. Perhaps one day this technology might make that possible.

     

     

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.