Warum Linux meine IDE ist

Programmieren unter Linux ohne IDE bietet Flexibilität und Effizienz durch separate, spezialisierte Werkzeuge. Der Unix-Ansatz ermöglicht eine leichte Handhabung und individuelles Multitasking.
Man kann auch ohne Programmierwerkzeuge programmieren, und integrierte Entwicklungsumgebungen (IDEs) sind bei Entwicklern beliebt. Ich gehe einen anderen Weg. Ich betrachte mein Linux-System mit seiner Vielzahl an Programmierwerkzeugen als IDE an sich.
Ein Fenster für einen Job
Ich will keine Alleskönner-Entwicklungsapp
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 Dokumentation. Ich verstehe, warum die meisten Entwickler ihre Werkzeuge an einem Ort haben möchten. Ich glaube, 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. Es mag in der Praxis nicht einfach sein, aber ich denke, dass es etwas ist, für das es sich zu streben lohnt.
Es ist bezeichnend, dass sich IDEs hauptsächlich auf Nicht-Linux- oder Unix-Plattformen, insbesondere Windows, etabliert haben. Windows hat weniger Gebrauch von Kommandozeilenwerkzeugen gemacht, 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 Terminalfenster mit Vim laufen lassen, ein anderes, um das Programm zu testen, und noch ein weiteres, um Datei-Manipulationsprogramme auszuführen. Ich kann den Effekt einer IDE mit wendigeren, kleineren Programmen erzielen, anstatt mit einem großen.
Wenn ich eine andere Aufgabe ausführen muss, kann ich einfach ein weiteres Terminalfenster öffnen und es ohne Unterbrechung starten.
Mein Workflow ist besser geeignet für separate Apps
Halte Dinge in Abteilen
Ich werde der erste sein, der zugibt, dass ich kein professioneller Programmierer bin. Programmieren ist nicht mein Beruf, aber es ist ein Spaß und anregendes Hobby. Während IDEs für professionelle Entwickler geeignet sind, ist meine Nutzung anders als die vieler anderer "echter" Programmierer.
Python ist meine bevorzugte Sprache, und ich tendiere dazu, kleinere Skripte zu schreiben oder interaktives Python zu verwenden. Das bedeutet entweder den Standard-Interpreteur oder IPython. Ich bin einer dieser Menschen, die Python als ihren Tischrechner verwenden. Ich muss nicht eine ganze IDE starten, nur um ein bisschen Mathematik zu machen.
Eines meiner Hauptanwendungsbereiche für Python ist Statistik und Datenanalyse. Ich verwende hauptsächlich interaktives Python, insbesondere das IPython, das ich mit meiner Mamba-Umgebung eingerichtet habe. Ich schaue auch in die Dokumentation, entweder innerhalb von IPython oder im Internet. Wenn ich einen Überblick darüber möchte, was ich tue, um es später zu teilen, öffne ich ein Jupyter-Notebook. Da ich hauptsächlich interaktiv arbeite, benötige ich nicht viel für Debugger. Ich kann in der Regel sofort Fehlermeldungen beheben.
Die Verwendung einer IDE würde bedeuten, Komponenten zu installieren, die ich nicht benutze. Ein Debugger wäre größtenteils verschwendet für das, was ich tue. Und so wäre eine vollwertige IDE.
Ich kann Apps austauschen, wann immer ich will
Ich werde mich nie gefangen fühlen
Viele Entwickler preisen die Tatsache, dass integrierte Entwicklungsumgebungen, nun ja, integriert sind, einschließlich wesentlicher Werkzeuge wie Editoren, Compilern, Debuggern 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 der IDE-Entwickler für notwendig hielt. Wenn mir der Editor nicht gefällt, kann ich einfach zu einem anderen wechseln. Ich bin mit Vim ziemlich vertraut. Die Tastenanschläge fühlen sich auf jeden Fall besser an, zumindest auf den Chiclet-Tastaturen, die Laptop-Hersteller heutzutage zu mögen scheinen.
Ein Werkzeug, das ich ausgetauscht habe, ist der Python-Interpreter. Der Python-Interpreter ist eigenständig nützlich, da ich Code-Ideen testen kann (und ihn als Rechner verwenden kann), aber IPython ist noch besser, da es Syntax-Hervorhebung und einfache Rückruffunktion sowie die Möglichkeit bietet, Systembefehle direkt von IPython auszuführen.
Ich konnte auch den Paketmanager selbst auf Mamba umstellen. Mamba ist für Datenanalyse und Datenwissenschaft optimiert und bietet in vielen Fällen neuere Pakete als der Systempaketmanager, wodurch ich das System-Python unberührt lassen kann.
Eine Standard-IDE würde mir wahrscheinlich nicht diese Art von Flexibilität bieten.
Meine Zukunft liegt in meinen Händen
Wenn man Linux verwendet oder lange genug programmiert, neigt man dazu, Meinungen darüber zu bilden, wie die Dinge funktionieren sollten. Eine dieser Dinge, über die viele Leute, einschließlich mir, Meinungen haben, ist der Texteditor. Ich bevorzuge tendenziell Vim, auch wenn ich gegangen bin.
Ich habe eine Zeit lang eine Emacs-Phase durchgemacht, daher habe ich Erfahrung mit beiden Haupt-Editoren.
Der Ansatz eines IDE ist nach wie vor beliebt, sogar in Umgebungen, die nicht als IDEs gelten. Emacs-Fans betonen oft, wie sie Werkzeuge wie Terminals oder Datei-Browser nutzen können, ohne den Editor zu verlassen. Mich hat dieser Aspekt nie besonders beeindruckt. Vielleicht liegt es daran, dass ich fast immer Zugang zu Fenstersystemen hatte und die meiste Zeit meiner Programmierarbeiten auf Plattformen ausgeführt habe, bei 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 entwickeln, in dem man alles Nötige an einem Ort hatte.
Wenn Sie ein IDE verwenden, sind Sie oft auf das beschränkt, was die Entwickler gedacht haben, dass Sie wollen. Linux-IDs sind beliebt, daher nehme ich an, dass viele Menschen das, was sie anbieten, möchten. Vielleicht sind meine Bedürfnisse einfach anders als die anderer Leute. Andere Entwickler können ihre IDEs behalten, aber ich werde glücklich mehrere Programme nutzen.
Ich habe ein gewisses Gefühl für die Werkzeuge entwickelt, die ich benutze. Wenn ich zu einem neuen System wechsle, kann ich es schnell einrichten und bin in einer vertrauten Umgebung.
Ich bevorzuge Multitasking mit mehreren Programmen
Schwebe wie eine Schmetterling
Ich glaube, ich bevorzuge den Ansatz der "Unix-Philosophie", wenn es um die Entwicklung geht. Dies ist eine Folge des Designs von Unix-ähnlichen Betriebssystemen, die das Starten neuer Prozesse erleichtern. Es ist einfacher, da ich ein neues Terminal öffnen und einen Befehl leicht ausführen kann. Wenn ich einen Editor möchte, starte ich einfach Vim. Wenn ich eine interaktive Python-Sitzung starten möchte, aktiviere ich meine Mamba-Umgebung und öffne IPython.
Dies ist eine Konsequenz des Designs von Linux und anderen Unix-ähnlichen Systemen, wie ich bereits erwähnt habe. Linux startet Prozesse einfach, während dies unter Windows typischerweise ein ressourcenintensiverer Prozess war. Sobald Sie Ihr Programm in einem solchen System gestartet haben, sind Threads in Bezug auf die Leistung weniger kostenintensiv. Dies ist der Grund, warum der Anreiz besteht, mehr Funktionalität in ein größeres Programm zu packen als beim traditionellen Unix-Ansatz, der ein Programm hat, das eine Aufgabe erledigt.
Das einzige Problem war die Benutzeroberfläche. Obwohl Unix für Multitasking entwickelt wurde, war es umständlich, zwischen Aufgaben zu wechseln. Die Jobkontrolle und virtuelle Konsolen halfen, dieses Problem zu lösen, aber es war mit der Verfügbarkeit von Fenstersystemen, die auf Workstations und grafischen Terminals liefen, dass der Ansatz, mehrere Programme in einzelnen Fenstern auszuführen, praktikabel wurde. Alternativ können Terminal-Multiplexer einen ziemlich guten Job machen, besonders bei Remote-Verbindungen.
Mit der Verfügbarkeit mehrerer Terminalfenster, tabbed Terminals und Terminal-Multiplexern kann ich diesen leichtgewichtigen Entwicklungsstil voll ausschöpfen. 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.
Entwicklung auf meine Art
Die Verwendung mehrerer Apps unter Linux mag weniger "integriert" sein, aber dieser Ansatz funktioniert für mich ohne den Overhead eines vollwertigen IDE. Ich denke, meine Mühe zahlt sich in einer leichtgewichtigen 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