Warum Windows für mich das optimale OS zum programmieren ist…

windows

In diesem Beitrag gehe ich darauf ein, warum ich als Softwareentwickler Windows zum programmieren verwende. Softwareentwickler nutzen doch eigentlich Linux oder OSX oder nicht? Windows für Softwareentwicklung ist gar nicht so schlecht wie dessen Ruf. Wie man sein Windows OS zum programmieren optimiert, und welche Tools ich verwende, beschreibe ich in diesem Artikel. Unabhängig davon ob Ihr Web, Mobile oder Desktop Entwickler seid, spricht vieles für Windows als Betriebssystem. Und bevor die Frage kommt – Nein ich werde nicht von Microsoft bezahlt 😉

Werbung

Dieser Artikel beinhaltet URLs zu Hardware. Die Hardware Spezifikation ziehe ich nur als Vergleich heran. Es handelt sich dabei NICHT um Affiliate Links

– Griep Marco
Werbung

Programmieren auf Windows? Warum sollte ich das wollen?

Seit Jahrzehnten tobt im Internet auf Foren und IRCs eine Schlacht der Betriebssysteme.

„Echte Programmierer“ müssen einfach Linux verwenden, sonst sind Sie keine echten Programmierer. Sie arbeiten im Webdesign / Webentwicklung oder Mobile Bereich? Na dann brauchen Sie zwangsläufig OSX! Das scheinen zumindest die Meinungen aus dem Internet zu sein.

Welches OS zum programmieren ist das beste? Welche Programmiersprache ist besser? Ihr findet viele unterschiedliche Meinungen und alle haben Ihre Daseinsberechtigung.

Meiner Meinung nach solltet Ihr das OS zum programmieren verwenden mit dem Ihr:

  1. Euer Geld verdient
  2. Ihr am wenigsten Arbeitsunterbrechungen / Ablenkungen habt
  3. Euer Workflow am schnellsten ist (Schneller Zugriff auf Applikationen, Kenntnis von Shortcuts etc.)
  4. Ihr Zugriff auf die notwendigen Applikationen habt um die Aufgabe umzusetzen bzw. Eure Applikation vom Betriebssystem unterstützt wird.
  5. Ihr es vermeiden könnt eine VM oder Dualboot nutzen zu müssen um (Teil-) Aufgaben durchführen zu können.
  6. Zu Eurem Budget passt

Warum kein Linux OS zum programmieren?

Ich selbst liebe Linux als Betriebssystem und nutze es bevorzugt auf Servern und schwächerer Hardware. Ich habe auch immer wieder in der Vergangenheit diverse Distributionen wie Manjaro, Ubuntu, ElementaryOS etc. als Haupt Betriebssystem versucht zu verwenden. Jedoch kam ich meistens an einen Punkt wo ich dann entweder einen Dualboot oder eine Windows VM benötigt habe. Somit war ich oft gezwungen 2 Systeme zu pflegen (Updaten etc.). Das kostet massig Zeit und hält mich von meiner eigentlichen Arbeit ab. Wenn ich meinen Rechner neustarten muss, nur um für 15 Minuten eine Aufgabe in Windows zu machen.

Warum kein OSX?

Da .Net Core mittlerweile auch super auf OSX läuft und hier diverse proprietäre Applikationen wie Affinity Photo und Davinci Resolve gibt, ist mir schon öfters der Gedanke gekommen, auf OSX zu wechseln. Spätestens jedoch mit WPF Anwendungen brauche ich dann wieder eine VM mit Windows als OS zum programmieren. Am besten sogar eine Parallels Lizenz. Die Apple Hardware ist meines Erachtens viel zu überteuert und da ich noch mehrere hundert Euro drauf legen müsste um an Software Lizenzen zu kommen, ist mir das zu kostspielig. Noch dazu kommt die Umgewöhnungszeit an das Betriebssystem. Zeit die mir für meine Projekte fehlt. Zeit die ich nie wieder bekomme.

An alle Apple Fans: Ja die Hardware ist sehr gut, aber es gibt auch andere Geräte wie das Dell XPS oder Huawei Matebook Pro X welche in gleicher Ausstattung (i7, 256 GB, 8 GB RAM) gut 800 Euro billiger sind. Für 800 Euro bekomme ich direkt das nachfolge Notebook oder einen anständigen Desktop Rechner dazu – oder ein NAS von QNAP – oder 10 Jahre Office 365 Home Lizenz. Nur das Betriebssystem OSX ist mir der Aufpreis nicht Wert.

Viele Argumentieren mit dem Wiederverkaufswert der Apple Produkte. Ja, ich kann mein Apple Gerät teurer wieder verkaufen als Windows Hardware. Das liegt aber nicht an der Hardware Qualität selbst, sondern an der Verknappung von Apple. Es gibt einfach viel mehr Auswahl an Windows Hardware als an Apple Hardware. Noch dazu kommt das Apple einfach nur Hype ist (Meiner Meinung nach).

Für mich ist der Wiederverkaufswert kein Argument, sondern ein Trostpflaster.

– Griep Marco

Ich bezahle für eine Hardware mit der ich arbeiten könnte bei Apple locker 1899 Euro für einen i5 Prozessor und müsste dann auch noch Adapter verwenden um eine SD Karte einzuschieben. Das Upgrade von 8 GB auf 16 GB RAM kostet sage und schreibe 200 Dollar. Von 256 auf 512 GB Festplatte kostet nochmal 200 Dollar extra. Also bitte…. Das ist schon lachhaft! Im Vergleich zu dieser Hardware gibt es das Huawei Matebook Pro X. Hier hab ich ein 4K Display, einen i7 der 8.Generation eingebaut 16 GB RAM und 512 GB SSD verbaut und bekomme das Gerät für 1500 Euro. Also bessere Hardware (Prozessor) für weniger Geld. Verzichte auf das 4K Display und gebe mich mit 2K zufrieden, bekomm ich von Huawei das Matebook (Ohne Pro X) für 1000 Euro, besserem Prozessor als bei Apple, und genauso viel RAM und SSD Platz wie beim Apple Gerät für 1899 Dollar

Ich kann stand heute nicht mit einem Wiederverkauf der Hardware Rechnen, da ich nicht weiß was in 5 Jahren ist, wenn ich das Gerät verkaufen möchte. Habe ich das Gerät noch? Wurde es vielleicht geklaut? Gibt es einen vielleicht einen Defekt? Das einzige mit dem ich finanziell Rechnen kann, ist der Anschaffungspreis und nicht den eventuellen Wiederverkaufspreis. Letztendlich kauf ich mir lieber eine Hardware und nutze die 3 Jahre für 800 Euro und kaufe mir danach ein weiteres Gerät für das gleiche Geld für weitere 3 Jahre, als auf meinem Macbook 5 Jahre zu sitzen und veraltete Hardware zu verwenden. Mit einem installierten Linux kann ich die Lebensdauer auch auf 5 Jahre und noch länger für ein Notebook strecken – wie ich es aktuell mit meinem Dell Inspiron mache. Die Hardware sollte ein Werkzeug sein, und kein Prestige-Objekt.

Da es für Windows 10 mittlerweile die WSL gibt, habe ich alle Vorteile von Unix-basierten Systemen und die Kompatibilität und Hardware Auswahl von Windows. Somit habe ich alle Vorteile von einem Unix System, und kann die ganze Vielfalt von Hardware auf dem Markt nutzen. Ebenso gibt es alle Programme welche ich brauche auch für Windows.

– Griep Marco

Wie mache ich aus meinem Windows zur optimalen DevOps Kiste?

Die WSL bietet mir zum einen den Vorteil, dass ich keine VM oder Dualboot mehr benötige, was massig Ressourcen spart. Ebenso kann ich sowohl das Windows Dateisystem (Laufwerk C etc.) nutzen, wie auch das Linux Dateisystem (Zum Beispiel Zugriff auf /var/www). Beide Systeme arbeiten nahtlos miteinander. Wenn ich mir den Gnome Desktop installieren, kann ich sogar beide Desktops verwenden, den von Windows und den von Linux. Mit der WSL stehen mir alle Möglichkeiten von Linux zur Verfügung. Ich kann das Terminal und all seine Funktionen verwenden. Tmux ist nun auch unter Windows zu verwenden. Ebenso gibt es alle Developer Tools wie NodeJS und Composer direkt im Terminal zu verwenden. Die Tools gab es zwar bisher auch unter Windows, jedoch hatte man hier oft Probleme mit der Dokumentation und beim nachlesen von Tutorials, da sich diese meistens auf Unix beziehen. Für SSH brauche ich keinen eigenen Client mehr und kann mir mit apt-get alle möglichen Erweiterungen installieren.

Werbung

Welche Tools ich unter Windows OS zum programmieren nutze

Betriebssysteme

  • Windows 10 Pro: Desktop Rechner – Programmierung, Multimedia Bearbeitung
  • Ubuntu Linux 19.04: Dell Inspiron 5000 Series aus 2012 – Programmierung (Wenn ich unterwegs bin)

IDEs

  • Visual Studio Community 2019 für Windows Applikationen und Tools mit Grafischer Oberfläche
  • Android Studio für native Mobile Apps (Android)
  • VS Code: Webanwendungen, Ionic Apps, Websites, CSS, Scripting etc.

Programmier-Tools

  • NodeJS & NPM: Angular, Ionic Anwendungen
  • Composer: Für Laravel / Lumen Anwendungen
  • dotnet: Für .Net Core Anwendungen
  • Less: CSS Dateien reduzieren

Container / Virtuelle Umgebungen

  • Docker: Bereitstellung von Container für meine Webapplikationen
  • Vagrant zur automatisierten Bereitsstellung von Virtuellen Maschinen wie Laravel Homestead mit Hyper-V
  • Hyper-V: Zur Virtualisierung

Produktivität

  • TMux in WSL: Linux Terminal mit mehreren Fenstern.
  • Momentum: Chrome Plugin beim Browser start. Ziel für heutigen Tag setzen. Fokussiert bleiben
  • Git: Versionsverwaltung
  • Github Desktop: GUI für Git. Meistens nutze ich aber git aus VS Code
  • Google Drive: Für Dokumente abzulegen. Durch Volltext Suche verwendbar wie ein Dokument Management System
  • Wox: Schnellzugriff auf Anwendungen. Spotlight Klon für Windows
  • Filezilla: FTP Upload
  • 1Password: Passwort Verwaltung

Automatisierung

  • Chocolatey: Automatische Installation aller Anwendungen, Updaten von Anwendungen.
  • Powershell: Backup von VPS Server automatisiert downloaden und auf NAS ablegen. Diverse Automatisierungsaufgaben.
  • Python: Für Bots wie zum Beispiel online Preise überwachen etc.

Game Development

  • Godot Engine: 2D Mobile & PC Games
  • Unity Engine: 3D Games
  • RPG Maker MV: RPG Games
  • Blender: 3D Modellierung

Videoschnitt / Bearbeitung

  • Davinci Resolve: Videoschnitt und Color Grading

Foto- / Grafikbearbeitung

  • Affinity Photo: HDR Bilder, RAW Entwicklung, Foto Retusche
  • Gimp: Foto Retusche, Pixel Art
  • Affinity Designer: Vektor Grafiken, Mockups
  • Inkscape: Vektor Grafiken

Audio Bearbeitung

  • FL Studio: Komponieren und Audio bearbeiten

Schreibe einen Kommentar

Datenschutzbestimmungen akzeptieren