Teil der Grund wird sein, dass C ++ - Unterstützung tatsächlich zwei Sprachen in einem ist - die native und die CLI-Varianten; Diese zusätzliche Entwicklungslast wurde vom Visual C ++ - Team als Grund dafür anerkannt, dass die ordnungsgemäße MSBuild-Integration hinter anderen Sprachen zurückblieb (Verzögerungen? Ich habe das Jahr 2008 oder später nicht überprüft).
Ein anderer Teil wird mit der Codegenerierung während der Kompilierung zu tun haben, die in einem C # -Build fortgesetzt wird, um z.B. die Bindung "Magie"; Ich habe festgestellt, dass es selbst in F # nicht "nur passiert" ist.
Wenn ich es wäre, wäre mein Argument, dass C ++. Net nicht zum Schreiben von GUIs verwendet werden sollte.
Ich versuche nicht hier snarky zu sein, vielleicht kann mir jemand den Fehler meiner Wege zeigen, aber ich denke nicht, dass es eine gute Idee ist. Ich mache gerade jetzt mit einer Entwicklung und viel viel langsamer, als wenn die Anwendung in C # geschrieben worden wäre. Mein Gefühl ist, wenn Features in C ++ .Net oder nur reguläres C ++ für die Anwendung benötigt werden, scheint es eine bessere Idee zu sein, eine DLL zu erstellen, um das Heavy Lifting durchzuführen und mit C # zu interagieren.
Es nervt mich auch, wenn sie es unterstützt hätten, wären wir in der Lage, unseren C ++ - Code viel einfacher und billiger auf eine neue GUI zu migrieren, als im Grunde alles in C # neu zu schreiben. Es kostete uns ein Vermögen, unsere Apps zu überarbeiten, genau das, was wir in einer Rezession wollten.
Ich kann mir vorstellen, dass C # populär ist (und nicht so plattformübergreifend wie C ++), also haben sie sich entschlossen, ihre Entwicklungsbemühungen so gering wie möglich zu halten.
Sie können WPF mit verwaltetem C ++ ausführen.
Der Grund dafür ist, dass fast jede neue Anwendungsprogrammierung jetzt in JavaScript, Java, VB.NET oder C # erfolgt - alle GC-Sprachen. Der Schwerpunkt liegt auf höherer Qualität für eine geringere Qualifikation und C ++ verlangt zu viel vom Entwickler, Unternehmen wollen, dass die Leute am ersten Tag einen Log-Fehlercode schreiben.
C ++ für Anwendungen dient hauptsächlich zur Wartung bestehender Anwendungen oder für den Fall, dass extreme Leistung benötigt wird. Gerätetreiber und Betriebssystem werden immer noch häufig in C ++ geschrieben, aber auch das ändert sich (Coyotos ist Cbit, E #, Cosmos / Mosa sind C #, Singularity / Midori).
Tags und Links wpf .net c++ managed-c++