Ersetzt modernes C ++ C #? Drängt Microsoft die Entwickler, C ++ zu übernehmen? [geschlossen]

91

Ich höre etwas über die Popularität von C ++ in der heutigen Zeit und einige Gespräche über die Migration von C # oder anderen C-ähnlichen Sprachen nach C ++.

Ich kenne C ++ 11-Funktionen, würde aber gerne Ihre Erfahrungen hören, insbesondere von Entwicklern, die von C # auf C ++ migriert sind.

Vor allem drängt Microsoft die Entwickler, C ++ zu verwenden? Wenn ja warum

Amir Karimi
quelle
16
Ich denke, C ++ war schon immer eine verbreitete Sprache, weil es besser eingeführt und leichter portierbar ist als C #. Ich glaube nicht, dass es C # ersetzt. Für Windows-basierte Geschäftsanwendungen wird C # als einfach zu erledigende Sprache immer noch stark nachgefragt . C ++ ist nie wirklich weggegangen. Es hatte gerade eine Art Wiederaufleben in letzter Zeit.
KChaloux
2
Ich hoffe nicht. Java und C # waren bei Entwicklern beliebt und werden noch weiterentwickelt.
Jesse C. Slicer
4
Sowohl C ++ als auch C # sind nur Tools : Wählen Sie das beste für den jeweiligen Job aus. Wenn Sie beispielsweise plattformübergreifenden Code schreiben möchten, möchten Sie möglicherweise C ++ verwenden. Wenn Sie kleine Apps möchten, für die keine .NET-Laufzeitinstallation erforderlich ist, können Sie C ++ (mit statisch verknüpftem CRT) verwenden. Wenn Sie ein GUI-Tool für Windows auf RAD-Weise entwickeln möchten, können Sie C # und WinForms verwenden. etc.
Mr.C64
6
Das ist eine gute Frage, die vielleicht umformuliert werden muss. Es ist keine andere Sprache A gegen die Sprache B. Vielmehr geht es speziell darum, welche Positionen Microsoft einnimmt, warum sie sich geändert haben und wohin sie gehen, denn in Wirklichkeit ist die MS groß genug, dass zumindest kleinere Berge dazu neigen, wenn sie Einfluss ausüben bewegen. Und ja, in diesem Fall beeinflussen sie definitiv.
DXM
9
Lassen Sie es uns bitte alle zivil halten. Unhöflichkeit wird nicht toleriert.
maple_shaft

Antworten:

95

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.

  1. 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.

  2. 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:

  1. .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.

  2. 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.

DXM
quelle
7
War es Herb Sutters Vortrag in C ++ und darüber hinaus mit dem Titel "Why C ++?" Es gibt ein Video davon auf Channel 9, obwohl ich im Moment Probleme habe, darauf zuzugreifen, wahrscheinlich, weil Redmond ein riesiges Streaming-Event veranstaltet. Ihre Logik ist sinnvoll, aber diese Art von Aussagen muss unbedingt mit einigen Referenzen untermauert werden, da dies für Microsoft und alle anderen, die Software mit Microsoft-Produkten entwickeln, eine bedeutende strategische Veränderung darstellen würde.
Robert Harvey
13
WinRT ist kein Ersatz für .NET. Behalten Sie bitte Ihre Fakten im Auge.
Euphoric
4
@Euphoric: Mit anderen Worten, .NET Framework wurde nie als Ersatz für die Win32-API verwendet. Zur gleichen Zeit, als C # herauskam, schalteten viele Leute um und vergaßen alles darüber, C-artige Funktionsaufrufe in Windows-DLLs zu machen. MS drückt jetzt auf den gleichen Schalter. Also ja, .NET Framework wird weiterhin unter der Haube von WinRT existieren und Sie können .NET Framework sicher weiterhin verwenden, aber MS drängt darauf, dass die Leute auf das neue Framework umsteigen.
DXM
21
@ gbjbaanb - Dies ist 100% falsch. Zunächst war ALL .NET immer ein sehr netter Wrapper für die Win32-Bibliothek. Zweitens gibt es nur geringfügige Unterschiede zwischen dem Full.NET-Profil und dem 'WinRT'-.NET-Profil. Die Hauptunterschiede sind viele Dinge, die vor 10-15 Jahren schlecht implementiert wurden, wurden entfernt und durch besser gestalteten Code ersetzt. Bis sie Win32-Bibliothek alle zusammen loswerden .NET ist hier zu bleiben. Ihr Kommentar zeigt einen KOMPLETTEN und GESAMTEN Mangel an Kenntnissen in Bezug auf .NET und C # -Sprache.
Ramhound
6
Ganz zu schweigen davon, dass .NET für Webanwendungen großartig ist. Wenn es jemals ein "Ersatz" wäre, dann für Desktop-Apps und nicht für Webanwendungen.
George Stocker
22

Nein, in Windows 8 dreht sich alles um die Verwendung der Sprache, die Sie benötigen (oder kennen), um die Arbeit zu erledigen. JavaScript, .NET-Sprachen (C #) und C / C ++ werden alle gleichermaßen unterstützt.

Nichts wird ersetzt und am Ende liegt es sowieso an den Entwicklern. Es gibt jedoch ein Bestreben nach einer längeren Akkulaufzeit, das WinRT erleichtert.

Die Ausnahme bilden Spiele, in denen C ++ mehr Unterstützung erhält, insbesondere unter Windows Phone 8, während die verwalteten Sprachen keine native Unterstützung (auch bekannt als no xna) haben.

Daniel Little
quelle
1
+1 Microsoft möchte unbedingt, dass Windows 8 auf dem Smartphone- und Tablet-Markt eingeführt wird. Apple erzielt allein mit dem iPhone mehr Einnahmen als Microsoft insgesamt. Ein Hindernis ist, dass es im Vergleich zu den etablierten Plattformen nur sehr wenige Apps für Windows Phone / Tablet gibt. Sie möchten es jedem ermöglichen, eine App in seiner bevorzugten Sprache zu erstellen. C #, C ++ oder JavaScript.
MarkJ
Ich weiß nicht, warum sie beschlossen haben, den nativen c / c ++ - Support ab Windows Phone 7 einzustellen. Seit diesem Tag hat sich Windows + Windows Mobile von einer 90% igen Hauptplattform für unser Unternehmen auf 10% verschoben. 10% sind nur wegen der besten Entwicklungstools (Visual Studio), sonst stellen wir keine Produkte mehr her, auch nicht für Windows Desktop.
Pavel P
1
@Pavel Ich bin nicht sicher, was du da sagst ..
Daniel Little
@Pavel - Sie haben systemeigenen Code von WinPhone7 und verwalteten Code von WinPhone8 gelöscht. Vielleicht können Sie die Plattform jetzt erneut besuchen oder sie einfach ignorieren, bis sie einen viel größeren Marktanteil erreicht.
gbjbaanb
19

Ich kenne C ++ 11-Funktionen, würde aber gerne Ihre Erfahrungen hören

Der Gedanke, dass die Leute C ++ gegenüber C # (oder so ziemlich jeder anderen Alternative nach 1990 [ohne PHP]) für allgemeine Zwecke vorziehen würden, ist lächerlich . C ++ 11 fügt einige gute fehlende Teile hinzu, aber es nagelt immer noch Beine an einen Hund .

C ++ hat einige gute Nischen und ist auf einigen Plattformen mit eingeschränkter Compilerunterstützung immer noch die beste Option. Aber nein, modernes C ++ kann nichts ersetzen, außer vielleicht veraltetes, kaputtes C ++.

Telastyn
quelle
31
Lesen Sie, was Sie schreiben. Sie behaupten eindeutig, dass die Verwendung von C ++ für die allgemeine Programmierung über C # lächerlich ist . Ist das aufrichtig eine Tatsache, an die Sie glauben, oder ist es nur Ihre eigene übertriebene Meinung?
ZXCDW
38
@zxcdw - Wenn ich 100 allgemeine Programmierprobleme habe, erledige ich ca. 90 davon schneller, besser und mit weniger Fehlern unter Verwendung von C # oder Java oder Python oder Scala oder ... Und das ist großzügig. Dies ist die gemeinsame Sichtweise so ziemlich jedes professionellen Programmierers, den ich kenne. Sogar diejenigen, die C ++ als primäre Sprache verwenden.
Telastyn
33
@zxcdw: Ich bin ein Hardcore-C ++ - Entwickler. Ich habe über 15 Jahre lang mit C ++ gearbeitet und hauptsächlich an Back-End-Apps gearbeitet, die C ++ benötigen. Ich war schon in der ganzen STL und der halben Boost. Sehr zum Entsetzen meines Teams habe ich an einigen Stellen Template-Metaprogrammierung eingeführt, von denen ich dachte, dass sie es verdient. Der Punkt, den ich anstrebe, ist, dass ich C ++ liebe und damit arbeite. Trotzdem stimme ich Telastyn zu. Wenn ich ein allgemeines Problem habe, das nicht das erfordert, was C ++ zu bieten hat, greife ich lieber zu C # oder sogar zu Python. Es sind höhere Sprachen und Sie erledigen die Dinge einfach schneller. Dies gilt zumindest für Win devs
DXM
5
@MadKeithV - Wenn ich nicht an einer C # -App gearbeitet hätte, die unter OSX, iOS und Android ausgeführt wird, könnte ich diesem plattformübergreifenden Argument etwas mehr Gewicht verleihen. Selbst wenn ich das ignoriere, sind die von mir aufgelisteten Nicht-C # -Sprachen fast immer bessere Optionen als C ++, wenn plattformübergreifende Probleme auftreten. C ++ 11 tut nicht viel, um diese Optionen wegzuschieben.
Telastyn
14
Wenn Sie nur einen Hammer haben, sieht alles aus wie ein Nagel. Die Verbesserungen in C ++ 11 werden die durchdringende Wirkung von C # und anderen ähnlichen, aber möglicherweise plattformunabhängigeren Sprachen nicht mindern, sondern das Schiff über Wasser halten. Das größte Verkaufsargument von C ++ 11 bleibt, dass es die End-to-End-Sprache für ein System sein kann, das in den Tiefen eines Systems herumstochert, aber die Möglichkeit bietet, an Abstraktionen höherer Ordnung herumzubasteln.
JustinC
2

DXM schrieb:

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.

Nach diesen Worten war die Wahl von Java als primäre Sprache / Framework für Googles Android ein Fehler. Es war nicht. Höhere Sprachniveaus bedeuten normalerweise, dass Dinge schneller erledigt werden, und ich denke, dies ist das Wichtigste für Microsoft und Google. Je mehr und bessere Anwendungen für die Plattform erstellt werden, desto höher ist der Gewinn des Betriebssystemherstellers.

Auf der anderen Seite gibt es eine Menge Software für Windows, die immer noch in C ++ geschrieben ist. Es wäre also verrückt, diese Entwickler dazu zu bewegen, auf C # / JavaScript / alles andere zu wechseln. Microsoft konzentriert sich darauf, möglichst vielen Entwicklern die Möglichkeit zu geben, Win8-Apps zu entwickeln. Aus diesem Grund haben sie sich meiner Meinung nach dafür entschieden, C ++ und JavaScript im Win8-Entwicklungsstack zu unterstützen.

Rotman
quelle
5
Java war ein Fehler. Wenn Sie rohe Leistung wünschen (und Sie tun häufig), dann möchten Sie in C / C ++ schreiben. Wenn Sie Entwicklerproduktivität wünschen, möchten Sie eine höhere Sprache wie Python oder PHP oder Ruby oder JS. Java (und C #) sind Middle-Ground-Systeme, mit denen Sie weder die beste Leistung noch die beste Produktivität erzielen. So wie es ist, ist C ++ nicht so schlecht - Sie können eine gute Produktivität erzielen, sobald Sie wissen, was Sie tun.
gbjbaanb
8
@gbjbaanb Ich habe gemischte Gefühle in Bezug auf Ihren Kommentar: Vor ein paar Jahren hätte es Sinn gemacht, Java und C # auf die gleiche Abstraktionsebene zu setzen, aber die Einführung von LINQ, Lambda-Ausdrücken und asynchronen Programmierfunktionen in den neueren Versionen von .NET hat Sinn gemacht C # auf eine höhere Ebene verschoben (Java wird den Mangel an funktionaler Programmierung in JDK8 aufholen, aber das ist noch in der frühen Zugriffsphase).
Codesparkle
2
@gbjbaanb Glücklicherweise ist WCF nur ein winziger Teil von .NET, und die Verallgemeinerung, dass es für die C # -Sprache gilt, ist ungültig. Haben Sie die neuen Funktionen seit .NET 3 tatsächlich genutzt ? Weil VS überhaupt keine so großartige Entwicklungsumgebung ist (in der Tat ist es ohne ReSharper wirklich ärgerlich). Wenn man bedenkt, dass genau diese Site (und das gesamte SE-Netzwerk) mit C # erstellt wurde, scheint Ihr Kommentar ein wenig ungenau zu sein.
Codesparkle
1
@rotman Bitte antworten Sie nicht auf die Antworten anderer in Ihrer eigenen Antwort. Antworten sollten nur die ursprüngliche Frage beantworten :)
Andres F.
6
@gbjbaanb: Ich würde sagen, dass es eine Behauptung ohne Beweise war, dass Middle-Ground-Systeme, mit denen Sie weder die beste Leistung noch die beste Produktivität erzielen, ein Fehler sind. Da die Leistung und Produktivität sind beide wichtig, die beste Lösung ist eine , die den beiden Salden, und ein Mittelgrund Wahl wie Java oder C # ist eine ausgezeichnete Wahl für viele Anwendungsfälle.
Carson63000
2

In C ++ gibt es immer noch Header-Dateien, flexible Präprozessoren (#define) usw. Einige Leute hielten diese Funktionen für "böse" oder "schwierig zu verwalten".

C # verwendet hingegen Metadaten, sodass keine Header-Dateien geschrieben und verwaltet werden müssen.

Informationen zu Microsoft, das C ++ weitere Funktionen hinzufügt: Keine Frage.

Jeder C ++ - Compiler fügt weitere Funktionen hinzu, einschließlich C ++ 11-Funktionen. gcc ist auch.

linquize
quelle
7
Wenn alles, was Sie schlecht über C ++ sagen können, Header-Dateien sind, haben Sie das indirekt bewiesen. Ich kann eine ganze Reihe schwerwiegender C #
-Probleme auflisten
1
Verwenden Sie das richtige Werkzeug für den richtigen Job. C ++ eignet sich hervorragend für Unternehmen wie Intel für verschiedene nicht verwaltete Codeleistungen, die für die Medaillenprojekte nur auf niedrigem Niveau benötigt werden. Wenn Sie jedoch eine Website / einen Webdienst benötigen, die / der jedes Unternehmen TUT, dann viel Glück mit C ++!
Tom Stickel
1

Es könnte nur ich sein, aber ich sehe viel mehr einfache C-Nutzung als C ++.

Die Tatsache, dass C ++ C als Ganzes verschluckt hat, macht es schwierig zu schließen, wer was verwendet.

Es gibt aber weitaus mehr C-Open-Source-Projekte als C ++.

Meiner Ansicht nach sollten Sie C nahe an der Metallgeschwindigkeit verwenden. Wenn Sie Flexibilität und Verwaltbarkeit bei angemessener Leistung benötigen, sollten Sie C # oder Java verwenden. Wenn Sie ein klares Design wünschen, verwenden Sie schnell Python, Scala, Groovy oder eine der zahlreichen voll ausgestatteten Sprachen.

James Anderson
quelle
2
Nein, ich denke du liegst hier falsch. Wenn Sie Ausnahmen deaktivieren, ist C ++ dem Metall so nahe wie C, solange Sie wissen, was Sie tun. Das Problem sind ABIs. In C ++ muss die Situation noch gelöst werden, sie arbeiten daran. Sobald dies erledigt ist, gibt es meiner Meinung nach nicht mehr viel Anziehungskraft, C anstelle von C ++ zu verwenden, obwohl C ++ eine bessere Fehlerprüfung bietet und eine Obermenge darstellt, sodass das Tool zu diesem Zeitpunkt überlegen wäre.
Germán Diago
0

c ++ ersetzt nicht c #. Lassen Sie uns untersuchen, wo die C ++ - Sprache verwendet wird. Es wird verwendet, wenn eine hohe Leistung, das Schreiben von Middleware-Bibliotheken, der Zugriff auf niedriger Ebene und das Schreiben von Code für Geräte mit eingeschränkten Ressourcen erforderlich sind. Obwohl Sie c # für einige dieser Anwendungen verwenden können, ist c ++ für diese Anwendungen besser geeignet. Microsofts Vorstoß für C ++ hängt eng mit seinem großen Vorstoß in den mobilen Bereich zusammen. Niemand wird Sie bitten, Ihre nächste Web-App in c ++ zu schreiben. Aber mit Qt kann das Produktivitätsargument nicht gegen c ++ gestellt werden. Aber ich denke, viele Leute sind mit Qt nicht vertraut.

Jaak
quelle
C ++ wird in der nicht-vertikalen kommerziellen Windows-Softwareentwicklung immer noch häufig verwendet.
Bit-Twiddler
1
C ++ ist wie das professionellste Tool, mit dem Sie Software schreiben können. Aber Sie müssen geschickt sein, um guten Code zu schreiben, da er ziemlich kostenlos ist und einige Macken hat, um die Abwärtskompatibilität zu verbessern. Ich denke, es eignet sich für alle Arten von Software, außer für Skripte. Das Problem ist die Lernkurve. Mit modernen Bibliotheken ist es auch bei der Produktivität sehr kompetent. Und denken Sie, wenn die App erfolgreich ist, müssen Sie sie portieren. Die Portierung ist mit C / C ++ - Codebasen einfacher, je nach Compiler-Verfügbarkeit. Die Liste der in C ++ geschriebenen Software ist endlos: Amazon, Google, Dropbox, Telekommunikation, Spiele, Facebook ...
Germán Diago
-4

Nein, C ++ kann C # nicht ersetzen, da alle Nicht-Direct3D-Windows Phone 8-Apps mit C # entwickelt werden müssen . Sie können Anwendungen nicht einfach mit C ++ oder HTML5 / Javascript im wp8 App Store entwickeln und veröffentlichen. Und solange Microsoft diese Einschränkung nicht aufhebt, ersetzt C ++ nichts. Daher bin ich sicher, dass sich nur sehr wenige Leute für WP8 entwickeln werden. Armes Nokia, noch einmal verloren.

Hier ist der Auszug aus Microsoft Dev Center :

Windows Phone 8 unterstützt die XAML-Benutzeroberfläche mit C ++ - Code-Behind-App-Modell, das für Windows Store-Apps unterstützt wird, nicht.

noch ein anderer:

Bedeutet dies, dass ich C ++ mit XAML nicht zum Entwickeln einer App unter Windows PHone 8 verwenden kann? Kann ich C # + XAML nur verwenden?

Das ist richtig. XAML kann nur mit C # verwendet werden. C ++ kann für eine WinRT-Komponente verwendet werden, die vom C # -Projekt verwendet wird.

Selbst Microsoft MVPs behaupten, dass dieses Gerücht eine absichtliche Fehlinformation von Microsoft selbst ist:

Ich finde es toll, was Microsoft mit WinRT und Windows Phone 8 macht, aber ich wünschte, sie würden einiges davon nicht übertreiben, da dies die Benutzer nur frustriert, wenn sie erst einmal die vollständige Wahrheit erfahren.

Und dieses absichtliche falsche Marketing verschwendet die Monate der Menschen :

Es wäre schön gewesen, diese MONATS-AGO zu kennen, bevor ich mit meiner Metro-App die Route mit ausschließlich nativem Code gegangen bin.

Özgür
quelle
1
Ihre Links besagen beide, dass Sie C ++ für die WP8-Entwicklung verwenden können, und es ist nur XAML, für das C # erforderlich ist. Darüber hinaus wird Direct3D nur von C ++ unterstützt.
Lee
@Lee, kannst du eine Nicht-Direct3D-App entwickeln, ohne C # für WP8 zu verwenden?
Özgür