Was sind die Vorteile der Entwicklung von Anwendungen in C ++ im Vergleich zu verwalteten Sprachen?

StackOverflow https://stackoverflow.com/questions/4770871

Frage

Hallo, ich möchte wissen, warum Menschen Bibliotheksanwendungen und Mitarbeiterverwaltungsanwendungen in C ++ entwickeln.Diese Anwendung, Zum Beispiel), wenn dies eindeutig dasselbe in C# und VB.NET auf viel hübscherer Weise erledigt werden kann. Sogar Bankanwendungen sind hauptsächlich in C ++. Gibt es einen guten Grund, warum, abgesehen von der Tatsache, dass kompilierte C ++ - Code schneller ausgeführt wird?

Kann jemand etwas Licht darauf werfen?

War es hilfreich?

Lösung

C: 1972

C ++: 1979

C#: 2000

Denken Sie nun an die Lebensdauer einer Bibliothek, insbesondere in einer Bank, und Sie können die Bibliotheken (theoretisch) auf fast jedem existierenden Computersystem (im Gegensatz zu C#) in fast jedem existierenden Computersystem verwenden.

Sie werden dort auch noch viel Cobol (1960) finden.

Andere Tipps

Die Hauptgründe für C ++ für Say -Banking -Anwendungen sind:

  1. Legacy -Code. Ein großes Finanzunternehmen hat in der Regel ~ 10-20-30 Jahre geschäftspezifischer C/C ++-Bibliotheken, die intern entwickelt wurden, sowie eine Reihe von geschäftspezifischen Lieferantenbibliotheken, die möglicherweise nicht für C# verfügbar sind

  2. Ein Großteil dieses Finanzgesetzes läuft auf UNIX/Linux. Während Sie nur theoretisch C# Code für Linux erstellen können, ist es definitiv keine etablierte Technologie, auf die Sie Milliarden -Dollar -Beträge setzen möchten.

C ++ ist für andere Systemtypen verwendet, während C# und VB.NET dies nicht tun.

Abgesehen von technischen Gründen (so dass C ++ eine "nicht verwaltete" Sprache mit ganz unterschiedlichen Fähigkeiten und Eigenschaften als .NET -Sprachen ist) kann dies einfach auf Präferenzen zurückzuführen sein. Nicht alle Leute finden, dass C# und vb.net das beste Tool für jede Aufgabe sind. Oder das schönste. Warum machen Sie denke schon? Und warum sollten andere keine ähnlich guten Gründe für die Auswahl eines anderen Werkzeugs ihres Geschmacks haben?

Aktualisieren Sie als Antwort auf Konrads Kommentar:

Es ist richtig, dass "Präferenz" tatsächlich zu eng ein Begriff ist. Es gibt noch andere Facetten:

  • Manager / Chefs können ihre (möglicherweise schlecht informierten) Präferenzen in Geschäftsrichtlinien verwandeln.

  • Die jahrzehntelange Codebasis eines Unternehmens kann bedeuten, dass Sie bei der Auswahl der Programmiersprache für eine neue Aufgabe Sprachen mit einer anderen Perspektive bewerten. Sie möchten oder müssen den vorhandenen Code wiederverwenden, daher muss die Sprache des alten Codes möglich sein.

Es könnte ein Faktor der wissensbogenen Wirtschaft eines bestimmten Unternehmens sein. Je größer ein Unternehmen wird, oder je weniger Personalumsatz es hat, desto schwieriger wird es, Kompetenz, Prozess und Werkzeuge zu ersetzen, um beispielsweise eine neue Sprache zu berücksichtigen. C/C ++ gibt es schon seit einiger Zeit, und viele Entwickler sowie Entwicklungsgeschäfte haben diesen Hintergrund.

In Bezug auf Bankanwendungen ist der Grund, warum ich vermutete, vor allem, weil Sie eine näher Metallumgebung haben, mit der Sie zuverlässig Echtzeitprogramme verwenden können.

Jede Sprache hat ihre Vor- und Nachteile und keine Sprache ist für jede Anwendung am besten. Programme in C ++ sind schwerer zu schreiben, können jedoch plattformspezifische Hardware und Funktionen nutzen. Da sie zusammengestellt werden, laufen sie auch etwas schneller. C# -Programme sind einfacher zu schreiben, können jedoch nicht zugrunde liegenden Ressourcen zugreifen und können nicht sehr einfach auf Nicht-Windows-Plattformen portiert werden.

Kurz gesagt, es hängt wirklich von den Anwendungsbedürfnissen ab. Wenn Sie Rohgeschwindigkeit und explizites Ressourcenmanagement benötigen, gehen Sie mit C ++. Wenn Sie eine einfache Kodierung und Klarheit haben möchten, gehen Sie mit C#.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top