Ja, dein Verdacht ist richtig. Microsoft drängt auf C ++, um wieder populärer zu werden.
Ich kann es jetzt nicht finden, aber vor einiger Zeit habe ich eine Präsentation von einem großen Microsoft-Team gesehen, die sich an Entwickler richtete und sich mit der Einführung von Windows 8 und insbesondere WinRT (dem Ersatz für .NET Framework) befasste als Win32 API).
Er hatte eine Zeitleiste, in der er erklärte, wie sich der Druck auf die zu bestimmten Zeiten beliebte Technologie auswirkte. Zuerst wollten die Leute also Geschwindigkeit, also haben sie alle in C / C ++ (zwei getrennte Sprachen) codiert. Je schneller die Hardware wurde, desto mehr verlagerte sich der Fokus von der Ausführungsgeschwindigkeit auf die Entwicklungsgeschwindigkeit, so dass höhere Sprachen immer beliebter wurden.
Jetzt liegt der Fokus jedoch mehr auf mobilen und ARM-basierten Computern (Windows 8 ist die erste Windows-Version, die für ARM kompiliert wird). Viele glauben, dass sie sehr viel beliebter werden und für einige den Desktop vollständig ersetzen werden. Daher liegt der Fokus (zumindest in den Augen von Microsoft) wieder auf C ++, da wir uns jetzt um die Akkulaufzeit kümmern. Code auf höherer Ebene = mehr Anweisungen = mehr Saft erforderlich.
Um diesen Übergang zurück zu C ++ zu unterstützen, haben sie eine komplett neue Windows 8-Programmierschnittstelle namens WinRT eingeführt (zuletzt habe ich überprüft, dass dies der Name war). Diese API folgt in ihrem Funktionsumfang dem Thema .NET Framework, steht jedoch allen zur Verfügung, die in C ++ (über COM-Schnittstellen), in C # oder sogar in Javascript programmieren und HTML 5 / Javascript-Apps schreiben möchten. Sie bringen auch XAML (Technologie, die in WPF, ihrem neuesten UI-Framework, verwendet wird) mit, um auch in C ++ verfügbar zu sein.
Für mich bedeutet dies, dass Microsoft definitiv mehr Wert auf C ++ legt als in der Vergangenheit.
UPDATE 1:
Da ich gerade eine 'nette Antwort'-Plakette dafür bekam, dachte ich, ich sollte vielleicht zurückkommen und a) ein paar Dinge klären und b) die faktenüberprüfende Polizei glücklich machen, weil, wie wir alle in Technologieforen wissen, alles Ungenaue zu Kriegen führen kann das dauert Jahre.
WinRT ist kein Ersatz für .NET Framework, aber es ist eine weitere Alternative, die MS Windows-Entwickler jetzt haben, und MS drängt die Leute nachdrücklich, in diese Richtung zu gehen. Es scheint, dass WinRT in erster Linie für moderne UI-Apps gedacht ist (bitte halten Sie Ihre Flammen in Schach, wenn dies nicht 100% genau ist), obwohl auch normale Desktop-Apps davon profitieren sollten. MS drängt jedoch nachdrücklich darauf, dass Benutzer zum Schreiben von a) modernen UI-Apps wechseln und b) WinRT verwenden, da sich der Prozentsatz der Benutzer, die .NET Framework verwenden, wahrscheinlich verringert.
C ++ ersetzt NIEMALS höhere Sprachen wie C # oder Python. Genauso wie diese Sprachen C ++ NIE ersetzen. Dies war wahrscheinlich der umstrittenste Teil der Frage von OP. Aber es geht nur um das Gleichgewicht und die Fakten sind:
- Die C ++ - Community (wobei MS ein großer Teil davon ist) drängt auf ein starkes Comeback, um C ++ als eine gute Sprache für Geräte mit geringer Leistung zu positionieren, deren Marktanteil in letzter Zeit wie verrückt gestiegen ist. Wenn Sie mir nicht glauben, suchen Sie nach "GoingNative" -Vortragsreihen, die im letzten Jahr begonnen haben.
- Mit all dem Aufwand und dem Einfluss von Microsoft wird die C ++ - Nutzung definitiv steigen, während C # möglicherweise etwas fallen lässt. Dies ist, worauf MS drängt, und wie ich in den obigen Kommentaren sagte, verlagern sie einen großen Teil der Branche, wenn MS ihr Kapital hinter eine Idee stellt. Ich werde wahrscheinlich eine Antwort von jemandem bekommen, der argumentiert: "Was für eine Branche, ich war schon immer unter Linux" und meine einzige Antwort ist: Wach auf! Ja, es gibt andere Betriebssysteme, aber der Großteil des Desktop-Marktes, sowohl für Privatanwender als auch für Unternehmen, besteht derzeit aus Windows, und jeder ernsthafte Entwickler, der den Wert seiner Zeit maximieren möchte, wäre sehr dumm, diesen Teil des Desktop-Marktes nicht ins Visier zu nehmen.
Fazit: Ja, MS drängt darauf, dass C ++ wieder verfügbar wird, damit seine Popularität höchstwahrscheinlich zunimmt. Nein, C ++ ersetzt niemals C #.
Update Nr. 2:
Ich weiß nicht warum, aber die technische Gemeinschaft neigt dazu, die Dinge in absoluten Schwarz / Weiß-Begriffen zu sehen, wenn die Realität voller Grautöne ist. Dies ist eine Antwort auf mehrere neue Kommentare, die zu diesem Beitrag hinzugefügt wurden:
.NET Framework wird in Kürze (oder jemals) nicht mehr verfügbar sein. Fast jede Technologie, die Fenster seit den 90er Jahren hatten, gibt es immer noch in irgendeiner Form oder Art und Weise. Also für diejenigen, die so an .NET Framework gebunden sind: a) Mach dir keine Sorgen, dass es verschwindet, und b) hör auf, für es zu argumentieren, als ob dein Leben davon abhängen würde, deine API ist sicher.
WinRT implementiert viele Funktionen neu, die in der Vergangenheit von Win32- und .NET Framework-APIs bereitgestellt wurden. Benutzer, die diese Funktionalität wünschen, haben die Wahl, ob sie WinRT oder .NET Framework verwenden oder mit der Win32-API fortfahren möchten (auch das ist nicht tot). Wenn WinRT die einfache Erstellung von Webanwendungen heute nicht unterstützt, besteht eine sehr gute Chance, dass es sie in Zukunft unterstützt.
Microsoft kündigte an, dass WinRT ein umfangreiches Framework ist, das Microsoft die Möglichkeit gab, mit einer sauberen Version zu beginnen und eine API zu erstellen, die die in Win32 API und .NET Framework selbst gewonnenen Erkenntnisse verwendet. Ich habe versucht, nach diesem Video zu suchen, und kann es immer noch nicht finden, aber der Redner erwähnte unter anderem, dass es bestimmte Bereiche von .NET Framework gibt, die besser / einfacher / sauberer definiert werden könnten, und WinRT dieselbe Funktionalität bietet in dieser neuen saubereren Schnittstelle.