37 Stimmen

Warum sollten Sie C# verwenden wollen, wenn es langsamer ist als C++?

Ich bin auf der Suche nach einer neuen Sprache, die ich nach C++ und Java lernen möchte. Ich war im Begriff, C# zu versuchen, aber ein paar Leute sagen, dass es wirklich langsam ist, weil es eine Hochsprache ist. Warum sollte also jemand C# verwenden? Ist C++ nicht viel schneller? Macht es die Entwicklung einfacher, hat aber ein langsameres Endprodukt?

Außerdem: Wofür kann C# verwendet werden? Sie verwenden es für eine Menge .NET-Zeug unter Windows und für ASP.NET, aber was sind andere Situationen, in denen man C# verwenden würde? Wird es viele Beschäftigungsmöglichkeiten dafür geben?

6voto

Tracker1 Punkte 18421

Ich habe nicht viele Fälle gefunden, in denen C# keine gute Wahl für Sprachen ist und .Net (oder Mono) keine gute Plattform ist. Bemerkenswerte Ausnahmen sind die Entwicklung auf Kernel-Ebene oder Treiber. Es gibt viele Bereiche, in denen Low-Level- und Rohleistung benötigt wird. Für die meisten, wenn nicht sogar für alle Geschäfts- oder Unternehmensanwendungen ist C# eine der besseren Wahl für die Entwicklung. Es wird gut unterstützt und arbeitet mit vielen anderen Systemen, Bibliotheken, Kommunikationskanälen und Komponenten zusammen, die bereits verfügbar sind, ganz zu schweigen von der Tatsache, dass es eine recht angenehme Sprache ist (insbesondere 3.5), mit der man arbeiten kann.

ASP.N

In Bezug auf Dienstschichten und sogar GUI-Entwicklung ist es ziemlich gut. Ich habe viel mehr Erfahrung mit webbasierten Anwendungen und Dienst-/Kommunikations-/Geschäftsschichten als mit Desktop-GUI-Anwendungen, daher kann ich dazu nicht viel sagen. Ich habe das Gefühl, dass es bei der GUI-Entwicklung mehr auf die IDE/Toolkit ankommt als auf die jeweilige Sprache.

Was die Langsamkeit betrifft, so führen Sie speziell Java an. In den meisten Fällen ist C#/.Net genauso schnell oder schneller als Java. IMHO verläuft die Entwicklung mit C# (Visual Studio) reibungsloser als mit Java (Eclipse). Für webbasierte Anwendungen bevorzuge ich ASP.Net MVC (und sogar ASP.Net) gegenüber Swing. Das ist aber nur meine Meinung.

4voto

Adam Jaskiewicz Punkte 10844

Die Leute, mit denen Sie gesprochen haben, wissen nicht, wovon sie reden. C# ist eine sehr ähnliche Sprache wie Java, alles in allem; es hat die meisten der gleichen Vorteile und Nachteile. Die Funktionsweise ist ziemlich ähnlich (Java/C# wird in eine Zwischensprache/einen Bytecode kompiliert, der interpretiert oder mit JIT zu nativem Code kompiliert wird, mit verschiedenen ähnlichen Optimierungen, um die man sich als Programmierer nicht kümmern muss). Sie wird in vielen der gleichen Situationen wie Java verwendet und zielt auf den gleichen Markt ab. Sie entwickelt sich viel schneller und bringt viele Innovationen mit sich, aber sie ist (in der Praxis) so gut wie ausschließlich für Windows geeignet, falls das für Sie ein Problem darstellt. Der Stellenmarkt ist ähnlich. Beide sind sehr beliebte Sprachen.

Was die zu erlernende Sprache betrifft, so würde ich etwas ANDERES vorschlagen. Sie sagen, Sie kennen C++ und Java; C# sollte nicht schwer zu erlernen sein. Potenzielle Arbeitgeber werden das wissen. Versuchen Sie Scala oder Python. Beide werden Ihnen neue Perspektiven eröffnen (C# nicht so sehr) und Sie zu einem besseren Programmierer machen, indem sie Ihnen neue Denkweisen beibringen, anstatt nur ein weiteres Werkzeug in Ihre Kiste zu legen.

3voto

Reed Copsey Punkte 536986

C# ist nicht immer langsamer - in vielen Fällen kann es genauso gut funktionieren wie die von Ihnen genannten Sprachen. In der Regel hat der Algorithmus mehr mit der Geschwindigkeit zu tun als die Wahl der Sprache.

C# ist jedoch sehr ausdrucksstark und verfügt über eine großartige Basisklassenbibliothek, mit der man arbeiten kann, und eine superschnelle Kompilierung. Das bedeutet, dass es sehr einfach ist, damit zu arbeiten, und dass man damit viel produktiver sein kann als mit vielen anderen Sprachen, insbesondere C++. Ich hatte zum Beispiel gerade ein kleines Projekt, für das ich in C++ eine Arbeitswoche veranschlagt hätte, und wir haben es in weniger als einem Tag in C# fertiggestellt, vor allem weil die Basisklassenbibliotheken so viele Aufgaben vereinfacht haben.

0voto

SQLMenace Punkte 128184

Ein wichtiger Grund, C# anstelle von C++ zu verwenden.........sehen Sie sich all die Pufferüberlaufprobleme an, die C++ hat, bei denen Leute Ihren Rechner übernehmen, weil sie ausführbaren Code in Ihre Strings einfügen oder Speicherlecks....Gebrauchskollektor ist IMHO ziemlich praktisch

0voto

Lauri Larjo Punkte 314

Selbst wenn C++ schneller läuft, ist der Unterschied auf den heutigen Computern nicht groß. Deshalb wird auf mobilen Geräten, wo CPU und Speicher eher begrenzt sind, immer noch häufig C/C++ verwendet.

Aber denken Sie stattdessen an die Entwicklungszeiten. Wenn Sie mit C++ 2 Monate und mit C# 1 Monat brauchen, für welche Sprache würden Sie sich entscheiden? Und wenn große Änderungen/Refactoring erforderlich sind, geht es mit einer höheren Sprache wesentlich schneller und einfacher!

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