So Michael Hall and the rest of the .NET nerds are making a big rucus over their .net microframework. They promise to let all of the C# junkies start writing code for the next generation ipods and cell phones. Most C# junkies don't know what malloc is (let alone an interrupt) so I am skeptical. But if Microsoft can get non-embedded software engineers into embedded technology they will make the big bucks.
The problem with the microframework is that it does not have any real-time support and only runs on ARM. There are very few BSPs (I think only one!). This API is a good start but what is really needed will be more of a hybrid.
What you really want is to write all of your real-time code on a true embedded OS, and the high-level non-critical apps in a managed language like C# or Java. Microsoft has not pulled out a solution like that yet, but others have.
AONIX has a real-time java VM which runs on top an embedded OS. It doesn't look like its catching on yet, but I do believe that the technology is the way of the future (give it five years).
Until Microsoft comes out with a solution that plays nice with real-time systems, all they are offering is an API with a huge memory footprint (half a Meg!), horrible threading support, no partitioning, and crappy performance. Good work Microsoft nerds.