Welche Entwicklungsumgebung nutzen die "großen"?
-
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)
-
bigide schrieb:
Aber wie Entwickeln dann große Firmen wie Blizzard oder die Linux Foundation (Kernel) ihre Software?
Bei Blizzard und anderen Spielefirmen ist es meistens VC++. Das erkennst du allein schon daran, dass bei der Spieleinstallation oft das VC++ Redistributable installiert wird. Das ist heute sogar noch oft die 2005er Version, die springen also nicht gleich auf jeden neuen Zug auf.

-
Auf Windows ist es wohl (wie schon gesagt) tendenziell Visual Studio, und ich behaupte in der Regel auch mit dessen Compiler (die Kombination mit dem Intel Compiler ist mir aber auch schon untergekommen).
Wobei man vom Visual Studio nicht auf C++ ableiten kann, so wie man bei Eclipse nicht immer von Java ausgehen kann - das erschwert etwas die Zählung (wobei nach meinen Erfahrungen unter Windows teilweise durchaus auch eine Rückbewegung zu C++ statt findet, aber eher nicht von C# sondern tendenziell von Sprachen wie Java - und sich Firmen wesentlich seltener an nur eine Sprache binden).
-
_matze schrieb:
bigide schrieb:
Aber wie Entwickeln dann große Firmen wie Blizzard oder die Linux Foundation (Kernel) ihre Software?
Bei Blizzard und anderen Spielefirmen ist es meistens VC++. Das erkennst du allein schon daran, dass bei der Spieleinstallation oft das VC++ Redistributable installiert wird. Das ist heute sogar noch oft die 2005er Version, die springen also nicht gleich auf jeden neuen Zug auf.

Wenn ich das mal von MSDN Kopieren darf...
Mit Microsoft Visual C++ 2010 Redistributable Package werden Laufzeitkomponenten von Visual C++-Bibliotheken installiert, die erforderlich sind, um Anwendungen, die in Visual C++ entwickelt wurden, auf einem Computer auszuführen, auf dem Visual C++ 2010 nicht installiert ist.
Heißt das jetzt, wenn ich nur Standard C++ Entwickle, ohne CLI (Kann man das auch ganz deaktivieren?), dass ich aus meinem Projekt + Makefile auch ein Linux Programm erstellen kann? Ich bezweifle nämlich das es VC++ Redistributable auf Linux gibt

-
bigide schrieb:
Heißt das jetzt, wenn ich nur Standard C++ Entwickle, ohne CLI (Kann man das auch ganz deaktivieren?)...
CLI ist grundsätzlich nur aktiviert, wenn man den falschen Projekttyp auswählt.
bigide schrieb:
...dass ich aus meinem Projekt + Makefile auch ein Linux Programm erstellen kann? Ich bezweifle nämlich das es VC++ Redistributable auf Linux gibt

Du kannst unter VC++ kein Linuxprogramm compilieren, ebenso wenig wie das von Linux aus für Windows möglich ist. Der Sourcecode wiederum kann aber portabel geschrieben werden, so das er sowohl unter VC++ als auch dem gcc compilierbar ist. Unter Umständen muss man halt prüfen was kompatibel ist.
-
asc schrieb:
ebenso wenig wie das von Linux aus für Windows möglich ist.
Doch, Stichwort "Cross-Compiler".