Warum Linux meine IDE ist

Indeks
  1. Ein Fenster für einen Job
  2. Mein Workflow ist besser für separate Apps geeignet
  3. Ich kann Apps wechseln, wann immer ich möchte
  4. Ich kann meine eigenen Werkzeuge wählen
  5. Ich Bevorzuge Multitasking Mit Mehreren Programmen

Dieser Text beschreibt, wie man in einer Linux-Umgebung programmieren kann, ohne auf integrierte Entwicklungsumgebungen (IDEs) angewiesen zu sein, und betont die Vorteile flexibler Werkzeugauswahl und Multitasking.

Man kann auch ohne Programmierwerkzeuge programmieren, und integrierte Entwicklungsumgebungen (IDEs) sind bei Entwicklern sehr beliebt. Ich gehe einen anderen Weg. Ich betrachte mein Linux-System mit seiner Vielzahl an Programmierwerkzeugen als eine IDE für sich.

Ein Fenster für einen Job

IDEs sind bei Entwicklern beliebt, weil sie Zugriff auf alle ihre Werkzeuge bieten, einschließlich eines Editors, eines Interpreters oder Compilers, eines Debuggers und sogar von Dokumentationen. Ich kann verstehen, warum die meisten Entwickler ihre Werkzeuge an einem Ort haben möchten. Ich denke, ich kann ein ähnliches Erlebnis erzielen, indem ich separate Apps in der Linux-Umgebung verwende.

Ich mag die Idee der Unix-Philosophie, dass ein kleines Werkzeug eine Aufgabe gut erledigt. Das in der Praxis zu erreichen, mag nicht einfach sein, aber ich halte es für erstrebenswert.

Es ist bemerkenswert, dass IDEs hauptsächlich auf nicht-Linux- oder Unix-Plattformen, insbesondere Windows, floriert haben. Windows hat weniger Befehlszeilenwerkzeuge verwendet, und das Starten von Prozessen ist ressourcenintensiv, was einen Anreiz schafft, größere Programme zu bevorzugen, die mehr leisten, einschließlich umfangreicherer Entwicklungssysteme.

Der traditionelle Unix-Ansatz mit separaten Programmen funktioniert gut für mich. Ich kann ein Shell-Fenster verwenden, um Vim auszuführen, ein weiteres, um das Programm zu testen, und eines, um Datei-Manipulationsprogramme auszuführen. So erhalte ich den Effekt einer IDE mit agilen, kleineren Programmen anstelle eines großen.

Wenn ich eine andere Aufgabe erledigen muss, kann ich einfach ein weiteres Terminalfenster öffnen und es ohne Unterbrechung ausführen.

Mein Workflow ist besser für separate Apps geeignet

Ich werde der Erste sein, der zugeben wird, dass ich kein professioneller Programmierer bin. Programmierung ist nicht meine Berufung, sondern ein spaßiges und anregendes Hobby. Während IDEs für Profi-Entwickler geeignet sind, unterscheidet sich meine Nutzung von vielen anderen "echten" Programmierern.

Python ist meine bevorzugte Programmiersprache, und ich neige dazu, kleinere Skripte zu schreiben oder interaktives Python zu verwenden. Das bedeutet entweder den Standard-Interpreter oder IPython. Ich bin eine dieser Personen, die Python als Taschenrechner benutzen. Ich brauche nicht eine ganze IDE zu starten, nur um einige Rechenoperationen durchzuführen.

Eine meiner Hauptanwendungen für Python ist Statistik und Datenanalyse. Ich benutze hauptsächlich interaktives Python, insbesondere das IPython, das ich mit meinem Mamba-Umfeld eingerichtet habe. Ich sehe mir auch die Dokumentation an, entweder innerhalb von IPython oder im Internet. Wenn ich eine Aufzeichnung dessen, was ich mache, möchte, um sie später zu teilen, öffne ich ein Jupyter-Notebook. Da ich hauptsächlich interaktiv arbeite, brauche ich nicht viel für Debugger. Ich kann normalerweise Fehlermeldungen sofort beheben.

Die Verwendung einer IDE würde bedeuten, Komponenten zu installieren, die ich nicht benutze. Ein Debugger wäre für das, was ich mache, größtenteils verschwendet. Und so wäre auch eine vollumfängliche IDE.

Ich kann Apps wechseln, wann immer ich möchte

Viele Entwickler preisen die integrierten Entwicklungsumgebungen, weil sie, nun ja, integriert sind, einschließlich essenzieller Werkzeuge wie Editoren, Compiler, Debugger und anderen Dingen wie Lintern und Fehlerprüfern. In Linux kann ich Editoren, Compiler, Debugger, Linter und Fehlerprüfer über meinen Paketmanager installieren.

Ich bin nicht darauf beschränkt, was sich der IDE-Entwickler überlegt hat. Wenn mir der Editor nicht gefällt, kann ich einfach zu einem anderen wechseln. Ich habe mich ziemlich an Vim gewöhnt. Die Tastenanschläge scheinen zumindest auf den Chiclet-Tastaturen, die Laptop-Hersteller heutzutage zu bevorzugen, angenehmer zu sein.

Ein Werkzeug, das ich ausgetauscht habe, war der Python-Interpreter. Der Python-Interpreter ist an sich nützlich, da ich Code-Ideen testen (und ihn als Rechner verwenden) kann, aber IPython ist noch besser, da es Syntaxhervorhebung und einfaches Wiederaufrufen bietet und außerdem die Möglichkeit, Systembefehle direkt aus IPython auszuführen.

Ich konnte auch den Paketmanager selbst durch Mamba austauschen. Mamba ist für Datenanalysen und Data Science optimiert und bietet in vielen Fällen neuere Pakete als der System-Paketmanager und ermöglicht es mir, das System-Python in Ruhe zu lassen.

Eine Standard-IDE würde mir wahrscheinlich nicht diese Art von Flexibilität bieten.

Ich kann meine eigenen Werkzeuge wählen

Wenn man Linux verwendet oder lange genug programmiert, neigt man dazu, Meinungen darüber zu bilden, wie Dinge funktionieren sollten. Eines dieser Dinge, über das viele Leute, einschließlich mir, eine Meinung haben, ist der Texteditor. Ich bevorzuge tendenziell Vim, auch wenn ich eine Zeit lang eine Emacs-Phase hatte, daher habe ich Erfahrung mit beiden großen Editoren.

Der IDE-Ansatz ist immer noch beliebt, selbst in Umgebungen, die nicht als IDEs gelten.

Emacs-Fans führen oft an, dass sie Werkzeuge wie Terminals oder Dateibrowser nutzen können, ohne den Editor verlassen zu müssen. Mich hat dieser Aspekt nie besonders beeindruckt. Das liegt möglicherweise daran, dass ich fast immer Zugang zu grafischen Umgebungen hatte und den Großteil meiner Programmierarbeit auf Plattformen erledigt habe, auf denen das Starten von Prozessen einfach ist.

Emacs wurde ursprünglich für zeichenbasierte Terminals entwickelt. Es war nicht einfach, neue Aufgaben auf diesen Terminals zu starten, weshalb es einen Anreiz gab, ein Programm zu erstellen, in dem man alles benötigte an einem Ort hatte.

Wenn man eine IDE nutzt, ist man oft auf das beschränkt, was die Entwickler für erforderlich hielten. Linux-IDEs sind beliebt, also schätze ich, dass viele Menschen das wollen, was sie bieten. Vielleicht sind meine Bedürfnisse einfach anders als die der anderen. Andere Entwickler können ihre IDEs behalten, aber ich werde glücklich mehrere Programme verwenden.

Ich habe ein gutes Gefühl für die Tools, die ich benutze. Wenn ich zu einem neuen System wechsle, kann ich es schnell einrichten und mich in einer vertrauten Umgebung bewegen.

Ich Bevorzuge Multitasking Mit Mehreren Programmen

Ich denke, ich bevorzuge den Ansatz der "Unix-Philosophie" wenn es um die Entwicklung geht. Das ist eine Folge des Designs von Unix-ähnlichen Betriebssystemen, die das Starten neuer Prozesse einfacher machen. Es ist einfacher in dem Sinne, dass ich ein neues Terminal starten und einen Befehl problemlos ausführen kann. Wenn ich einen Editor möchte, gebe ich einfach Vim ein. Wenn ich eine interaktive Python-Sitzung starten will, starte ich meine Mamba-Umgebung und öffne IPython.

Dies ist eine Konsequenz des Designs von Linux und anderen Unix-ähnlichen Systemen, wie ich früher erwähnt habe. Linux startet Prozesse leicht, während dies unter Windows typischerweise ein ressourcenintensiverer Prozess war. Wenn du dein Programm in einem solchen System gestartet hast, sind Threads hinsichtlich der Leistung weniger kostspielig. Das ist der Grund, warum es einen Drang gibt, mehr Funktionalität in ein größeres Programm zu packen, als den traditionellen Unix-Ansatz von einem Programm, das eine Aufgabe erledigt.

Das einzige Problem war die Benutzeroberfläche. Obwohl Unix für Multitasking konzipiert wurde, war es umständlich, zwischen Aufgaben zu wechseln. Jobkontrolle und virtuelle Konsolen halfen, dieses Problem zu lösen, aber erst mit der Verfügbarkeit von Fenstersystemen, die auf Arbeitsstationen und grafischen Terminals liefen, wurde der Ansatz, mehrere Programme in einzelnen Fenstern auszuführen, praktikabel. Alternativ können Terminal-Multiplexer einen ziemlich guten Job machen, insbesondere bei Remote-Verbindungen.

Mit der Verfügbarkeit mehrerer Terminalfenster, tabbed Terminals und Terminal-Multiplexer kann ich diese leichte Art der Entwicklung voll ausnutzen. Ich kann meine interaktive Python-Sitzung in einem Fenster für Experimente ausführen, ein Jupyter-Notebook in meinem Browser und einen Editor in einem anderen Fenster.

Die Verwendung mehrerer Apps unter Linux mag weniger "integriert" sein, aber dieser Ansatz funktioniert für mich ohne den Overhead einer vollwertigen IDE. Ich denke, mein Aufwand zahlt sich in einer leichten Programmierumgebung aus, auf die ich mich verlassen kann.

Bist du neugierig auf weitere Artikel wie Warum Linux meine IDE ist? Entdecke spannende Inhalte in der Kategorie Linux.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up