Ich bin ein langjähriger C++-Programmierer, der unter Windows entwickelt, und habe Visual Studio für die Entwicklung von nicht verwaltetem C++ verwendet.
In den letzten 2-3 Monaten bin ich zum ersten Mal mit der Welt von C# und Java in Berührung gekommen. Mann, ich bin erstaunt über den Produktivitätsgewinn!
Im Besonderen:
- C# und Java haben so viele coole Werkzeuge (TestDriven.NET, NetBeans IDE). Ich persönlich finde die Tools viel moderner moderner als die C++-Tools, die ich bisher verwendet habe.
- Alle Bibliotheken sind sind da und ich kann sie sofort benutzen, ohne dass ich Extras herunterladen muss (Boost, Qt, usw.)
- Rasend schnell Kompilierzeit. Die C#-Kompilierung ist superschnell. Jedes Mal, wenn ich Änderungen an Java-Code in meiner Netbeans IDE vornehme, muss ich muss ich nie auf das übliche Kompilieren/Verknüpfen warten. Es wird einfach direkt dort. Kein Warten! (Leute, die Boost verwendet haben, stimmen wahrscheinlich mit mir über die langsame Kompilierzeit überein, wie z.B. die Asio-Bibliothek)
- Einfaches Einsatzschema. Mir gefällt die Tatsache, dass ich den Code nur einmal schreiben muss und er auf verschiedenen Maschinen (Betriebssystemen) ausgeführt werden kann, ohne dass ich ihn neu kompilieren muss.
Nachdem ich all das gesagt habe, hier meine eigentliche Frage: Sind C# und Java gute Technologien, um die modernsten Tools und Bibliotheken zu lernen? Sind dies die beiden Technologien, die die besten Werkzeuge zur Verfügung haben? Ich möchte neue Tools kennenlernen, um meinen Blickwinkel zu erweitern. Auf diese Weise kann ich daraus lernen und versuchen, gleichwertige Werkzeuge in C++ zu finden.
Haftungsausschluss: Meine Absicht ist es nicht, C++ als Sprache zu disqualifizieren. Nachdem ich die für Java und C# verfügbaren Tools verwendet habe, habe ich einfach das Gefühl, dass die für C++ verfügbaren Tools ziemlich begrenzt sind (insbesondere Refactoring).
Ich verwende für meine C++-Entwicklung die folgenden Programme:
- VS.NET 08
- Visuelles Hilfsmittel X
- Intel Parallel Studio (Profiler)
- TeamCity
- Ich plane, Bullseye und PC-Lint + Visual Lint für die Codeprüfung zu verwenden.
Klärung Als ich nach Tools fragte, meinte ich Tools wie IDE, Unit-Testing-Tools, Refactoring-Tools und dergleichen. TestDriven.NET ist wahrscheinlich das beste Beispiel dafür. Ich liebe die Tatsache, dass ich mit der Codierung meiner Unit-Tests beginnen kann und mit einem Rechtsklick diese Tests in meiner IDE ausführen kann! Es ist so schade, dass ich in unmanaged C++ nicht den gleichen Komfort habe!