Welche Entwicklungsumgebung nutzen die "großen"?
-
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".
-
asc schrieb:
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.
Ob es CLI ist, wird über die Option /clr gesteuert. In den Projektoptionen ist das unter General > Project Defaults > Common Language Runtime Support zu finden.
-
@Bashar: Danke dir, jetzt weiß ich schon mal wo ich nachsehen muss..
Bei mir steht zum Glück "Keine Common Language Runtime-Unterstützung". Obwohl oben in der Titelleiste der Konfiguration steht "Zielframework .NET 4.5". Aber dann soll es halt dort stehen.Dann werd ich nurnoch irgendwie den GCC Compiler für Visual Studio einrichten und dann hoffe ich, kann ich weiterhin Plattformunabhängig (mit den richtigen Libs) programmieren.
Danke sehr für diese Hilfreichen Antworten!
-
bigide schrieb:
Dann werd ich nurnoch irgendwie den GCC Compiler für Visual Studio einrichten
"nurnoch irgendwie" klingt nach "mal eben schnell heute Nachmittag". Viel Spaß dabei, ich habs relativ zügig aufgegeben

und dann hoffe ich, kann ich weiterhin Plattformunabhängig (mit den richtigen Libs) programmieren.

Kannst du auch mit dem MSVC Compiler. Der Code ist Plattformunabhängig, wenn du dich an den Standard hälst. Das übersetzte Programm ist weder mit dem gcc noch mit MSVC plattfromunabhängig. Auch der GCC erzeugt unter Windows andere Binaries als unter Linux.
-
Das sollte eigentlich auch ein "mal eben schnell heute Nachmittag" sein.
Du nimmst mir grad die Hoffnung, lach.Und den GCC hätte ich nur deshalb genommen, weil dieser bereits C++11 besser implementiert hat. Wobei sich rausgestellt hat das sogar Clang besser geeignet wäre. Aber wieso ist/soll es so schwer sein "nur" einen Compiler zu ersetzen?
-
bigide schrieb:
Und den GCC hätte ich nur deshalb genommen, weil dieser bereits C++11 besser implementiert hat. Wobei sich rausgestellt hat das sogar Clang besser geeignet wäre. Aber wieso ist/soll es so schwer sein "nur" einen Compiler zu ersetzen?
Weil die IDE auf dem VC++ hin entwickelt wurde und auch die Projektdateien wohl für diesen ausgelegt sind. Man kann den Buildprozess aber wohl auf Makefiles für externe Compiler umstellen, dann muss man sich aber damit näher auseinander setzen. Beim Intel-Compiler gibt es bereits entsprechende Plugins die einem die Arbeit abnehmen, dies gilt aber nicht für den gcc.
Falls du dir die Mühe aber machst, kannst du gerne am Schluss die nötigen Schritte für das Forum zusammenschreiben (vielleicht für ein FAQ-Eintrag) und anderen die Arbeit zu erleichtern.
-
bigide schrieb:
Und den GCC hätte ich nur deshalb genommen, weil dieser bereits C++11 besser implementiert hat. Wobei sich rausgestellt hat das sogar Clang besser geeignet wäre. Aber wieso ist/soll es so schwer sein "nur" einen Compiler zu ersetzen?
Weil die IDE den Compiler aufruft (indirekt über MSBuild usw.), und zwar mit Parametern und allem Drum und Dran. Die verschiedenen Compiler erwarten völlig unterschiedliche Parameter, für manche Dinge, die du in der IDE einstellst kennt der GCC garkeine eigenen Parameter.
Du kannst bei ner Lampe nicht einfach ne Glühbirne durch ne Leuchtstoffröhre ersetzen, auch wenn beides Licht erzeugt und mit 230V läuft
Den Buildprozess auf Makefiles umzustöpseln ist für Fremcompiler vermutlich die einzig sinnvolle Möglichkeit. (Anders als einen VS-Compiler durch einen anderen zu ersetzen, das ist relativ problemfrei). Du verlierst dabei allerdings evtl. den einen oder anderen Vorteil, den du durch die enge Kopplung bekommst.
zu CLANG: ich bin nicht ganz up to date, ist das Ding inzwischen unter Windows gut vertreten? Mein letzter Stand war, dass die Windows-Unterstützung eher miserabel war.
zu C++11-Unterstützung: ja, der gcc hat die bessere Unterstützung (und CLANG vermutlich auch), aber weiter oben meine ich gelesen zu haben, dass du portabel bleiben wolltest - mit C++11-Features, die MSVC nicht unterstützt grenzt du die entsprechende Kundschaft dann aber auch erstmal wieder aus...
-
pumuckl schrieb:
...aber weiter oben meine ich gelesen zu haben, dass du portabel bleiben wolltest - mit C++11-Features, die MSVC nicht unterstützt grenzt du die entsprechende Kundschaft dann aber auch erstmal wieder aus...
Ich würde sogar soweit gehen, das man dann den MSVC (VS12) einsetzen sollte (als die untere Messlatte), wenn man einigermaßen portabel bleiben will.
-
asc schrieb:
Ich würde sogar soweit gehen, das man dann den MSVC (VS12) einsetzen sollte (als die untere Messlatte), wenn man einigermaßen portabel bleiben will.
Wenn nicht gar MSVC11, für mittellose Nutzer der Express Edition.
Grade erst gelesen, dass es eine VS11 EE geben wird, mit der man auch Desktop-Anwendungen entwickeln kann. Auch für WinXP...
-
war falscher Thread...
-
pumuckl schrieb:
...VS11...
Eine Frage: Nachdem es Visual Studio 2012 heißt, wäre nicht die Abkürzung VS12 richtiger (die letzten Versionen wurden doch auch immer nach ihrem Jahr benannt)?