Die Sprachen C++ und C# sind von der Notation her sehr ähnlich.
C++ ist als Erweiterung von C zu verstehen.
Die Kompartibilität untereinander ist gewährleistet...
Im C++ Kompiler kann man Cund dessen Bytecode bis zu ASM verarbeiten.
Die Entwicklungsumgebung von C# ist als Erneuerung von der MC-VC++ 6 kompartibel zu C++, C und ASM.
Die MS VC++ 7 (alias .NET) Entwicklungsumgebung ist also zum Programmieren in C++ etc. geeignet.

Wer im Ernst mit "C# oder ähnlich" "Open" programmieren will, hat eine Kleinigkeit nicht verstanden.
In der .NET Umgebung ist das Kompilieren von OpenSource verboten
Zudem ist die Intension von GNU nicht ... dass man für ein paar Sourcen gleich das Visual Studio kaufen muss.

Gruß,
Chris