Microsoft may be developing a native version of C# with additional extensions for systems programming that would compete with languages like C++, and D. Duffy’s work on immutability and isolation in C# is directly related to this native version of C# and mostly likely would not be part of CLR C#. While I use the term “native C#,” “systems C#” might be more accurate as garbage collection will likely still have a diminished role in this new world.

C++ is constrained by compatibility, leading to obsolete, complex and inelegant syntax. C++ is also not type-safe. A new version of C# for systems programming is advantageous in a number of ways. It would leverage past efforts with CLR C# and allow Microsoft to evolve the language faster than any standards body and in a way that best meets its needs. Porting code between systems and CLR C# might be a trivial recompilation at least in the CLR-to-native direction. This effort appears to involve extensive collaboration with or may even be entirely based inside the research group, which should mean the introduction of many new and advanced ideas from academia.

Joe lists six major categories of features being introduced into systems C#:

A prior post of Duffy’s hinted at the development of a new framework in which he was calling out for interested new hires. This new framework might be yet another framework built entirely to support systems C#. Duffy is rumored to be working on Midori, a new distributed, concurrent OS. A deleted job post for a Midori-based programming language called M#. Midori may be the testbed for systems C# and its supporting libraries.

Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.