3 Stimmen

Würden Sie C++/CLI verwenden, wenn es wie C# und VB.NET unterstützt würde?

Ich hatte schon immer eine Vorliebe für C++/CLI. Vielleicht, weil nicht viele Entwickler es benutzen... oder weil es einfach anders ist.

Angenommen, Microsoft unterstützt C++/CLI in vollem Umfang wie VB.NET und C# (d. h. LINQ, WPF usw.). Würden Sie es verwenden?

Wenn nicht, warum?

14voto

Shog9 Punkte 151504

I tun es verwenden. Trotz des relativen Mangels an Toolunterstützung ist es für den Umgang mit Win32 immer noch besser als P/Invoke.

Was LINQ betrifft, so möchte ich nicht, dass noch viel mehr in die C++-Sprache hineingehackt wird. LINQ ist so, wie es ist, brauchbar genug - wenn sie den Compiler verbessern wollen, sollten sie an der C++ 0x Unterstützung arbeiten...

5voto

Jeff Yates Punkte 59874

Es geht darum, das richtige Werkzeug für die richtige Aufgabe einzusetzen. Ich verwende C++/CLI für Plattform-Interop-Arbeiten, weil es viel einfacher ist, das Marshaling richtig zu machen. Ich verwende C# für fast alle anderen .NET-Arbeiten, mit einigen VB.Net (ich mag die Inline-XML). Ich gebe zu, dass ich IronRuby, IronPython, F# oder eine andere .NET-Sprache noch nicht gelernt habe, aber ich ziehe es ernsthaft in Erwägung, nur um mein Programmierarsenal zu erweitern.

Um die Frage zu beantworten: Ich glaube nicht, dass ich es noch mehr benutzen würde, als ich es bereits tue, weil ich glaube, dass ich es bereits für die Aufgaben benutze, für die es am besten geeignet ist. C# ist meiner Meinung nach immer noch die beste .NET-Sprache, weil sie speziell für diese Plattform entwickelt wurde, anstatt eine ältere Sprache an sie anzupassen. Das Hinzufügen einer besseren Unterstützung für C++/CLI würde nur meine Entwicklungszeit verkürzen, anstatt mich von einer anderen Sprache abzubringen.

4voto

Jared Updike Punkte 6917

C++/CLI löst das Versprechen, verwalteten und nicht verwalteten Code zu vereinen, sehr effektiv ein. Es ermöglicht Ihnen, das, was sich wie eine perfekt native C#-Bibliothek anfühlt, mit 100%igem Zugriff auf native C++/Bibliotheken "im Inneren" zu veröffentlichen. Es ist keine Übung in Eleganz, aber was ist in der Geschichte der praktischen Programmierwerkzeuge vergleichbar?

Wenn Sie LINQ und WPF benötigen, verwenden Sie einfach C#. Das ist das Schöne an C++/CLI: Schreiben Sie Ihren Managed Wrapper und gehen Sie dann zurück zu C#. Ich sehe nicht, dass C++/CLI beabsichtigt, C# für den täglichen Gebrauch zu ersetzen.

4voto

Motti Punkte 104854

...aber mir ist nicht ganz klar, was C++/CLI bietet, was C# nicht bietet. -- @ Thomas Owens

Ein großer Vorteil (in meinen Augen) ist RAII (siehe die Antwort gegeben durch Adam Wright auf meine Frage nach RAII in .NET ).

1voto

Thomas Owens Punkte 110966

Vielleicht...aber ich bin mir nicht ganz im Klaren darüber, was C++/CLI bietet, was C# nicht bietet. Zeiger, vielleicht? Ich habe alle meine .NET-Programmierung (das Wenige, das ich getan habe) in C# getan, und ich fange an, F# zu lernen, aber wenn es vollständig unterstützt wurde und gut dokumentiert, sicher, ich würde es versuchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X