Ich bin ein Programmierer und habe Erfahrung mit nativem und verwaltetem Code. Ich habe mit Pascal und C angefangen, bin dann zu C ++ und schließlich zu C # übergegangen.
In den letzten Jahren habe ich fast ausschließlich in C # codiert und viel von dem verloren, was früher als C ++ - Codierer natürlich war.
Als ich mich vor ein paar Wochen hinsetzte, um nativen C ++ - Code zu schreiben, fingerte ich herum, als ich mich langsam mit den Komplexitäten, Macken und Eigenheiten des Ganzen vertraut machte. Es ist mir fast peinlich zu sagen, dass ich völlig vergessen habe, dass die Übergabe eines dynamisch zugewiesenen Arrays an eine Funktion ohne die Übergabe seiner Größe bedeuten würde, dass die Empfangsfunktion nicht wissen kann, wie lang das Array ist.
Es gibt unzählige Artikel und Dokumente, die verwalteten und nicht verwalteten Code vergleichen und gegenüberstellen. Wir alle wissen, dass nativer Code, wenn er gut optimiert ist, erheblich schneller und leichter ausgeführt werden kann als verwalteter Code. Auf der anderen Seite verfügt verwalteter Code über Garbage Collectors und eine CPU-spezifische und betriebssystemspezifische Laufzeitoptimierung, die dem nativen Code einen Run für sein Geld geben können.
Rein technisch gesehen gibt es keinen klaren Sieger.
Es besteht kein Zweifel, dass verwalteter Code um Größenordnungen einfacher zu codieren und zu verstehen ist. Schauen Sie sich nur die Unterschiede in der Anzahl der Zeilen an, die zum Erstellen einer einfachen GUI in Win32 C ++ und C # erforderlich sind.
Damals schrieb ich hauptsächlich mathematische Simulationen, die auf Supercomputern liefen. Sie hatten hässliche CLIs und waren größtenteils algorithmisch ausgerichtet. Heutzutage schreibe ich in C # und produziere schöne GUI-Anwendungen, aber ich würde verloren gehen, wenn ich in einer Muttersprache etwas Ähnliches machen müsste. Selbst mit einem Framework wie QT würde es immer noch doppelt so lange dauern, etwas in C ++ / QT zu produzieren, als dies in C # der Fall wäre.
Immer wenn ich jemanden sehe, der eine umfangreiche GUI-Anwendung mit vollem Funktionsumfang in C / C ++ geschrieben hat, kann ich nicht anders, als Ehrfurcht und einen Hauch von Eifersucht zu empfinden.
Ich bin gespannt, wie andere erfahrene Programmierer verwaltete und nicht verwaltete Sprachen sehen. Sehen Sie verwalteten Code als amateurhaft an ? Sehen Sie native Codierer als Hardcore ?