Without a doubt it's very exciting to focus on the end goal of shiny new languages and functionally 'pure' (or at least side-effect annotated) frameworks but over the next 5 years I'd really like to see Microsoft et al spend some of their community education budget on giving direction as to how we should transition our existing deeply object-orientated architectures to prepare for all this. How do we find that sweet spot of being more explicit about mutation without totally giving up on encapsulation. Should we start annotating mutations? Surely Microsoft should provide those annotation definitions so we can use a common standard. Will we get short term tool / framework / runtime changes to support the transition and not just the rewrite scenario.
Don't get me wrong, I'm not being anti-change here, but any pitch to management about adopting this stuff needs to include a technically strong discussion of how architectures can be changed over time in such a way that they don't immediately and severely impinge on developer productivity. There is clearly more to the problem than just 'pepper your code with LINQ query statements' (I'm being deliberately provocative, not as an attempt to troll but because I think this part of the story is currently missing.)