Bestes Betriebssystem für Programmierung?

12 Antworten

Hier ein Tip von mir:

Möchte man in C++ programmieren empfehle ich den Qt-Creator. Damit kann man C++ Programme programmieren ohne den Quellcode ändern zu müssen beim Portieren. Das gibt es für Windows, Mac und Linux. Dazu wird die plattformunabhängige Qt-Klassenbiliothek verwendet. Das ganze kann man sowohl unter einer kostenlosen Open Source Lizenz (GNU GPL, GNU LPGL) oder unter einer kostenpflichtigen propritären Lizenz lizenzieren. Der Funktionsumfang ist bei beiden Lizenzen identisch. Hier die benötigten Downloads:

für Windows:

für Mac:

Linux-Nutzer installieren sich die GCC Compiler und den Qt-Creator über die Paketverwaltung der jeweiligen Distro. Das ist die Open Source Lizenz. Das Qt Installer Framework gibt es nicht für Linux, dort erstellt man mit den Bordmitteln je nach Distro DEB oder RPM Installationspakete. Das gilt auch für den Raspberry Pi unter Raspberry Pi OS.

Die Zukunft ist die indem man von Anfang an plattformunabhängig programmiert. Damit hat man auch die besten beruflichen Chancen.

Hier einige Beispiele was mit dem Qt-Creator programmiert wurde. Damit war es dann auch für die Programmierer leicht das für Windows, Mac und Linux anzubieten weil man beim Portieren nicht den Quellcode ändern muss.

  • VLC Player
  • SMPlayer
  • Audacity
  • Google Earth
  • Spotify Client
  • Skype
  • Microsoft Teams
  • Discord
  • FreeCAD
  • Blender 3D

Ich würde das dann so machen:

Windows und eine Linux-Distro (z.B. Linux Mint) auf dem PC/Laptop installieren und den Qt-Creator auf beiden Systemen. Dann können sie ihre Programme für beide Systeme anbieten.

Zu MacOS und BSD kann ich nichts sagen, das habe ich noch nie genutzt.

Was Linux vs Windows angeht: Ganz klar Linux. Windows kann da nicht ansatzweise mithalten, auch nicht mit WSL. Die einzige Ausnahme wäre, wenn du Software spezifisch für Windows schreiben willst, dann solltest du natürlich Windows nutzen. Würde ich allerdings nicht empfehlen, wenn dir deine geistige Gesundheit am Herzen liegt.

Woher ich das weiß:Studium / Ausbildung – Informatik

Das Problem ist: Was willst du programmieren?

Davon hängt immens die Wahl des Betriebssystems ab. Beispiele:

  • Willst du eine Windows-native App schreiben -> das auf Linux programmieren wäre unnötig, da du es eh testen musst und dafür dann Windows brauchst.
  • Willst du eine Web-Anwendung auf einem Server programmieren -> Windows steht dir dabei nur im Weg - unter Linux ist es deutlich einfacher, einen lokalen Webserver zum Testen zu betreiben.

Also erste Überlegung ist: Was willst du programmieren? Danach schaut man, was da am besten passt.

Ich denke aber, dass Linux die beste Wahl sein wird, wenn du nicht gerade eine Windows- oder macOS-native App schreiben willst. Hier würde ich Linux Mint, Ubuntu oder Fedora zum Entwickeln nutzen. Gerade die letzten beiden haben viele Programmier-Bibliotheken und halten diese auch recht aktuell. V.a. unter Fedora.

Was willst du denn Programmieren?

(Grob zusammengefasst + Eigene Erfahrung)

  • MAC → Gut für Apple Software + Websites
  • Linux → Websites + Linux Software
  • Windows → Gut für Windows Software, wie auch Linux Software (Dank WSL) + Android (Dank WSA) + Websites
  • Android → Naja, sitzt in Bus und Bahn, dann zum Probieren, aber sonst eher NEIN.
Woher ich das weiß:eigene Erfahrung
Waldelb3  10.03.2023, 10:22
Windows → Gut für Windows Software, wie auch Linux Software (Dank WSL) + Android (Dank WSA) + Websites

Nein. Einfach nein. WSL ist ein großer Haufen Müll, und nicht einmal im Ansatz mit einer richtigen Linux-Distribution zu vergleichen. Und bevor wir uns falsch verstehen: Ich nutze WSL jeden Tag zum Arbeiten.

3
FaTech  10.03.2023, 10:24
@Waldelb3

Und bevor wir uns falsch verstehen😅😉: Ich nutze Linux + WSL und bin mit beidem sehr zufrieden. Ja, man sollte Programme immer auf einem echten System testen, aber es ging ja ums Programmieren und während der Entwicklung (Ausnahme GUI), reicht WSL total aus

0
Waldelb3  10.03.2023, 10:31
@FaTech
während der Entwicklung (Ausnahme GUI), reicht WSL total aus

Dem kann ich einfach nicht zustimmen. Wie gesagt, ich nutze Windows+WSL täglich zum Entwickeln, und es ist einfach ein einziger Krampf, weil nichts richtig funktioniert. Ständig gibt es irgendwelche Probleme, die du mit einer richtigen Distribution nicht hättest. Das fängt mit falschen Zeilenendungen an, geht mit ssh-Problemen und inkompatiblen Schlüsseln weiter, und hört irgendwo mit einer völlig verbuggten GUI auf, wo dein Cursor auf eine Weise durch die Gegen springt, die geeignet wäre, davon Epilepsie zu bekommen, und wo du auf Knöpfe drücken kannst ohne das was passiert. Dazwischen sind natürlich noch riesige Mengen weiterer Bullshit, den man sich auch einfach sparen kann. Von dem Mangel an Integration mit dem restlichen System will ich gar nicht anfangen zu reden. WSL ist mit einer richtigen Distribution überhaupt nicht zu vergleichen, und taugt höchstens als einfache Möglichkeit ein paar Linux-Werkzeuge zu installieren.

1
FaTech  10.03.2023, 10:39
@Waldelb3

Das kann ja deine Meinung sein, ich selber arbeite aber auch oft damit und kann dem nicht zustimmen

0
Waldelb3  10.03.2023, 10:43
@FaTech

Wofür nutzt du das denn? Um per SSH auf einen Server zu kommen, funktioniert es natürlich.

0
FaTech  10.03.2023, 10:44
@Waldelb3

Wofür brauche ich WSL für SSH? Die normale Windows CMD kann das auch ... Nein. Ich führe die Programme direkt darin aus als System Ersatz

0
Waldelb3  10.03.2023, 10:45
@FaTech

Also du brauchst WSL, um ein paar CLI-Tools auszuführen? Klar, das geht. Aber ich will jetzt halt beispielsweise ein Java- oder C++-Programm schreiben. Da hört es dann irgendwie auf.

0
FaTech  10.03.2023, 10:49
@Waldelb3

Nein. Ich schreibe ein C# Programm und führe das aus. Klappt wunderbar. So, wie auch im "echten" Linux

0
Waldelb3  10.03.2023, 10:52
@FaTech

C# ist halt auch von Microsoft. Mag sein, dass das eine Ausnahme ist.

0
FaTech  10.03.2023, 10:54
@Waldelb3

Nein. Das hat damit nichts zu tun ... Python habe ich auch schon verwendet und das ist nicht von Microsoft

0
Waldelb3  10.03.2023, 10:58
@FaTech

Es kommt halt auch drauf an, was genau du machen willst. Ein Skript, das nicht mit dem Rest vom System interagieren soll, kann ich auch in WSL schreiben und dann ausführen. Da merkt man den Unterschied nicht. Ist halt im Endeffekt eine Linux-VM. Mein Problem mit WSL ist die Integration in Windows. Das ist die Stelle, wo plötzlich alles verbuggt ist.

1
Waldelb3  10.03.2023, 10:59
@FaTech

Also ich will beispielsweise einen SSH-Schlüssel in WSL generieren, und den dann in Eclipse nutzen. Geht nicht. Eclipse sieht den nicht, weil der irgendwo in WSL liegt. Und selbst, wenn ich den an die richtige Stelle in Windows kopiere, geht es immer noch nicht.

0
FaTech  10.03.2023, 11:04
@Waldelb3

Naja, ok, aber das könnte daran liegen, dass Eclipse Windows benutzt und der Key von Linux kommt. Das ist doch nicht wirklich die WSL schuld oder?

0
Waldelb3  10.03.2023, 11:08
@FaTech

Es geht mir nicht darum, wer "Schuld" ist, sondern es geht mir darum, dass das ein kompletter Krampf ist, das zu benutzen.

Also ich klone (mit dem Schlüssel, den ich mir in WSL erstellt habe) ein repo von git. Auf das Repo kann ich mit Eclipse nicht zugreifen, weil der Ordner in meinem Home-Directory in WSL ist. Also kopiere ich den Ordner irgendwo nach C://. Jetzt importiere ich das Projekt mit Eclipse. Geht nicht, weil Eclipse keinen Zugriff auf meinen SSH-Key hat.

Also generiere ich mir einen zweiten Key mit Putty. Den muss ich natürlich manuell nochmal in Git hinzufügen, und ich muss Eclipse manuell konfigurieren, dass es den nutzt (In Linux würde das automatisch gehen). Jetzt kann ich aber endlich mein Repo importieren.

Ich drücke ein paar Knöpfe, und will jetzt mit WSL nochmal schauen, was verändert wurde. Ich mache also einen git-diff. Der zeigt mir jede einzelne einzelne Zeile in jeder Datei an, weil überall die Zeilenenden verändert wurden.

Völlig unbrauchbar.

1
Waldelb3  10.03.2023, 11:11
@FaTech

Ach ja, hätte ich fast vergessen: Alle Dateien im Repo haben jetzt auch 777 Permissions. Wenn ich jetzt damit was baue, und das irgendwo auf einen Server packe, muss ich die Permissions manuell ändern. Da kommt richtig Freude auf.

1
FaTech  10.03.2023, 11:14
@Waldelb3

Hmm ... Naja, gut. Das kann ich so nicht nachvollziehen, da ich nicht WSL für genau diesen Einsatz verwende. Wenn ich mit Git arbeite, dann nutze ich die Windows CMD. Genauso für SSH und andere Dinge. Ich sehe den Sinn nicht, dass man dafür die Linux CMD benutzt, wenn Windows das auch kann

0
Waldelb3  10.03.2023, 11:18
@FaTech

Der Sinn ist, dass ich in WSL alles zusammen habe, und tools viel einfacher zu installieren sind. Ich habe da zsh, was um Größenordnungen besser als CMD ist, ich habe eine vernünftige History, ich habe fzf, vim, bat, ssh, ich kann mir da meine Keys generieren, etc. Wenn ich mir Dateien anschaue, habe ich code-highlighting, egal welche Datei, egal womit, etc. Ich kann grep nutzen, und so weiter. Es ist halt ein kleines bisschen so, als ob man Linux nutzen würde. Mit dem kleinen Problem, dass, sobald ich mit dem Rest des Systems interagiere, nichts so funktioniert, wie es funktionieren sollte.

0
Waldelb3  10.03.2023, 11:27
@FaTech

Klar könnte ich auch die anderen Windows-Tools nutzen. Aber dann nutze ich eben wieder Windows. Da brauche ich für jeden Scheiß ein eigenes Programm mit eigener GUI, muss anfangen den Pfad manuell für alles mögliche anzupassen, habe keine vernünftigen Logs, muss mich manuell durch Installer und irgendwelche Updates klicken, etc. Das macht die Sache halt auch nicht besser.

Im Endeffekt brauche ich auf Windows regelmäßig mehrere Stunden für etwas, was in Linux in wenigen Sekunden möglich wäre. Ein mal habe ich sogar mehrere Tage gebraucht.

0
FaTech  10.03.2023, 11:30
@Waldelb3

Klingt für mich so, als kannst du einen Dualboot gebrauchen ...

0
Waldelb3  10.03.2023, 11:31
@FaTech

Ich nutze privat ausschließlich Linux, da brauche ich auch kein Dual-Boot. Aber mein Chef will halt, dass ich auf der Arbeit Windows nutze, also nutze ich da Windows.

0
FaTech  10.03.2023, 11:34
@Waldelb3

Ja gut. Das ist doof ... Aber sonst installiere dir eine richtige VM 🤔

0
FaTech  10.03.2023, 11:43
@Waldelb3

Naja, gut. Dann keine Chance. Dann musst du damit leben. Ich glaube auch, dass WSL nicht dafür gemacht ist, wie du es benutzt ... Dadurch hast du dann auch diese Probleme. Aber allgemein für die Frage zum Programmieren, eignet sich die WSL gut. Man nutzt die ja dann eher zum testen

0
Waldelb3  10.03.2023, 12:36
@FaTech

Mein Anwendungsfall ist Programmieren. Das ist ja gerade das, wo ich denke, dass es sich nicht gut eignet.

0
FaTech  10.03.2023, 12:41
@Waldelb3

Naja, ich würde es eher unter Systemübergreifende Verwendung einstufen. Mit dem Programmieren an sich hat es ja erstmal nichts zu tun

0
Waldelb3  10.03.2023, 12:45
@FaTech

Hä? Mein Ziel ist es, ein Programm zu schreiben. Und mein Fazit ist, dass sich Windows (auch mit WSL) dafür nicht so gut eignet wie Linux.

0
FaTech  10.03.2023, 12:49
@Waldelb3

Aber es eignet sich dafür. Du willst es nur nicht auf Windows-Art benutzen und deshalb die Probleme. Das ist ein Unterschied 🤔

0
Waldelb3  10.03.2023, 15:06
@FaTech

Ich habe halt auch Probleme, wenn ich es auf Windows-Art benutze. Damit werden die Probleme eigentlich nur noch schlimmer. Probiere mal, eine Bibliothek zu compilieren und zu installieren. Damit bist du deutlich länger beschäftigt, als einfach kurz apt install (bzw. pacman -S oder was auch immer), oder im schlimmsten Fall make && make install zu tippen.

0
FaTech  10.03.2023, 15:09
@Waldelb3

Hmmm ... Wenn ich Open Source Software nutzen will, dann tu ich das nicht Blind, sondern schaue mir den Code auch an. Wenn ich das tu, habe ich sowieso eine IDE und damit kann ich dann auch mal eben kompillieren

0
Waldelb3  10.03.2023, 18:01
@FaTech

Eine IDE habe ich auch. Mein Punkt ist, dass das einrichten vor dem Compilieren deutlich länger dauert, als einfach ein Paket zu installieren, oder make zu nutzen. Da musst du dich erstmal durch irgendwelche dummen Menüs klicken. Und funktionieren tut das danach auch nur, wenn du Glück hast. Und wenn es nicht funktioniert, kannst du dich mit nichtssagenden Fehlermeldungen rumschlagen. Fehlermeldungen bei Windows sind sowieso der größte Witz überhaupt.

0
FaTech  10.03.2023, 19:45
@Waldelb3

Naja, da kann ich nicht mitreden. In C# starte ich das Projekt, Stelle die Bibliotheken wieder her und drücke bauen... Wenn die Open source software gut ist, lässt sie sich auch direkt bauen. Wenn nicht, wurde nicht alles bereitgestellt, um möglicherweise Dinge von der closed source version zu verstecken

0
Waldelb3  10.03.2023, 20:04
@FaTech

Das Problem ist, dass die meisten FOSS bibliotheken nicht für Windows geschrieben werden. Da compiliert das halt nicht immer direkt. Davon abgesehen kannst du mir nicht erzählen, dass ein Paketmanager nicht die einfachere Option ist.

0

Die folgenden gängigen sind zu empfehlen.

  1. Linux: Linux ist ein kostenloses und quelloffenes Betriebssystem. Es bietet viele Tools, Bibliotheken und Compiler, die für Programmierungszwecke verwendet werden können. Es ist auch leicht anpassbar und stabil.
  2. MacOS: MacOS ist ein proprietäres Betriebssystem von Apple, das auf UNIX basiert, da es eine benutzerfreundliche Oberfläche, eine integrierte Terminalanwendung und viele Entwicklertools bietet.
  3. Windows: Windows ist ein weit verbreitetes Betriebssystem, weil es eine breite Drittanbieter-Software unterstützt.

Wählen nach deinen Wünschen

Woher ich das weiß:Studium / Ausbildung