Soweit ich verstehen kann, ist C # die defacto-Sprache beim Codieren von .NET-Apps. Ist es empfehlenswert, .NET-Apps [sei es ASP.NET, WinPhone 7, GUI usw.] in C ++ zu programmieren? Was sind die Fallstricke und die Nachteile, wenn wir diesen Weg beschreiten?
Danke für das Teilen.
Antworten:
Als langjähriger Programmierer, der C ++ verwendet hat, bis ich zu C # /. Net gewechselt bin, rate ich, C ++ nicht für die .NET-Entwicklung zu verwenden. Tatsächlich können Sie kein echtes C ++ verwenden, um in .Net zu programmieren, sondern einen Microsoft-Gräuel namens C ++ / CLI mit einer Hässlichkeit, die in ISO C ++ nicht zu finden ist. Ich würde sagen, nur aus Sicht der Lesbarkeit sollte C ++ / CLI überhaupt nicht berücksichtigt werden. Möchten Sie _gc, gcnew usw. verwenden?
Auch für praktische Zwecke finden Sie nicht viele Codebeispiele, Lernprogramme, Blogs usw. mit C ++ / CLI, noch finden Sie Programmierer, die C ++ / CLI kennen oder bereit sind, damit zu arbeiten. Es ist keine natürliche Sprache für die .Net-Entwicklung. C # / VB.Net / F # wird sich mit neuen Funktionen im Vergleich zu C ++ / CLI weiterhin viel schneller ändern.
quelle
Die Idee von .Net ist, dass Sie jede Sprache verwenden können, mit der Sie bereits vertraut sind, und die DotNet-Plattform verwenden können, ohne erneut eine neue Sprache lernen zu müssen. Eine Sichtweise ist die Umkehrung der Java-Pyramide. Java kann als "Single Language-Single Executable (IL) -many OS" erklärt werden. dot net ist "viele Sprachen - eine ausführbare Datei - ein Betriebssystem" (natürlich ist das Bit "Ein Betriebssystem" falsch, da wir Mono haben, aber ich glaube nicht, dass Microsoft dies im Sinn hatte :-P).
Ja, C # sollte DIE Sprache für DotNet sein, aber nicht "DIE EINZIGE". Microsoft hatte wahrscheinlich gehofft, C ++ - Programmierer auf lange Sicht, wenn nicht sofort, dazu zu bringen, auf C # zu migrieren. Aber das scheint nicht zu passieren. C ++ ist immer noch die drittbeliebteste Sprache. Die Faimiliarität mit einer Sprache und der Aufwand, eine Anwendung von C ++ nach C # zu portieren, haben die meisten Entwickler zurückhaltend gemacht. Warum also etwas reparieren, das nicht kaputt ist? Aus diesem Grund hat Microsoft C ++ / CLI entwickelt. Es ist eine wunderbare Möglichkeit, C ++ - Programmierer auf den DotNet-Wagen zu bringen, ohne eine neue Sprache lernen zu müssen. Ich habe sehr wenig Zeit gebraucht, um mich an C ++ / CLI zu gewöhnen. Der einzige Nachteil, den ich sah, war die neue Zeigernotation für verwaltete Klassen, die diejenigen verwirren kann, die ein schwaches Verständnis von Zeigern in C ++ haben. Hat mich aber nicht beeinflusst.
quelle
Ich sehe nicht, was der Nutzen ist. Der Hauptvorteil von C ++ ist leistungskritischer, in sich geschlossener / nativer Code auf niedriger Ebene. Sobald Sie eine verwaltete Umgebung und das gesamte mitgebrachte Gepäck verwenden, kann ich nicht verstehen, warum Sie keine modernere Sprache für verwaltete Umgebungen wünschen.
quelle