Joe Duffy, an architect and developer on a research operating system at Microsoft has blogged about the next generation programming language they have been working on in the past couple of years. Microsoft is now describing this upcoming language as “systems programming” extensions to C#. Microsoft is trying to pitch this language as cross between Safety & Productivity centric C#, Java, etc, and Performance centric C++. Here are the 6 important features of the language, ) Lifetime understanding. C++ has RAII, deterministic destruction, and efficient allocation of objects. C# and Java both coax developers into relying too heavily on the GC heap, and offers only “loose” support for deterministic destruction via IDisposable. Part of what my team does is regularly convert C# programs to this new language, and it’s not uncommon for us to encounter 30-50% time spent in GC. For servers, this kills throughput; for clients, it degrades the ...

Read More →