Welche IDE für C++ in größeren Projekten
-
Hi,
ich möchte in C++ einmal ein größeres Projekt angehen.
Ich komme eigentlich aus der Java-Welt (das ist der Ort an dem Software auf heißer Luft läuft) und wollte gerne mal eine Idee die ich schon einige Zeit mit mir herumtrage realisieren. Dazu muss ich mich in das eine oder andere Einarbeiten. Außerdem stellt sich für mich die Frage welche IDE ist gerade für C++ bei größeren Projekten geeignet.
Bisher war ich ein großer Freund von Eclipse (für Java) wenn ich in C oder C++ mal was getestet habe, habe ich meist einfach irgendeinen Editor und die Konsole genutzt bzw. Dev-C++. Jetzt gibt es verschiedene Entwicklungsumgebungen für C++ z.B. MS Visual Studio, Code::Blocks, Eclipse, NetBeans... aber welche davon wird besonders zur Verwaltung größerer Projekte in C++ empfohlen?(Würde mich freuen, wenn ihr euch nicht gegenseitig die Köpfe einschlagt und stattdessen einfach sachlich begründet warum speziell die eine oder Andere IDE die richtige ist (ihr könnt auch gerne 2 empfehlen, nur halt, dass die Auswahl leicht eingegrenzt wird))
Danke im Voraus
-
Wenn du mit Eclipse schon vertraut bist kannst du das auch ruhig für C++ benutzen. Richtiges Add-On installieren und den Compiler deiner Wahl einstellen (auf Unix vermutlich clang 3.3+, auf Windows eher noch gcc 4.8+).
Für Windows Programme im Speziellen ist VS vielleicht etwas angenehmer weil die ganzen Windows-Header (und directx) halt out-of-the-box funktionieren. Aber die C++11 Unterstützung ist deutlich schlechter als bei GCC oder Clang.
-
ich eben schrieb:
Außerdem stellt sich für mich die Frage welche IDE ist gerade für C++ bei größeren Projekten geeignet.
Auf Windows programmiere ich mit Visual Studio - auf der Arbeit, wie auch zu Hause. Ansonsten habe ich mir CodeBlocks und CodeLite auf Linux/Mac/Windows ganz gute brauchbare Erfahrungen gemacht. Privat programmiere ich aber meistens auf einem simplen Texteditor (Kate auf Linux).
Mein privates Projekt müsste um die 150kLOC liegen.Eclipse habe ich 2006 mal benutzt, war aber sehr unzufrieden damit. 2008 habe ich als Java Entwickler damit gearbeitet und für Java fand ich es gut (sofern es nicht wegen Speichermangel abschmierte). Das muss aber nix mehr heißen, da sind ja inzwischen doch einige Jahre vergangen. Für C++ habe ich es nicht als passend empfunden, es funktionierte einfach nicht so schön wie unter Java. Es ist ja auch für Java.
ich eben schrieb:
aber welche davon wird besonders zur Verwaltung größerer Projekte in C++ empfohlen?
Keins.
Große Projekte solltest Du lieber wieder in kleinere Projekte unterteilen, indem Du zum Beispiel gewisse Funktionalität in Bibliotheken unterbringst.
Im Regelfall solltest Du also mit weniger als 10 Dateien zu tun haben. Und dafür reicht wieder ein einfacher Texteditor, wenn Dein Projekt sauber strukturiert ist und Du nicht die Vorschläge der IDE brauchst um die Funktionen wieder zu finden.
Wenn ich verzweifelt nach den Funktionsnamen suche, weiß ich, dass ich sie falsch benannt habe. In sofern sehe ich den Texteditor bei größeren Projekten auch als Indikator für brauchbare Codequalität.ich eben schrieb:
(Würde mich freuen, wenn ihr euch nicht gegenseitig die Köpfe einschlagt und stattdessen einfach sachlich begründet warum speziell die eine oder Andere IDE die richtige ist (ihr könnt auch gerne 2 empfehlen, nur halt, dass die Auswahl leicht eingegrenzt wird))
Das ist nicht das erste Mal, dass Du hier eine Frage stellst, oder? :->
-
Ich empfehle Emacs. Wird überall verwendet, besonders bei grösseren FLOSS-Projekten.
-
Xin schrieb:
ich eben schrieb:
aber welche davon wird besonders zur Verwaltung größerer Projekte in C++ empfohlen?
Keins.
Große Projekte solltest Du lieber wieder in kleinere Projekte unterteilen, indem Du zum Beispiel gewisse Funktionalität in Bibliotheken unterbringst.
Ist sinnvoll, aber hilft es bei der "Verwaltung" wirklich weiter. Ich benutze auch in der Arbeit wie privat Visual Studio (in der Arbeit mit Visual Assist). Wir haben ein Projekt mit grob 6 Mio Zeilen Code C++, das auch aus hunderten Projekten bzw. "Bibliotheken" besteht. Aber die will ich halt auch alle in der IDE haben und ich will schnell zur Klassendeklaration /-definition springen können, Autovervollständigung für alles haben usw. Und das sollte die IDE halt packen können, ob der komplette Code in einem großen Projekt ist oder in vielen kleinen. Außerdem kommen noch die ganzen third party Bibliotheken hinzu, das ist dann auch einiges an Code, was die Intellisense kennen muss.
Wir benutzen noch Visual Studio 2008. Ganz rund lief das nicht, vor allem die Intellisense. Hat nach dem Start erstmal eine Stunde gedauert, bis die Intellisense geladen und vollständig verfügbar war. Wenn man währenddessen einen Rechtsklick gemacht hat, hat sich Visual Studio immer aufgehängt - gar nicht schön. Geht mit Visual Assist besser. Ich glaube aber auch, dass die Intellisense bei neueren Visual Studio Versionen auch ohne Visual Assist deutlich besser geworden ist.
Eclipse mag ich jetzt nicht so. Für Java eher Netbeans, für C++ wie gesagt Visual Studio.
-
Mechanics schrieb:
Ist sinnvoll, aber hilft es bei der "Verwaltung" wirklich weiter. Ich benutze auch in der Arbeit wie privat Visual Studio (in der Arbeit mit Visual Assist). Wir haben ein Projekt mit grob 6 Mio Zeilen Code C++, das auch aus hunderten Projekten bzw. "Bibliotheken" besteht. Aber die will ich halt auch alle in der IDE haben und ich will schnell zur Klassendeklaration /-definition springen können, Autovervollständigung für alles haben usw. Und das sollte die IDE halt packen können, ob der komplette Code in einem großen Projekt ist oder in vielen kleinen. Außerdem kommen noch die ganzen third party Bibliotheken hinzu, das ist dann auch einiges an Code, was die Intellisense kennen muss.
Wir benutzen noch Visual Studio 2008.Ich arbeite auf einem i7 vom letzten Jahr mit 8GB unter Visual Studio 2010. 2010 hat SQL-Server - offenbar für Intellisense. Mit 5-6 Libs ist die Kiste ausgelastet. Meistens geht's, aber gelegentlich brauche ich auch Geduld und dann geht so ein Popup auf "Microsoft Studio ist ausgelastet" und dann redet es halt mal 'ne Minute nicht mit mir.
Darum habe ich nur die Libs geladen, die ich genau in dem Moment brauche.
Und je mehr Libs, desto mehr "Studio musste beendet werden".2005 und 2008 waren da noch flotter am Start. Alles Probleme, die ich mit einem Editor gar nicht habe.
canlot schrieb:
Ich glaube aber auch, dass die Intellisense bei neueren Visual Studio Versionen auch ohne Visual Assist deutlich besser geworden ist.
Ich hoffe da noch auf die Versionen nach 2010, dass es wieder besser wird. Ansonsten war ich mit 2005 zufriedener. Dafür war der Compiler schwächer.
Ansonsten höre ich zufriedene Leute, die Qt-Project nutzen. Da kann ich aber (noch) nix zu sagen.
-
Unter Windows würde ich ganz klar Visual Studio empfehlen, da es einfach den besten Debugger hat. Software erstellen besteht ja nicht nur aus Source-Code schreiben, sondern debuggen und testen macht einen Großteil des Software-Entwicklungsprozesses aus (und dann sollte man dafür gute Tools zur Hand haben).
-
Xin schrieb:
Ich hoffe da noch auf die Versionen nach 2010, dass es wieder besser wird. Ansonsten war ich mit 2005 zufriedener. Dafür war der Compiler schwächer.
ich war eigentlich bis VS6 zufrieden, ab den .Net versionen wuerde es langsam (auch 2005 fand ich arg langsam), es lag ja nichtmal so sehr am editor selbst, sondern dass jedes tool die IDE blockte. Visual Assist und Intelisense ausgemacht wurden alte VS recht fix (dafuer umstaendlicher).
Aber mit 2012 wurde es echt besser! ich nutze ueberall nur noch 2012+, falls ich irgendwo ein aelteres projekt behandeln muss, arbeite ich trotzdem mit 2012 und stelle nur einen alten compiler ein und ab und zu mache ich dann die alte IDE auf und schaue, ob es darin auch noch durchbaut. aber VS2012 ist echt top!
-
VS2013 kommt viel besser mit modernem C++ klar als frühere Versionen. "Go to Definition" funktioniert fast immer in weniger als einer Sekunde. Boost ist kein Problem. VS flippt nicht mehr so schlimm aus, wenn offene Projektdateien von einem anderen Programm geändert werden. Ich muss Microsoft ausnahmsweise mal loben und hoffe, dass das so weiter gehen wird.
Aktuelle Versionen von QtCreator sind gut. Der ist portabel und kann auch gut mit C++ umgehen. Wie auch Visual Studio wird er am besten mit CMake genutzt.
-
Ich arbeite mit dem Qt-Creator. Auf Arbeit gibt es nur Linux-Kisten von den Servern bis zu den Arbeitsplätzen und privat wird mal mit Windows und mal unter OSX programmiert.