Linux oder Windows, programmieren?
Hey Liebe Community.
Ich programmiere gerne und designe bestimmte Sachen. Nun ist meine Frage welches System sich da besser macht, Windows oder Linux? Nun, bisher hatte ich nur Windows und bin mit Linux noch nicht bestens Vertraut. Was sind denn die Pros und Contras?
LG Justin
Das Ergebnis basiert auf 10 Abstimmungen
10 Antworten
Die meisten Programmiersprachen laufen überall, aber es gibt Unterschiede bezüglich Komfort:
- Python: Linux ist da besser. Bessere Integration in das System; beliebte Libraries & Programme direkt im Paketmanager
- C++: Gehen eigentlich alle. Unter Windows muss man aber einen anderen Compiler als den von Microsoft (Visual Studio) benutzen, wenn man spezielle Sachen will (z.B. OpenMP > 2.0). Intel-Compiler (Xeon Phi) sowieso nur Linux. Unter Linux sind Headerdateien und andere Entwicklertools direkt im Paketmanager verfügbar. Manche Distributionen (z.B. alles was auf Arch basiert wie Manjaro oder Antergos) installieren die developer files direkt mit den Bibliotheken mit. Weniger suchen.
- Java: Läuft überall gut.
- R: Mehr oder weniger egal. Aber das einzige Mal als ich R unter Windows benutzt war, war das schon eingerichtet (Rechenzentrum von der Uni). Braucht aber einen C/C++ Compiler wegen den R-Libraries
- C#: Windows. IDE unter Mac und Linux (MonoDevelop oder Mac "Visual Studio" = Xamarin Studio ~= MonoDevelop) deutlich schlechter als Visual Studio. WPF nur unter Windows. .NET Core hat keine GUI-Bibliothek standardmäßig.
- Webentwicklung: Müsste eigentlich alles gehen. Habe aber wenig Erfahrung drin.
Es kommt darauf an, was du programmierst und was du designst. Für Design und co. sind Mac und Windows das Mittel der Wahl.
Für das Coden sind alle drei grundsätzlich tauglich, auch wenn linux hier meist komfortabler ist, gerade wenn es um serversysteme geht.
Ich persönliche Nutze Windows und arbeite im Webdevelopment.
Das kommt drauf an was du programmierst willst du 3D Spiele programmieren so ist es einfacher Windows zu benutzen die meisten Spiele laufen auch nur auf windows. Dann kommt es darauf an welche Sprache / kompiler du benutzt.
wenn du an vielen DIngen verzweifeln willst, dann kann ich nur Windows empfehlen.
In den einzelnen Programmiersprachen legen die Werkzeuge Zwischendateien an. In Windows werden die dann alle ohne Namenserweiterung wie .obj, .hex , .err usw aufgelistet.
Schön für den, der keine Fehler macht und niemals da irgendwie hineinsehen muss. Die erste Hürde ist "welches ist denn die, die ich ansehen will" ?
das dafür (nicht von Microsoft ) vorhandene Tool kann das nicht, so dass man immer wieder raten muss, welche Backup-Datei wozu gehört. Alles, was am Ende eine Tilde hat, ist Backup. Ob das nun eine C-Quelle, eine Objekt-Datei oder ein Binary betrifft. Nur an der Reihenfolge der Auflistung kann man das erahnen.
Glücklicherweise benutze ich Windows in einer virtuellen Maschine und die Dateien als "gemeinsame Dateien" mit Linux.
Dort sieht man alles "richtig".
Löschen mache ich aus Sicherheitsgründen nur mit rm.
Das mit der Darstellung der Namenserweiterungen ist auch nur ein kleines Beispiel.
Auch in der Logik eines Programmes muss man viele Klimmzüge machen. Das fängt beim Überschreiben an
So was wir fopen ... ; fwrite ... fclose ... liefert einen Fehler, wenn die Datei existiert.
Dateien auf einem USB-Stick zu bearbeiten ist fast unmöglich, weil man ja den Laufwerksbuchstaben nicht kennt.
Kein Wunder, wenn Programme und Daten nur auf C: erwartet werden.
Ich schreibe viele Bash und AWK Scripts. Ausserdem programmiere ich in C, C++ und open-Cobol das ist alles bei den Linux-Distrubionen Standard oder leicht nachzuinstallieren.
Ob die Erweiterungen angezeigt werden, kann man aber in den Ordneroptionen einstellen.