Coffeehouse Thread

15 posts

speculations on .NET 4.5 ?

Back to Forum: Coffeehouse
  • User profile image
    felix9

    I found such a session in this session preference site of TechEd North America 2011 called:

    Parallel Extensions in .NET 4.5

    so it looks like there will be an interim release of .NET framework before v5, I guess it may be based on the v4 CLR, adding some more libraries onto it, to give some goodies to developers before the potentially radical leaps of v5, if v5 is really related to the Jupiter thing in any way. Devil

    so what could get into such an interim release ?? any speculations ??

    on the same session list of TechEd NA, these two titles are interesting too:

    Code First Development in Entity Framework 4.1

    and

    Entity Framework 4 and Beyond: Building Real-world Applications

    In this demo-heavy session, we’ll take a tour around the next version of EF and see several features that have never been seen before. We’ll then talk about our long-term roadmap and the vision behind the Entity Data Model (EDM).

    the version number 4.1 of Entity Framework is a little bit weird here, EF 4.1 in .NET 4.5 is confusing, maybe EF 4.1 an out-of-bind release of EF? givin EF CodeFirst or the 'magic horn' is near complete now, maybe this will be released before .NET 4.5 ? that is ... well... weird.

    anyway, there are some other stuff we can guess:

    Async ?

    maybe the Task-Based Async pattern and the language support of it in C#/VB will get into .NET 4.5, since a new PFX will be there, and its designed to work with this Async stuff. the only problem is, C#/VB languages will get a new version number, C# 5.0 and VB 11.0 according to Bard De Smet, C# 5.0 in .NET 4.5 will be confusing, just like C# 3.0 in .NET 3.5.

    Rx ?

    Rx is part of the builtin library of WP7, and graduated from the incubation state, maybe it should be shipped with .NET framework too, at least the core of it, but Rx also has its own out-of-bound releases, which is not seen for other parts of .NET, so this is still uncertain.

    Xaml2009 ?

    Xaml2009 missed the train of .NET 4, it should get into the next version, hopefully.

    Razor ?

    ??????? some other stuff we havent seen yet ???? any thoughts ???

    PS: another interesting session in that list is :

    The Future of C# and Visual Basic

    OK we have saw this title before, but, its description is : TBD Smiley

  • User profile image
    contextfree`

    @felix9: well, version numbers are pretty arbitrary anyway. we've known there's going to be a new release of .NET soon already, it doesn't really matter what they call it does it? maybe if there's not yet a new CLR they just decided it would be less make more sense to call it 4.5, to avoid the confusion of having ".NET 3.0" built on CLR 2.0. I doubt the C# version number is set in stone either.

    About Rx, there's a post from Wes Dyer on the forums about that: http://social.msdn.microsoft.com/Forums/en-US/rx/thread/a70ef490-6236-45a2-96d0-1c9e5b07c1fe

    "Does this mean Rx's release/versioning schedule will become more "traditionally Microsoft"? -> Yes and no

     We want to keep the good qualities of the product and the team while also giving our customers the things that they expect from tradition products.  What this means will become clear in the coming year."

    it sounds to me like a stable version will be included as part of the framework, but they'll continue releasing standalone versions more frequently.


     

  • User profile image
    BitFlipper

    One thing I think they should really look at is to improve the GC so that it is incremental/concurrent. Maybe if there was a choice between the way it works now and a more incremental or concurrent model then people can still use it the way it works now (just like Java is able to do it right now). Supposedly an incremental/concurrent GC is a bit slower overall, but the likelihood of long GC pauses is dramatically reduced.

    This could help to let .Net be used in applications that require a more "realtime" environment, like games and audio applications etc. While XNA works OK, there are many complaints on the XNA forums about the GC (especially on Xbox), and how you need to jump through hoops to ensure your game allocates as little as possible (or even none at all) except during the initialization phase. Even doing things like accessing a value type property on a class that implemented that property via an interface would cause garbage to be created (the value type is boxed/unboxed - why are we forced to know or care about this undocumented low-level stuff in such a high-level language?).

    It is a bit silly to have such a powerful platform like .Net but then to have to work around all those GC related minefields when you really need to reduce the likelihood of a long GC cycle as much as possible.

    Of course many people would argue that this is unnecessary but of course they probably don't work with software where this stuff is important.

  • User profile image
    contextfree`

    Yep, if they want their primary APIs on the Xbox & phone to be managed, they're going to have to do a lot more work to make it easier to make real-time responsive apps if the general wonkiness of third-party WP7 apps is any indication.

  • User profile image
    exoteric

    I would expect Async and a slew of extensions to existing libraries to make them Async-ready.

  • User profile image
    brian.​shapiro

    I want...

    1. support for east asian vertical text

    2. support for multi-pass shader effects like outerglow

    3. support for shader effects in OnRender in order to deprecate BitmapEffect

     

  • User profile image
    Adam​Speight2008

    @BitFlipper

    Is there such thing as a Concurrent Dual Heap? 

    [Ptr 2 Heap] -> [Heap0], {Heap1}  heap1 being prepared concurently,

    Heap2 is ready, the heap manager Interlockes swaps the ptr2Heap, so now it points to Heap1

    The heap manger now works preparing the next version of the on the site of Heap0.

    Would this scheme be quicker. Ie a shorter pause.

  • User profile image
    magicalclick

    I hope they have some kind of special observeablecollection that doesn't need background process or invoke . AND has parameter for batch process  where it update GUI for every k number of changes or 1 second after the latest change. Don't want to over flood GUI with frequent changes.

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    magicalclick

    dd post.

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    BitFlipper

    @AdamSpeight2008:

    Actually I am not sure about that. I am not a GC expert but I know that Java has had an optional low-latency GC for years. If it can be done in Java, why not in .Net? I realize there are complications with an incremental or concurrent GC, but there are solutions to those problems.

    For instance, I was thinking of how the GC can incrementally walk the object graph, while allowing other threads to continue. The problem in this case is that if an object is "passed along" from a part of the tree that has not yet been traversed to a part that has, the GC would miss that object and think it has been orphaned. One solution might be to change the compiler so that any object assignment sets the flag on that object that it is not orphaned for the current GC pass.

    But as I said, I'm no expert so something like that could be completely impossible for whatever reason.

  • User profile image
    Adam​Speight2008

    Maybe time to interview Maoni Stephens or Patrick Dussard again?

  • User profile image
    felix9

    Mmmm... I dont think GC or WPF will be updated in a 4.x release, but thats welcomed anyway.

    There are many interesting research or commecial GC implementations in the Java world, realtime, concurrent or super large scale ones.

    And Azul has started an Managed Runtime Initiative to improve GC and runtime performance in general, their approach is to adapt managed runtime requirements all the to the operating system and hardware (or virtual hardware). I dont think MS will paticipate this but at least Mono and some external researchers could do some experiments with it.

  • User profile image
    BitFlipper

    Yes I always thought a "pluggable" GC would be interesting, in the sense that 3rd parties could provide GC implementations. Of course this could open the door for all sorts of issues since the GC is critical to the stability and performance of .Net, but MS could say we will only support .Net if you are running with the official GC.

    Although as I mentioned earlier, I am not sure if such a mechanism will allow the idea I have to update the object ref each time it is assigned to a variable since that is at the compiler level. I am sure the "object" implementation is much more than what we can see in the debugger (the .Net framework must have some additional metadata for each object instance). Maybe there is a way to hook into it so that assignments can be intercepted, or something. 

  • User profile image
    aL_

    really hope async and TFD will make it in there.. also the xaml editor improvments they showed last year but im not holding my breath on that one Smiley

    rx would be very nice too, at least in some form

  • User profile image
    felix9

    VS tooling support is not a part of .net framework, they are shipped in VS service packs.

    but they did ship vs updates with Silverlight Tools, so if there is a new release of Silverlight Tools or even Silverlight 4.5 something ....

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.