Editor War: Alles was Du über ihn wissen musst!

Editor War

Editor War: Alles was Du über ihn wissen musst!

Der Editor War hat eine lange Geschichte hinter sich. Wie die meisten Religionskriege basiert auch dieser teilweise auf einer Geschichte, die möglicherweise nicht mehr so relevant ist wie früher. Wir haben uns mit dem religiösen Editoren-Krieg auseinandergesetzt und die wichtigsten Infos in diesem Beitrag zusammengefasst.

Editor War

Was ist ein (Text-) Editor?

Ein Texteditor ist ein Computerprogramm, mit dem Benutzer einfache Textdateien erstellen, ändern oder bearbeiten können. Solche Programme sind auch unter dem Namen „Notepad-Software“ bekannt, in Anlehnung an den Namen von Microsoft Notepad. Es kann zum Erstellen von Computerprogrammen, zum Bearbeiten des Quellcodes von Programmiersprachen oder HTML und zum Erstellen von Webseiten- oder Webdesign-Vorlagen verwendet werden. Ein Texteditor wird mittlerweile am häufigsten für Programmierzwecke verwendet, anstatt Dokumente zu erstellen, wie es ursprünglich der Fall war.

Einige Texteditoren können ungewöhnlich große Dateien wie Protokolldateien oder eine ganze Datenbank in einer einzigen Datei lesen, bearbeiten und schnell öffnen. Dies ist für viele professionelle Computeranwendungen erforderlich, da sie Dateien enthalten, die möglicherweise zu groß für den Hauptspeicher des Computers sind.

Was ist der Editor War?

Die meisten Editor-Nutzer denken über Texteditoren nicht viel nach. Allerdings sind nicht alle Texteditoren gleich und mit der Zeit wird womöglich festgestellt: Ein bestimmter Editor ist am besten für die eigenen Bedürfnisse geeignet. In dieser speziellen Welt der Hackerkultur und der Freie-Software-Community entstand eine Rivalität zwischen Benutzern zweier verschiedener Texteditoren: Emacs und vi (auch Vim oder Neovim genannt). Die Rivalität ist zu einem dauerhaften Bestandteil beider Kulturen geworden.

In der Geschichte der Menschheit gab es zahlreiche Themen, zu denen Nutzer und Fans ihre Ansichten geteilt und miteinander argumentiert haben. Diese heiligen Kriege gab es bisher in verschiedenen Versionen: iOS vs. Android, Apple vs. Samsung, Marvel vs. DC usw. Eine ähnliche Diskussion, über die Benutzer, insbesondere die der Linux-Community, hitzig werden, ist die Emacs vs. Vim-Debatte, die seit Jahrzehnten andauert. Die Debatte zwischen Emacs und vi war eine der ursprünglichen „heiligen Kriege“, die auf Usenet-Gruppen geführt wurden.  Es gab viele hitzige Diskussionen, um zu beweisen, dass der Editor der Wahl der Inbegriff von Perfektion ist.

Vim ist ein modaler Editor und einer der ältesten UNIX-basierten Texteditoren auf dem Markt. Dieser Texteditor ist eine Weiterentwicklung von vi, einem Texteditor aus den frühen Tagen von UNIX. „Vim“ steht für „vi Improved“. Nach seiner Einführung gewann Vim schnell an Popularität, da es nicht nur fast alle Funktionen von Vi integriert hatte, sondern auch einige zusätzliche Funktionen hinzufügte, die es viel leistungsfähiger als seine Vorgänger machten.

Die erste Version von Vim wurde 1991 von Bram Moolenaar für die Öffentlichkeit freigegeben. Seitdem hat es sich zu einem der beliebtesten und funktionsreichsten Editoren entwickelt. 1998 wurde die fünfte Generation von Vim veröffentlicht und damit auch eine der meistgenutzten Funktionen des Editors, das „Scripting“ eingeführt. Nun können Nutzer ihre eigenen Skripte für Vim schreiben und schließlich seine Funktionalität erweitern.

Der Charme von Vim entsteht dadurch, dass es extrem leicht ist und eine Schnittstelle mit mehreren Modi hat, von denen jeder einen anderen, aber nützlichen Zweck hat. Mit Funktionen wie einem mehrstufigen Rückgängig-Baum, einer riesigen Sammlung von Plugins und leistungsstarken Textbearbeitungswerkzeugen ist Vim absolut solide und zeichnet sich als Texteditor aus.

Emacs hingegen ist eine Familie hochgradig anpassbarer, selbstdokumentierender Echtzeit-Texteditoren, die für POSIX-Betriebssysteme entwickelt wurde und unter Linux, MacOS, BSD, Windows und mehr verfügbar ist. Er ist ein plattformübergreifender Editor mit einer nicht-modalen Schnittstelle. Emacs ist ganz ähnlich wie Vim, ein alter Texteditor, der seit Jahren beliebt ist. Anstatt es einen Texteditor zu nennen, ist Emacs jedoch so viel mehr. Emacs ist für seine hohe Erweiterbarkeit bekannt, lässt sich leicht optimieren und anpassen und ermöglicht die Implementierung verschiedener Funktionen und Methoden, was deutlich macht, wie leistungsfähig dieses Tool sein kann.

Emacs unterstützt eine Fülle von Paketen und Erweiterungen, die Benutzer verwenden können, um es weiter zu konfigurieren, wodurch es noch leistungsfähiger als zuvor wird. Es enthält mehrere praktische Funktionen, beispielsweise die Autovervollständigung. Auf diese Weise kann mit der Eingabe eines Befehls begonnen werden, die der Editor dann automatisch vervollständigt.

Vim vs. Emacs – Die wesentlichen Unterschiede

Speichernutzung

Die Speichernutzung eines Editors ist ein wichtiger zu berücksichtigender Faktor, insbesondere während des Startvorgangs. Die Speichernutzung von Vim und Emacs variiert, mit Vor- und Nachteilen für jeden Ansatz. Vim verwendet während des Starts wenig Speicher, daher startet er schnell, aber mit begrenzter Anpassungsfähigkeit. Emacs hingegen bietet anpassbare Einstellungen, jedoch mit einem langsameren Start.

Eine effiziente und effektive Speichernutzung ist für den eigenen Texteditor von unterscheidender Bedeutung, da jeder Fehler in der Speicherverwaltung den Editor verlangsamt. Folglich bieten Vim und Emacs einigen Nutzern Vorteile und anderen Nachteile. Eins sollte aber berücksichtigt werden: Die Bedeutung der Speichernutzung variiert zwischen den Sprachen.

Tastaturfunktionalität

Wie lässt sich die Tastaturfunktionalität von Vim und Emacs vergleichen? Vim leidet unter Unbeholfenheit in seinem Tastaturlayout und es fehlen einige optimierte Shortcuts. Alternativ verwendet Emacs Meta-Key-Akkorde, um zusätzliche Funktionen zu aktivieren, um angepasste und modusspezifische Operationen zu erstellen. Bei der Tastaturfunktionalität ist Emacs im Vorteil.

Vim fehlen diese Funktionen, da es auf dem älteren Texteditor Vi basiert. Wie bei seinem Vorfahren scheint die Tastaturfunktion von Vim etwas veraltet zu sein. Vim erlaubt dem Nutzer jedoch immer noch, die Tastenbelegungen anzupassen, um es bequemer zu machen. Aber es dauert eine gewisse Zeit, bis die Tastenbelegungen vom Nutzer nach eigenem Belieben eingestellt wurden. Die Tastaturfunktionalität ist ein hilfreiches Werkzeug, egal welche Programmiersprache verwendet wird.

Anpassbarkeit

Sowohl Emacs als auch Vim sind dafür bekannt, äußerst anpassbar und vielseitig zu sein und über eine Vielzahl von Plugins und Erweiterungen zu verfügen, mit denen die Programme durch Hinzufügen weiterer Funktionen konfiguriert werden können.

Emacs geht noch einen Schritt weiter und verwendet die Programmiersprache lisp. Mit lisp können Nutzer fast alles in Emacs implementieren und neu definieren. Emacs bietet Nutzern, die an die Verwendung von Vim gewöhnt sind, Pakete, mit denen ein Vim-ähnliches Verhalten innerhalb von Emacs erzielt werden kann. Das bekannteste Paket ist der Evil-Modus, ein äußerst leistungsfähiger Emacs-Modus, der Vi vollständig emuliert und versucht, ihn durch Hinzufügen kompatibler und leistungsfähiger Funktionen zu erweitern.

Sprachen

Vim und Emacs handhaben Sprachen unterschiedlich. Vim stammt aus der Unix-Umgebung der alten Schule und funktioniert daher gut mit Linux, DOS, BSD, HP-UX, Mac und anderen Betriebssystemen. Emacs funktioniert auch mit Unix-Systemen und verwendet spezielle Hauptmodi für Scheme, Lisp, Perl, Java, Ruby und mehr.

Insgesamt bietet Vim eine etwas schnellere Leistung. Aber sowohl Vim als auch Emacs bieten eine gute Systemunterstützung und viele Sprachpaketoptionen, sodass der Nutzer bei Bedarf weitere Sprachen oder Betriebssysteme hinzufügen kann.

Benutzerumgebung

Die Benutzerumgebungen von Vim und Emacs sind gut gestaltet und funktional. Vim hat mehr Funktionen als sein Vorgänger, behält aber eine textbasierte Umgebung bei. Emacs begann als textbasiertes Programm, aber neue Versionen enthalten eine moderne GUI. Sollte der Nutzer ein klassisches Layout bevorzugen, ist Vim ideal. Die Emacs-GUI hat jedoch immer noch ihre Vorteile.

Erfahrene Programmierer profitieren vom geradlinigen Ansatz eines textbasierten Editors wie VIM. Es ist vertraut und es fehlt an „ablenkendem“ Schnickschnack, obwohl es mehr Funktionen als sein Vorgänger hat. Vim-Benutzer, die eine GUI bevorzugen, können gVim oder andere Derivate verwenden. Alternativ bietet der Emacs-GUI-Ansatz eine attraktive und einfach zu navigierende Schnittstelle, was in vielen Situationen vorteilhaft ist. Anfänger und Profis bevorzugen GUIs, besonders wenn es um komplexe Projekte geht.

Religiöse Züge des Editor Wars

Die Church of Emacs wurde von Emacs und dem Schöpfer des GNU-Projektes, Richard Stallman gegründet. Diese Religion ist eine Parodie-Religion und bezieht sich auf Vi als den „Herausgeber des Tieres“ (vi-vi-vi ist 6-6-6 in römischen Ziffern). Es widerspricht nicht der Verwendung von Vi; vielmehr nennt es Vi ein proprietäres Software-Anathema.

„Eine freie Version von Vi zu benutzen ist keine Sünde, sondern eine Buße.“ – Richard Stallman für ourTV.net.au (Ein Community-TV-Kanal in Canberra zeichnete einen Vortrag von Stallman auf Video auf, konnte ihr Projekt wegen Geldmangels nicht auf den Weg bringen)

Die Church of Emacs hat ihre eigene Newsgroup, alt.religion.emacs , mit Beiträgen, die vorgeben, dieses Glaubenssystem zu unterstützen. Stallman bezeichnet sich selbst als St. I. GNU -cius, ein Heiliger in der Kirche von Emacs.

Als Gegenzug wurde der Kult von Vi von Vi-Unterstützern geschaffen, der von einigen Emacs-Anwendern als Versuch „ihre Besseren nachzuahmen“ bezeichnet wird. In Bezug auf die modale Natur von vi (häufig ist das ein Frustrationspunkt für neue Nutzer) scherzen einige Emacs-Benutzer, dass vi zwei Modi hat: „wiederholt piepen“ und „alles kaputt machen“.

Vi-Anwender scherzen gerne darüber, dass die Tastenfolgen von Emacs das Karpaltunnelsyndrom auslösen oder erwähnen eine der vielen satirischen Erweiterungen des Akronyms EMACS:

  • Escape Meta Alt Control Shift – ein Seitenhieb auf die Abhängigkeit von Emacs von Zusatztasten
  • EMACS Makes Any Computer Slow
  • Eventually Munches All Computer Storage – in Bezug auf die hohen Systemressourcenanforderungen von Emacs
  • GNU EMACS wurde zu Generally Not Used, Except Middle Aged Computer Scientists – was auf seine leidenschaftlichsten Fans und seine rückläufige Verwendung unter jüngeren Programmierern deutet.

Als Anspielung auf die schleichende übermäßige kontinuierliche Erweiterung oder das Hinzufügen neuer Funktionen von Emacs sind Vi-Befürworter dafür bekannt, Emacs als „ein großartiges Betriebssystem, dem nur ein anständiger Editor fehlt“ zu beschreiben. Es ist bekannt, dass Emacs-Befürworter entgegnen, der Editor sei eigentlich sehr gut, aber das Betriebssystem könnte Verbesserungen gebrauchen (unter Bezugnahme auf Emacs berühmten Mangel an Parallelität, die jetzt hinzugefügt wurde).

Die Google-Suchmaschine mischte sich ebenfalls in den Witz ein, indem Suchen nach vi mit dem Ergebnis „Meinten Sie: emacs“ und Suchen nach Emacs mit dem Ergebnis „Meinten Sie: Vi“ ausgegeben wurden.

Zusammenfassung

Wie Vim ist auch Emacs ein Texteditor, der mit einer GUI ausgeführt werden kann. Aber Emacs ist viel mehr als nur ein Texteditor. Tatsächlich fungiert Emacs auch als E-Mail-Client, integrierte Entwicklungsumgebung, Dokumentenbrowser usw. Im Gegensatz zu Vim erlaubt Emacs seinen Nutzern, die Programmiersprache Lisp zu verwenden, um neue Befehle zu schreiben oder alte zu überschreiben.

Dieses Feature wird als Online-Erweiterbarkeit bezeichnet. Emacs ist auch hochgradig anpassbar, was bedeutet, dass jedes einzelne Detail bis zu einer sehr granularen Ebene angepasst werden kann, wodurch seine Fähigkeiten praktisch grenzenlos werden. Vim ist jedoch immer noch einer der beliebtesten und am weitesten verbreiteten Texteditoren, die in fast jedem Unix-basierten System zu finden sind.

An dieser Stelle möchten wir anmerken, dass der Editor-War inhaltlich eine lange Historie hat und wie so oft in der Software-Industrie gibt es auch hier einen rasanten Wandel. Heutzutage spielen Texteditoren durchaus immer noch eine wichtige Rolle in der Entwicklung, allerdings hat sich hier das Bild stark gewandelt. Insbesondere in den letzten 10 Jahren ist es nicht mehr von großer Bedeutung, dass VIM auf vielen Systemen vorinstalliert ist. Ebenso wenig von Bedeutung ist, dass Emacs speicherhungrig ist oder eine langsame Startzeit hat.

Bis ca. 2010 gab es grundsätzlich nur IDEs, Programme wie Eclipse, VisualStudio, JetBrains IDEs, etc. Ihnen voran gingen VIM und Emacs. Nach 2010 fing das Software-Umfeld an, sich zu verändern und es kamen weitere Editoren hinzu, beispielsweise Sublime, VSCode, Atom, und weitere, die eine weite Verbreitung fanden und VIM und Emacs somit eine immer weniger wichtige Rolle einnahmen.

Im Jahr 2015 veröffentlichte Microsoft eine disruptive Technologie, das sogenannte LSP Protokoll. Diese führte dazu, dass VSCode der mit Abstand am häufigsten verwendete Editor wurde, der genauso wie eine IDE oder Emacs mit vielen Funktionalitäten ausgestattet werden konnte. Allerdings bietet VSCode VIM und Emacs gegenüber viele Vorteile, wie beispielsweise eine moderne UI, viele Plugins, ein Plugin-Marketplace, einen einfacheren Einstieg für Anfänger, etc. Gleichzeitig wurden durch das LSP Protokoll aber auch VIM, Emacs, Neovim, Sublime usw. in ihren Funktionsumfängen sehr ähnlich.

Quelle: http://blog.davidecoppola.com/wp-content/uploads/2018/02/market_share_cpp_ides_pie.png

Bis ca. 2010 gab es grundsätzlich nur IDEs, Programme wie Eclipse, VisualStudio, JetBrains IDEs, etc. Ihnen voran gingen VIM und Emacs. Nach 2010 fing das Software-Umfeld an, sich zu verändern und es kamen weitere Editoren hinzu, beispielsweise Sublime, VSCode, Atom, und weitere, die eine weite Verbreitung fanden und VIM und Emacs somit eine immer weniger wichtige Rolle einnahmen.

Im Jahr 2015 veröffentlichte Microsoft eine disruptive Technologie, das sogenannte LSP Protokoll. Diese führte dazu, dass VSCode der mit Abstand am häufigsten verwendete Editor wurde, der genauso wie eine IDE oder Emacs mit vielen Funktionalitäten ausgestattet werden konnte. Allerdings bietet VSCode VIM und Emacs gegenüber viele Vorteile, wie beispielsweise eine moderne UI, viele Plugins, ein Plugin-Marketplace, einen einfacheren Einstieg für Anfänger, etc. Gleichzeitig wurden durch das LSP Protokoll aber auch VIM, Emacs, Neovim, Sublime usw. in ihren Funktionsumfängen sehr ähnlich.

Mit der Zeit sind der Marktanteil sowie die Nutzerzahlen von VIM und Emacs drastisch gesunken. Der Marktanteil von Vim belief sich im Jahre 2018 auf 16,5%, Emacs hatte einen Prozentanteil von gerade 7,4%. Für eine jüngere Generation an Editoren-Nutzern ist ein solch historischer Krieg zwischen zwei Editoren fragwürdig, da sie vermutlich einen GUI-Editor wie Sublime oder Eclipse nutzen.

Wir sind für Sie da!

Unser Service-Team steht Ihnen gerne Montag bis Freitag von 8:00 bis 18:00 Uhr zur Verfügung.

Kontakt

+49 621 4907 8707

Email

info@demo.com

Live Chat

+49 621 4907 8707

Häufige Fragen

Lorem ipsum

WordPress Cookie Notice by Real Cookie Banner