Geschichte trifft auf Aktualität: Die Reise der Texteditoren

  • Esono Redaktion
  • 06.10.2024

Einleitung: Editoren - mehr als Mittel zum Zweck

In der Welt der Softwareentwicklung sind Werkzeuge nicht nur Mittel zum Zweck, sondern oft auch Ausdruck der Persönlichkeit und Philosophie eines Entwicklers. Texteditoren sind hierbei keine Ausnahme. Sie sind das tägliche Brot eines jeden Programmierers und können den Unterschied zwischen einem produktiven Tag und einem frustrierenden Erlebnis ausmachen.

Mit über zwei Jahrzehnten Erfahrung in individueller Softwareentwicklung haben wir als Digitalagentur den Wandel hin zu grafischen IDEs und die vielfältigen Entwicklungen in der Branche hautnah miterlebt. Lassen Sie uns einen kurzen Rückblick auf die Geschichte der Editoren werfen und die neuesten Trends beleuchten.

Geschichte und Entwicklung von Editoren:

Was sind Texteditoren?

Texteditoren sind Softwareanwendungen, die speziell dafür entwickelt wurden, Text zu bearbeiten. Sie sind das Werkzeug der Wahl für Programmierer, Schriftsteller und jeden, der präzise Kontrolle über digitale Textdokumente benötigt.

Grundlagen:

Einfache Textdateien: Im Kern ermöglichen Texteditoren das Erstellen und Bearbeiten von einfachen Textdateien. Diese Dateien enthalten keinen formatierten Text (wie fett oder kursiv) oder eingebettete Medien (wie Bilder oder Videos). Stattdessen konzentrieren sie sich auf reinen, unformatierten Text.

Für Programmierer sind Texteditoren unerlässlich, da sie Code in einer Form schreiben müssen, die von Computern interpretiert oder kompiliert werden kann. Ein gut geschriebenes Skript oder Programm kann dann unabhängig von seinem Editor ausgeführt werden.

Beliebte Texteditoren:

Einfache Editoren: Tools wie TextEdit (für macOS) oder Notepad (für Windows) sind einfache Texteditoren, die in den meisten Betriebssystemen vorinstalliert sind. Sie bieten grundlegende Textbearbeitungsfunktionen und sind ideal für schnelle Notizen oder einfache Textaufgaben.

Fortgeschrittene Editoren:

Es gibt eine Vielzahl von fortgeschrittenen Texteditoren wie Atom, Brackets, Sublime Text und Notepad++. Diese bieten erweiterte Funktionen wie Syntaxhervorhebung, Plugin-Unterstützung und integrierte Entwicklungsumgebungen (IDE-Funktionen). Sie sind besonders nützlich für Entwickler, die spezialisierte Tools für ihre Programmiersprachen benötigen.

Moderne Trends und Gemeinschaftskulturen:

Editor-Krieg: Ein historisches Phänomen, das immer noch in einigen Kreisen diskutiert wird, ist die Rivalität zwischen den Benutzern von Emacs und Vim. Beide Editoren haben tiefe Wurzeln in der Geschichte der Textbearbeitung und haben leidenschaftliche Anhängerschaften. Die Debatte darüber, welcher Editor “besser” ist, hat zu vielen lebhaften Diskussionen in der Entwicklergemeinschaft geführt.

Neue Entwicklungen: In den letzten Jahren haben wir auch das Aufkommen von Cloud-basierten Editoren und IDEs wie Visual Studio Code oder JetBrains’ Web-basierten Tools gesehen. Diese bieten den Vorteil, überall und auf jedem Gerät arbeiten zu können.

Was ist eigentlich Emacs?

Geschichte und Entwicklung von Emacs:

Emacs, was für “Editor MACroS” steht, wurde erstmals in den mittleren 1970er Jahren von Richard Stallman am MIT entwickelt. Ursprünglich als Sammlung von Makros für einen anderen Editor namens TECO konzipiert, entwickelte sich Emacs schnell zu einem eigenständigen Editor. 1976 entwickelte David A Moon eine Version von Emacs, die als die älteste heute existierende Software gilt. Stallman gründete später die Free Software Foundation und veröffentlichte 1985 GNU Emacs, die bekannteste und am weitesten verbreitete Variante von Emacs, als freie Software. Dies trug maßgeblich dazu bei, dass er eine breite und engagierte Benutzerbasis gewann.

Was ist eigentlich Vim?

Geschichte und Entwicklung von Vim:

Vim, was für “Vi Improved” steht, ist ein auf der Befehlszeile basierender Texteditor und gilt als leistungsstarker Nachfolger des alten Unix Vi Texteditors. Der ursprüngliche Vi-Editor wurde 1976 von Billy Joy für das Unix-Betriebssystem entwickelt. Später, im Jahr 1991, verbesserte Bram Moolenaar den Vi-Editor und veröffentlichte ihn als Vim. Seitdem hat sich Vim zu einem der beliebtesten und am weitesten verbreiteten Texteditoren entwickelt, insbesondere unter Systemprogrammierern und Administratoren.

Der Emacs vs. Vim Krieg

Ursprünge und Gründe für die Debatte emacs vs vim:

Die Rivalität zwischen Emacs und Vim, oft als “Editor-Krieg” bezeichnet, hat tiefe Wurzeln in der Hacker- und Freie-Software-Gemeinschaftskultur. Beide Editoren haben ihre eigenen Stärken, Philosophien und Anhängerschaften, und die Debatte darüber, welcher der beiden “besser” ist, hat sich über Jahrzehnte hinweg entwickelt. Einige der Gründe für diese Debatte sind die unterschiedlichen Ansätze zur Textbearbeitung, die Modalität von Vim im Vergleich zur Multifunktionalität von Emacs und die steilen Lernkurven beider Editoren.

Hauptargumente beider Seiten:

Emacs
Multifunktionalität Emacs kann als Texteditor, E-Mail-Client, Kalender und sogar als Webbrowser fungieren. Seine Vielseitigkeit macht es zu einem “One-Stop-Shop” für viele Entwickler.
Erweiterbarkeit Dank seiner in Lisp geschriebenen Kernarchitektur können Benutzer den Editor leicht mit eigenen Funktionen und Erweiterungen anpassen.
Integrierte Entwicklungsumgebung (IDE) Mit den richtigen Paketen kann Emacs zu einer vollwertigen IDE werden, die eine Vielzahl von Programmiersprachen unterstützt.
Vim
Effizienz Die Modalität von Vim ermöglicht eine schnelle und effiziente Textbearbeitung, sobald man sich daran gewöhnt hat.
Leichtgewichtig Vim startet schnell und hat im Vergleich zu Emacs einen geringeren Speicherbedarf.
Ubiquität Vim ist auf fast jedem Unix-System vorinstalliert, was es zu einer praktischen Wahl für viele Entwickler macht, insbesondere für diejenigen, die häufig mit Terminal- oder Shell-Umgebungen arbeiten.

Entwicklung von Editoren: Von Emacs und Vim bis JetBrains und VSCode

Die Entwicklung von Texteditoren und integrierten Entwicklungsumgebungen (IDEs) hat in den letzten Jahrzehnten eine bemerkenswerte Evolution durchlaufen. Hier ist eine kurze Übersicht über diese Entwicklung:

1970er und 1980er: Die Anfänge

  • Emacs: Entwickelt in den mittleren 1970er Jahren von Richard Stallman, war Emacs einer der ersten erweiterbaren und anpassbaren Texteditoren. Es wurde als Plattform konzipiert, die weit über das einfache Texteditieren hinausgeht.
  • Vim: Ursprünglich als Vi in den 1970er Jahren entwickelt, wurde Vim (Vi Improved) in den 1990er Jahren als verbesserte Version eingeführt. Es bot eine effiziente, modale Textbearbeitung, die besonders bei Systemadministratoren und Programmierern beliebt war.

1990er und 2000er: Aufstieg der grafischen IDEs

  • Während Emacs und Vim weiterhin populär waren, sahen diese Jahrzehnte den Aufstieg von grafischen IDEs. Tools wie Microsoft’s Visual Studio, Eclipse und die JetBrains-Serie von IDEs (z.B. IntelliJ IDEA) wurden eingeführt. Diese IDEs boten eine reiche grafische Benutzeroberfläche, integrierte Debugging-Tools, Versionskontrolle und viele andere Funktionen, die die Softwareentwicklung effizienter machten.

2010er: Hybrid-Editoren und die Rückkehr zur Einfachheit

  • Visual Studio Code (VSCode): Eingeführt von Microsoft, kombiniert VSCode die Einfachheit und Schnelligkeit eines Texteditors mit der Erweiterbarkeit und den Funktionen einer IDE. Es ist leichtgewichtig, aber durch eine Vielzahl von Erweiterungen stark anpassbar.
  • Atom: Entwickelt von GitHub, ist ein weiterer moderner Texteditor, der Erweiterbarkeit und eine moderne Benutzeroberfläche bietet.
  • JetBrains: Während JetBrains bereits in den 2000er Jahren aktiv war, haben sie ihre Palette von IDEs in diesem Jahrzehnt weiter ausgebaut und verfeinert, wobei sie spezialisierte Tools für fast jede Programmiersprache bieten.

Zusammenfassung:

Von den terminalbasierten Anfängen von Emacs und Vim bis zu den modernen, grafikintensiven Umgebungen von JetBrains und VSCode hat sich die Welt der Texteditoren und IDEs erheblich weiterentwickelt. Während die Grundbedürfnisse – das Schreiben und Bearbeiten von Code – im Wesentlichen gleich geblieben sind, haben sich die Tools, die Entwicklern zur Verfügung stehen, in Bezug auf Leistung, Anpassungsfähigkeit und Benutzerfreundlichkeit erheblich weiterentwickelt.

JetBrains und Visual Studio Code im Vergleich zu Vim und Emacs:

Es ist schwierig, direkt zu sagen, dass JetBrains oder VSCode “ein Vim” oder “ein Emacs” sind, da sie in einer anderen Ära der Softwareentwicklung entstanden sind und unterschiedliche Designphilosophien haben. Vim und Emacs stammen aus einer Zeit, in der die meisten Entwicklungsarbeiten in Terminals durchgeführt wurden, während JetBrains und VSCode in einer Zeit entwickelt wurden, in der grafische Benutzeroberflächen die Norm waren/ sind. Doch auch bei JetBrains und VSCode gibt es ähnliche “Lagerbildungen”.

  • JetBrains: Die IDEs von JetBrains, wie IntelliJ IDEA oder PyCharm, sind voll ausgestattete Entwicklungsumgebungen, die speziell für bestimmte Programmiersprachen oder Entwicklungsaufgaben entwickelt wurden. In Bezug auf die Funktionalität und den Umfang ähneln sie eher Emacs, da sie eine Vielzahl von integrierten Tools und Funktionen bieten. Sie sind jedoch nicht so anpassbar wie Emacs.

  • Visual Studio Code (VSCode): VSCode ist ein leichtgewichtiger Code-Editor, der jedoch durch Erweiterungen stark anpassbar ist. In diesem Sinne teilt es Eigenschaften sowohl mit Vim (durch seine Leichtigkeit und Effizienz) als auch mit Emacs (durch seine Erweiterbarkeit). Es ist jedoch wichtig zu beachten, dass VSCode, obwohl er anpassbar ist, nicht die gleiche Tiefe der Anpassung wie Emacs bietet, da er nicht eine komplette Plattform wie Emacs ist.

Was ist der beste Editor zum Programmieren?

Die Frage nach dem “besten” Editor zum Programmieren ist subjektiv und hängt oft von den individuellen Bedürfnissen und Vorlieben des Entwicklers ab. Dennoch gibt es einige objektive Kriterien, die bei der Bewertung von Editoren berücksichtigt werden können. Hier ist eine objektive Betrachtung der Stärken und Schwächen einiger moderner Editoren, gefolgt von Anwendungsbeispielen und Feedback von erfahrenen Entwicklern.

Objektive Betrachtung der Stärken und Schwächen moderner Editoren:

Visual Studio Code (VSCode):

Stärken:

  • Erweiterbarkeit: Eine riesige Bibliothek von Erweiterungen.
  • Leichtgewichtig: Schneller Start und geringer Ressourcenverbrauch.
  • Integrierte Git-Unterstützung: Einfache Versionskontrolle direkt im Editor.
  • Mehrplattformunterstützung: Funktioniert auf Windows, macOS und Linux.

Schwächen:

  • Kann bei sehr großen Dateien oder Projekten langsamer werden.
  • Einige Erweiterungen können Konflikte verursachen oder die Leistung beeinträchtigen.

JetBrains IDEs (z.B. IntelliJ IDEA, PyCharm):

Stärken:

  • Tiefe Code-Analyse: Bietet umfangreiche Refactoring-Tools und Code-Vorschläge.
  • Integrierte Tools: Beinhaltet Debugger, Terminal, Datenbank-Tools und mehr.
  • Spezialisierte Versionen: Für verschiedene Programmiersprachen und Entwicklungsaufgaben.

Schwächen:

  • Tendiert dazu, mehr Systemressourcen zu verbrauchen.
  • Kann teuer sein, insbesondere für kommerzielle Lizenzen.

Feedback und Meinungen:

Viele Entwickler schätzen VSCode für seine Benutzerfreundlichkeit und Erweiterbarkeit. Es wird oft als “das Beste aus beiden Welten” zwischen einem leichten Texteditor und einer vollwertigen IDE beschrieben. JetBrains IDEs erhalten oft Lob für ihre tiefen Code-Analysefunktionen und die Integration von Entwicklungstools.

Emacs und Vim haben beide sehr leidenschaftliche Anhängerschaften. Viele ihrer Benutzer schätzen die Effizienz und Anpassungsfähigkeit, die diese Editoren bieten, obwohl sie zugeben, dass es eine Weile dauert, bis man sie vollständig beherrscht.

Sind Emacs und Vim noch aktuell und werden sie verwendet?

Emacs und Vim sind zwei der ältesten Texteditoren, die immer noch aktiv verwendet werden. Aber sind sie in der modernen Softwareentwicklung, insbesondere unter jungen Entwicklern, noch relevant?

Aktualität von Emacs und Vim:

  • Langjährige Präsenz: Beide Editoren haben eine lange Geschichte und sind seit Jahrzehnten in der Softwareentwicklung präsent. Dies hat zu einer tiefen und reichen Community geführt, die eine Fülle von Ressourcen, Plugins und Erweiterungen bietet.

  • Aktive Entwicklung: Sowohl Emacs als auch Vim werden weiterhin aktiv entwickelt. Vim hat kürzlich Version 8 veröffentlicht, die viele neue Features und Verbesserungen enthält, und Emacs hat auch regelmäßige Updates.

  • Anpassungsfähigkeit: Ein Hauptverkaufsargument für beide Editoren ist ihre hohe Anpassbarkeit. Dies ermöglicht es Entwicklern, ihre Umgebung genau nach ihren Bedürfnissen zu gestalten.

Verwendung durch junge Entwickler:

  • Lernkurve: Ein häufiger Kritikpunkt, insbesondere bei jungen Entwicklern, ist die steile Lernkurve von Vim und in geringerem Maße von Emacs. Während moderne Editoren und IDEs oft “out of the box” funktionieren, erfordern Vim und Emacs oft eine gewisse Einrichtung und Anpassung.

  • Popularität in der Ausildung: Einige Informatikkurse und Bootcamps lehren immer noch Vim oder Emacs, da sie oft auf Unix-basierten Systemen verfügbar sind und die Schüler ermutigen, die Kommandozeile zu verwenden.

  • Trends: Während viele junge Entwickler zu moderneren Editoren wie VSCode oder JetBrains IDEs tendieren, gibt es immer noch eine beträchtliche Anzahl, die Vim oder Emacs wegen ihrer Effizienz und Anpassbarkeit wählen. Es gibt auch eine wachsende Bewegung von jungen Entwicklern, die “zurück zu den Wurzeln” gehen und diese älteren Tools ausprobieren, oft inspiriert von erfahrenen Entwicklern in ihren Teams oder Communitys.

Alternativen zu Jetbrains und VSCode

Atom:

  • Beschreibung: Ein Open-Source-Editor, entwickelt von GitHub, der für seine hohe Anpassbarkeit und seine integrierte Git-Integration bekannt ist.
  • Diskussion: Atom wird oft mit VSCode verglichen, da beide eine ähnliche Benutzeroberfläche und Erweiterbarkeit bieten. Einige Entwickler bevorzugen Atom wegen seiner Open-Source-Natur, während andere die Leistung und die Features von VSCode schätzen. https://github.com/atom

Sublime Text:

  • Beschreibung: Ein proprietärer Code-Editor, der für seine Geschwindigkeit und Effizienz bekannt ist.
  • Diskussion: Sublime Text war eine der ersten modernen, erweiterbaren Editoren und hat immer noch eine starke Anhängerschaft, obwohl einige Entwickler zu kostenlosen Alternativen wie VSCode gewechselt sind. https://www.sublimetext.com/

Eclipse:

  • Beschreibung: Eine Open-Source-IDE, die hauptsächlich für Java-Entwicklung bekannt ist, aber Plugins für viele andere Sprachen unterstützt.
  • Diskussion: Einmal der Goldstandard für Java-Entwicklung, hat Eclipse in den letzten Jahren an Popularität verloren, bleibt aber in einigen Unternehmensumgebungen relevant. https://www.eclipse.org/downloads/

NetBeans:

  • Beschreibung: Eine weitere Open-Source-IDE, die ursprünglich für Java entwickelt wurde, aber Unterstützung für andere Sprachen durch Plugins bietet.
  • Diskussion: Ähnlich wie Eclipse hat NetBeans eine treue Anhängerschaft, insbesondere unter Java-Entwicklern. https://netbeans.apache.org/

Xcode:

  • Beschreibung: Apples offizielle IDE für macOS, iOS, watchOS und tvOS Entwicklung.
  • Diskussion: Unverzichtbar für Apple-Entwickler, wird Xcode oft für seine integrierten Tools und seine enge Integration mit Apples Ökosystem gelobt. https://developer.apple.com/xcode/

Emacs und Vim:

  • Beschreibung: Wie bereits erwähnt, sind dies zwei der ältesten Texteditoren, die immer noch aktiv verwendet werden.
  • Diskussion: Beide haben immer noch eine leidenschaftliche Anhängerschaft und werden oft in Diskussionen über “den besten Editor” erwähnt. https://www.gnu.org/software/emacs/ und https://www.vim.org/

Notepad++:

  • Beschreibung: Ein erweiterter Texteditor für Windows, der Syntaxhervorhebung und andere nützliche Funktionen für Entwickler bietet.
  • Diskussion: Beliebt bei Windows-Benutzern, die einen leichten und schnellen Editor suchen. https://notepad-plus-plus.org/

Schlusswort

Die Wahl eines Editors oder einer IDE ist oft eine persönliche Entscheidung, die auf den individuellen Bedürfnissen, dem Workflow und den Vorlieben des Entwicklers basiert. Es ist ermutigend zu sehen, dass in der Softwareentwicklung sowohl alte als auch neue Tools nebeneinander existieren und gedeihen können.