Welche Entwicklungsumgebung nutzen die "großen"?
-
Unter Linux gibt es auch noch KDevelop (Irgendwie nennen alle immer nur QtCreator und nicht KDevelop :p )
-
Danke, kannte ich vorher noch nicht! Werd ich mir mal ansehen...

Die Linux Foundation nutzt angeblich Eclipse, zumindest was ich auf die schnelle finden konnte... ist die IDE empfehlenswert für Standard C++?
-
bigide schrieb:
Die Linux Foundation nutzt angeblich Eclipse, zumindest was ich auf die schnelle finden konnte... ist die IDE empfehlenswert für Standard C++?
Eine IDE hat überhaupt gar nichts mit dem C++ Standard am Hut. Was du hier meinst, ist ein Compiler, der mal mehr und mal weniger standardkonform ist. Heute gibt es hauptsächlich 3 verschiedene Compiler, die eingesetzt werden:
1. Clang
2. g++
3. VC++
g++ ist noch Spitzenreiter, dicht gefolgt von Clang und dann der VC++. Beim g++ wird Standardkonformität großgeschrieben, was man von VC++ nicht unbedingt behaupten kann. D.h. wenn du Standardkonformität willst, nimmst du natürlich g++, die IDE spielt hierbei keine Rolle. Eine IDE ist nur dazu dar, die das Leben (das Entwickeln) zu erleichtern. Der Grund, warum Visual Studio fast immer auf Windows-Systemen eingesetzt wird, ist, da Visual Studio die wohl mächtigste IDE ist und einen absolut ausgezeichneten Debugger bietet.
-
bigide schrieb:
Danke, kannte ich vorher noch nicht! Werd ich mir mal ansehen...

Die Linux Foundation nutzt angeblich Eclipse, zumindest was ich auf die schnelle finden konnte... ist die IDE empfehlenswert für Standard C++?Ich habe lange Eclipse verwendet, bin aber dann auf KDevelop umgestiegen. Eclipse hat halt immernoch diese Kinderkrankheiten, die auf Dauer echt nervtötend sind. Gerade was C++ mit Qt angeht hört es bei Eclipse echt auf, obwohl das CDT laufend verbessert wird. Außerdem kann man in KDevelop (bzw. eigentlich dem Kate-Editor) mit vim-Befehlen arbeiten, sehr schöne Sache das!

Edit: ein weiterer Vorteil von gcc (nicht g++, g++ ist der Befehl für C++, gcc heißt der Compiler, steht für GNU Compiler Collection) ist, dass es auf allen Platformen gut unterstützt wird.
Edit2: Das schöne an Clang fand ich immer, dass es "export" unterstützt hat, allerdings dann nicht mehr portabel, außerdem gehört "export" leider(!) nicht mehr zum C++-Standard
-
edit: Meine Aufzählung oben ist alphabetisch sortiert, nicht dass jetzt Verwirrung entsteht.
-
Das eine IDE nichts mit dem Standard zutun hat war mir schon klar. Nur ich dachte das Visual C++ automatisch seine .NET Libs miteinbindet... also ich mit Visual C++ z.B nicht Plattformunabhänigen CODE schreiben kann. Das ich ihn neu kompilieren muss, weiß ich..
-
Also IDE's für C++ gibt es reichlich,
wobei in Firmen gerne auf Embarcadero (ehemals Borland) oder Microsoft zurückgegriffen wird, speziell im Windows Umfeld.Im Linux-Umfeld ist sowieso das meiste OpenSource, weshalb da wohl jeder seinen eigenen Vorlieben folgt...
Optionen wären da
* KDevelop (mein Favorit in Verbindung mit Git und CMake)
* Eclipse
* Anjuta (nicht so schön, da autotools lastig
)
* QtCreator (für Qt Projekte sehr schön)Allerdings gibt es im Linuxumfeld eben auch viele hartgesottene,
die auf vim/emacs/nano (etc.) setzen und Makefiles (oder alternativen) von Hand schreiben.Beispielsweise arbeiten nicht wenige Linux-Kernel-Entwickler (zwar C, aber ist ja eig egal) mit vim oder emacs, gekoppelt mit cscope...
Was Mac angeht... da hat eben Apple wieder das Monopol mit der IDE XCode,
wobei ich damit noch keine Erfahrungen sammeln konnte.
-
bigide schrieb:
Das eine IDE nichts mit dem Standard zutun hat war mir schon klar. Nur ich dachte das Visual C++ automatisch seine .NET Libs miteinbindet... also ich mit Visual C++ z.B nicht Plattformunabhänigen CODE schreiben kann. Das ich ihn neu kompilieren muss, weiß ich..
So lange du reines Standard C++ schreibst, brauchst du nichts zu ändern, nur weil du den Compiler wechselst...
Du kannst aber auf die Nase fallen, wenn du z.B. auf diese Perversion C++/CLI reingefallen bist :pMit plattformunabhängigem Code ist das aber nun mal so eine Sache...
Threads kennt C++ z.B. erst seit C++11 und Sockets sowie GUI sind überhaupt nicht drin.
Dafür brauchst du wieder Bibliotheken (entweder eben die nativen APIs des jeweiligen Betriebssystems, was aber deinen Code plattformABHÄNGIG macht...
oder eben Wrapper, wie boost, Qt usw., die das wegabstrahieren)
-
bigide schrieb:
Nur ich dachte das Visual C++ automatisch seine .NET Libs miteinbindet... also ich mit Visual C++ z.B nicht Plattformunabhänigen CODE schreiben kann.
Dann dachtest du falsch. Nur weil Visual C++ auch C++/CLI unterstützt, heißt das noch lange nicht, dass das das Einzige ist, was es unterstützt. Visual C++ ist in erster Linie ein ganz normaler native C++ Compiler. Und ja, Visual C++ ist, was "die Großen" unter anderem auch benutzen. Allem voran natürlich Microsoft selbst...

-
Kann man in die MS IDE eigentlich andere Compiler einbinden, sagen wir g++?
Falls ja, ist die Arbeit damit halbwegs komfortabel?
-
Man kann. Mir ist nur keine fertige derarte Integration bekannt und ist nicht unbedingt wenig Arbeit, sowas zu basteln...
-
bigide schrieb:
Ist aber da nicht automatisch die Windows Bloatware dabei? C++/CLI? Oder .NET Bibliotheken. Ich dachte immer absolutes Standard C++ ist garnicht möglich...
Trolling. Weil ich Tee mit Zucker trinke ist es kein Tee mehr?

Visual Studio läuft unter Wine nicht mehr (angeblich ging Visual Studio 6.0 von 1998 sehr gut), weil es inzwischen mit .NET und WPF programmiert wurde.
gd4tze5htfg schrieb:
Kann man in die MS IDE eigentlich andere Compiler einbinden, sagen wir g++?
Falls ja, ist die Arbeit damit halbwegs komfortabel?
Ja, kann man. Custom Platforms und Toolsets sind seit 2010 "integriert". Gerade angenehm zu benutzen ist das Zeugs leider nie (und zum Einrichten ist es geradezu schrecklich); auf der anderen Seite würde ich sowieso eher versuchen, unter Windows mit Visual C++ und auf anderen Systemen mit den Pendants zu arbeiten. Für was gibts einen Standard?^^
-
dot schrieb:
Man kann. Mir ist nur keine fertige derarte Integration bekannt und ist nicht unbedingt wenig Arbeit, sowas zu basteln...
Intel liefert bspw. eine solche Integration für ihre Compiler-Suite:
http://software.intel.com/en-us/articles/intel-c-compiler-compatibility-with-microsoft-visual-c/#a_UIIDEMfG SideWinder
-
Jap, Intel liefert sowas. Für GCC oder clang ist mir aber nichts Derartiges bekannt...
-
Auf der Arbeit entwickeln wir für IBM AIX mit dem xlc Compiler. Dort haben wir handgeschriebene Makefiles und jeder verwendet seinen Lieblingseditor. Ich bevorzuge gvim aber andere verwenden auch emacs oder auch eclipse.
Privat verwende ich auch gvim mit den autotools und gcc. Ich persönlich liebe die Kontrolle und mache mich nicht von einer IDE abhängig.
-
bigide schrieb:
Visual C++ wird vermutlich auch ausscheiden - zumindest für die Linux Foundation.
Und falls diese großen Firmen / Organisationen alle mit dem Editor entwickeln und Debuggen, dann würde mich brennend interessieren mit welchem.

Abgesehen davon, dass der Linuxkernel nicht von der Linux Foundation entwickelt wird, sind fette IDEs im Linuxumfeld tatsächlich nicht sonderlich verbreitet. Das heißt aber noch lange nicht, dass man nicht auch dort auf leistungsfähige Tools zurückgreift.
Quellcode editiert man natürlich mit dem Editor seiner Wahl (bei den meisten ist das halt Emacs xor Vi, gibt aber auch noch andere Editoren). Oft natürlich mit entsprechenden Erweiterungen, sodass der Editor ein besseres Verständnis der Sprachsyntax bekommt.
Je nach vorliegendem Problem bedient man sich dann an den anderen zahlreichen Programmen, die das Programmieren und alles was damit zusammenhängt erleichtern. Nirgends gibt es davon so viele wie auf Unix-Umgebungen. Nirgends ist es so einfach zahlreiche Programme für die gewünschte Anwendung zu kombinieren wie unter Unix oder Plan9. So stellt man sich dann eine mächtige Entwicklungsumgebung zusammen. Man benutzt quasi das komplette Betriebssystem inklusiver seiner Programme als IDE.
Daher empinde ich es auch immer als etwas komisch, wenn Leute fast schon entsetzt darüber sind, wenn jemand seinen Quellcode in einem einfachen Texteditor schreibt. In einer IDE hat man halt eine Auswahl von Werkzeugen unter einer bunten GUI integriert. Ich kann mir diese Werkzeuge aber auch genausogut selbst auswählen und in meine Arbeitsumgebung integrieren. Ein Texteditor ist nur ein Teil davon (im Vergleich mit den integrierten Editoren der gängigen IDEs sind sowohl Vim als auch Emacs die pure Offenbarung ;)).
-
Die Linux Kernel Entwickler werden alle vim oder emacs verwenden. Du wirst ganz sicher keinen Kernel Hacker finden, der eine IDE wie Eclipse oder KDevelop verwendet. Linus Torvalds hat zumindest früher angeblich MicroEmacs verwendet.
Die großen Firmen, die kommerziell für Windows entwickeln, werden wahrscheinlich meist Visual Studio verwenden.
-
Mechanics schrieb:
Die großen Firmen, die kommerziell für Windows entwickeln, werden wahrscheinlich meist Visual Studio verwenden.
Es gibt auch Entwickler von Microsoft die mit Emacs arbeiten.
http://blogs.msdn.com/b/dotnetinterop/archive/tags/emacs/
-
unwindowsler schrieb:
Mechanics schrieb:
Die großen Firmen, die kommerziell für Windows entwickeln, werden wahrscheinlich meist Visual Studio verwenden.
Es gibt auch Entwickler von Microsoft die mit Emacs arbeiten.
http://blogs.msdn.com/b/dotnetinterop/archive/tags/emacs/Ich weiß, auch bei uns in der Firma gibts Leute, die mit Emacs unter Windows entwickeln. Als Editor haben Vim und Emacs den großen IDEs wie VS oder Eclipse immer noch einiges voraus, wenn man das nutzen kann/will.
-
bigide schrieb:
Nur ich dachte das Visual C++ automatisch seine .NET Libs miteinbindet... also ich mit Visual C++ z.B nicht Plattformunabhänigen CODE schreiben kann.
Hihi, genau. Und weil in meiner Garage ein Mopped steht kann ich nicht mehr abgasfrei Fahrrad fahren

Ich denke dass MSVS unter Windows mit die meistverbreitete IDE ist, unter Linux und Mac dürften sich mehrere IDEs die Waage halten mit den üblichen verdächtigen Monster-Editoren.
An Compilern kommts sehr darauf an, unter welchem OS man entwickelt, gcc dürfte der gebräuchlichste auf Linux/Mac sein, auf Windows hat wahrscheinlich wieder VS die Nase vorne.
Entscheidender wäre für mich die Frage, auf welcher Plattform man entwickelt, wenn man eh für verschiedene Zielplattformen arbeitet. Hier im Haus wird MSVC verwendet, Zieplattformen und -compiler sind Windows (MSVC), AIX (IBM XLC), Linux (Intel)