2 Punkte von GN⁺ 2023-08-11 | 1 Kommentare | Auf WhatsApp teilen
  • Bram Moolenaar hinterließ in Vim-Quellcode, Dokumentation und auf vim_dev eine problemorientierte Haltung; Neovim versteht sich als Projekt, das das Vermächtnis von Vim und Bram weiterträgt
  • Statt auf unhöfliche Reaktionen oder persönliche Urteile zu setzen, bestand Brams Stärke darin, das Verständnis des Problems voranzubringen; so wird er als jemand erinnert, der still, aber mit Tiefe Wert geschaffen hat
  • Das Problem/Solution-Prinzip in Vim-Commit-Messages ist einfach, aber wirkungsvoll, und setzt sich auch in seiner Unterstützung für Uganda fort, wo er Ressourcen nicht abstrahierte, sondern direkt verwaltete
  • Als Abkömmling von Vim akzeptiert Neovim zugleich Kontinuität und Abzweigung und sieht Wartung, Dokumentation, Erweiterbarkeit und Embedding als zentrale Achsen, die es fortführt
  • Die Richtung, die Neovim übernehmen will, ist nicht das Neue um des Neuen willen, sondern eher ein Pragmatismus, der das Ziel nicht vergisst und Handeln mit Ergebnissen vergleicht

Brams Art der Problemlösung

  • Bram zeigte über technische Handwerkskunst hinaus eine bescheidene Haltung und eine in der Realität verankerte Art, Probleme zu lösen
  • In vim_dev, dem Vim-Quellcode und der Dokumentation bleiben nicht nur Brams Worte und Entscheidungen erhalten, sondern auch die Entscheidungen, die er nicht traf
    • Er verließ sich nicht auf reißerische Formulierungen oder persönliche Wertungen
    • Selbst bei unhöflicher Behandlung reagierte er oft so, dass das zu lösende Problem besser verstanden wurde
  • Das Problem/Solution-Motto in Vim-Commit-Messages funktioniert als einfaches, aber starkes Arbeitsprinzip
  • Auch beim Helfen für Menschen in Uganda entschied sich Bram dafür, Ressourcen nicht abstrakt zu behandeln, sondern direkt zu verwalten
  • Bescheidenheit ist eine Denkweise, die Versuche durch freiwillige Beschränkungen wie eine „schmale Taille“ führt und dadurch besser kombinierbare und stärkere Ergebnisse hervorbringen kann
    • Plugins wie unimpaired sind Beispiele, die diese Linie variieren
  • Der Nutzen von Lifestyle-Software wie Emacs und Vim liegt weniger in Ideologien als in einem lebendigen Ökosystem und einer sich selbst tragenden Dynamik

Was Neovim übernimmt und wo es sich trennt

  • Neovim verstand sich von Anfang an als Abkömmling von Vim und setzt Vim zugleich fort, während es sich auch von Vim unterscheidet
  • Aus der Perspektive, dass ein Fork Energie nicht zerstört, sondern erzeugt, lässt sich Vim selbst ohne Bram zwar nicht vollständig weitergeben, einige wesentliche Elemente können jedoch fortbestehen
  • Wartung und Dokumentation

    • Maintenance: Experimente sind nötig, und auch kreative Zerstörung sowie spielerisches Scheitern haben Wert, aber Neovim steht nicht für „neomania“, den Wunsch nach Neuem um jeden Preis
    • Documentation: Die Gewohnheit der Vim-Dokumentation ist deutlich erkennbar und einer der großen Vorteile, die Nvim dadurch gewann, dass es auf Vim aufbaut
  • Erweiterbarkeit und Embedding

    • Extensibility: Auch Brams Agide-Projekt zielte auf eine Neovim ähnliche Erweiterbarkeit und stellte nicht eine einzelne Anwendung, sondern einen Ansatz in den Vordergrund, bei dem separate Werkzeuge eingesteckt und genutzt werden
    • Embedding: Vims :help design-not spricht eher davon, Vim als Komponente in Shell oder IDE zu verwenden, statt Vim selbst zu einer Shell oder einem Betriebssystem zu machen
    • Bram nahm sich selbst nicht übermäßig ernst und hatte zudem seinen eigenen Sinn für Humor
    • Neovim sollte als Denkmal für Vim und Bram bestehen bleiben, dabei aber Praktikabilität statt Dogmatismus wählen und das eigene Handeln anhand von Zielen und Ergebnissen überprüfen

1 Kommentare

 
GN⁺ 2023-08-11
Meinungen auf Hacker News
  • Dank an Bram
    Ich habe Vim über 30 Jahre lang genutzt, in letzter Zeit gelegentlich auch Neovim, und in der Schule auf verschiedenen BSD-Systemen vi. Während meiner gesamten Karriere habe ich es an fast jedem Arbeitstag verwendet, war aber nie auf der Vim-Mailingliste, habe nie eine Frage gestellt und nie einen Bug-Report eingereicht.
    Weil das nicht nötig war. Ich bin auf keine Bugs gestoßen, und Fragen ließen sich immer über die eingebaute Dokumentation klären. Es war ein großartiges Softwareprojekt, geführt von einem großartigen Menschen, und eine große Inspiration.

    • Vor 25 Jahren, im Herbst, bekam ich einen Job in der IT-Abteilung der Universität, und mein Chef gab mir die O'Reilly-Bücher zu Perl und vi, sodass ich anfing, auf Unix-Servern zu programmieren. Seitdem habe ich vi und Vim während meiner gesamten Karriere täglich genutzt.
    • Ich habe mit komplexen Steuerungssystemen gearbeitet, und die Dokumentation war so gut, dass ich die benötigten Informationen immer leicht finden konnte.
      Umgekehrt gab es auch vergleichsweise einfache Systeme ohne Dokumentation, oder einmal musste ich wegen furchtbarer Dokumentation viel mehr nachfragen und herumgraben.
  • Vim hat eine Seele. Es ist ein Werkzeug, das man weiterbenutzt wie einen Meißel, den man vom Großvater geerbt hat.
    Es hat vielleicht keinen weichen Gummigriff wie ein neues Produkt, liegt aber gut und angenehm in der Hand. Ein Werkzeug mit seiner eigenen Geschichte.
    Wenn man die Kommentare hier liest, wirkt es, als sei der Hacker-Geist noch lebendig. Die neu gehypte junge Milliarden-Dollar-Firma wird in 10 bis 20 Jahren durch etwas anderes ersetzt sein, aber Vim wird weiterbestehen. Eines Tages möchte ich etwas Eigenes wie Vim schaffen.

    • Allerdings gibt es einen kleinen Unterschied: Wenn ein Anfänger den Meißel seines Großvaters in die Hand nimmt, klebt der ihm nicht an der Hand fest und lässt sich erst wieder lösen, nachdem man drei Worte eines Zauberspruchs gegoogelt hat.
    • Wie Galadriels Phiole: ein Licht an dunklen Orten, wenn alle anderen Lichter erloschen sind.
  • Nach Brams Tod habe ich auf meine Vim-Reise zurückgeblickt. In den vergangenen 10 Jahren, von Uni-Projekten über FAANG bis hin zu Startups, bei denen alles brannte, war es mein einziger unveränderter beruflicher Begleiter.
    Stolze Arbeiten, beschämende Arbeiten, Arbeiten, die zu Beförderungen führten, und Arbeiten, die zu Ausfällen in Millionenhöhe führten – all das habe ich in Vim gemacht. Betriebssysteme, Datenbanken, Programmiersprachen, Firmen und Kollegen kommen und gehen, aber Vim war immer da.
    Dank an Bram.

  • Im verlinkten Artikel [0] gibt es einen Screenshot von Brams GitHub-Aktivität und diese Formulierung:
    „Warum es mich so berührt hat, als ich las, dass Bram gestorben ist, liegt wahrscheinlich daran, dass sich all das aufgestaut hatte. In der Nachricht seiner Familie stand klar, dass Bram krank gewesen war. Es sei ein ‚medizinischer Zustand gewesen, der sich in den letzten Wochen schnell entwickelt hat‘. Die meisten wussten das nicht, und deshalb war die Nachricht umso überraschender.“
    „Und noch trauriger wurde ich, als jemand auf Brams jüngste GitHub-Aktivität hinwies.“
    https://github.com/brammool
    [0] https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    Außerdem sieht es in der BDFL-Liste auf Wikipedia so aus, als wäre Bram die erste Person mit einem †-Zeichen.
    https://en.wikipedia.org/wiki/Benevolent_dictator_for_life

  • Heute habe ich am Bahnhof Utrecht in den Niederlanden etwas Besonderes gesehen. Auf einer Anzeigetafel standen die Buchstaben hjkl in umgekehrter Reihenfolge.
    Diese Buchstaben zeigen an, in welchen Bereich man auf dem Bahnsteig gehen sollte. Je nach Bahnsteiglänge und Position der Zugtüren werden die Buchstaben angezeigt.
    https://postimg.cc/mcCWhMXw
    Es war entweder ein riesiger Zufall, oder es gibt bei der niederländischen Eisenbahngesellschaft NS einen Vim-Fan, der Bram auf diese Weise eine Widmung gemacht hat.

    • Wenn man darüber nachdenkt, stehen diese Buchstaben im Alphabet tatsächlich hintereinander. Allerdings fehlt zwischen H und J das I; vielleicht wurde es absichtlich weggelassen, weil man es mit einem kleinen l verwechseln könnte.
      Am Ende kann es Zufall sein, aber für mich war es trotzdem besonders. Ich hatte so etwas an einem Bahnhof noch nie gesehen, und plötzlich fiel es mir genau in der Woche nach Brams Tod auf.
    • Es ist weder Zufall noch Widmung. In Großbritannien ist es seit Jahren genauso. Der Buchstabe i wird leicht mit der Zahl 1 oder dem Buchstaben l verwechselt und wird für solche Zwecke normalerweise nicht verwendet.
    • Ich nutze zwar Vim, aber bei diesen Buchstaben denke ich eher an die Home Row beim Zehnfingerschreiben als an Vim.
    • Dieses Schild ist eine Positionsanzeige, die zeigt, wo der Zug am Bahnsteig halten wird.
      Video auf Niederländisch: https://www.youtube.com/watch?v=JPvh9SaQbUY
  • Ich habe einmal einen Praktikantenkandidaten interviewt, der damit prahlte, auf der Mailingliste mit Bram über eine mögliche Schwachstelle gestritten zu haben. Bram sagte, sie sei nicht wichtig, und dieser junge Kerl bestand darauf, dass sie wichtig sei.
    Wir haben ihn nicht eingestellt. Wenn ich die Nachrufe auf Bram lese, scheint der Bram, von dem die Leute sprechen, im guten Sinne das genaue Gegenteil dieses Typen gewesen zu sein.

    • Ich frage mich, ob es bei dieser Auseinandersetzung um die automatische Datei-Verschlüsselung/-Entschlüsselung ging und darum, dass Bram keinen kryptografisch sicheren Algorithmus verwenden wollte. Das war ein sehr langer und ziemlich hitziger Thread.
      Trotzdem war ich auf Brams Seite. Diese Funktion zielte von Anfang an nicht auf Sicherheit im kryptografischen Sinne ab.
  • Auf https://en.wikipedia.org/wiki/Benevolent_dictator_for_life gibt es eine Liste von BDFLs. Bram ist der erste BDFL auf dieser Liste, der verstorben ist.
    In den nächsten 10 Jahren oder danach wird ein Generationswechsel kommen. Es ist richtig, sich darauf vorzubereiten, denn so bewahrt man Vermächtnis und Community.
    Ich fand beeindruckend, wie Brams Familie und Freunde damit umgehen und dabei sein Vermächtnis sowie die Zukunft von Vim respektieren.

    • Nachdem ich das geschrieben hatte, wurde John Gruber als BDFL von Markdown hinzugefügt. Dass er der Schöpfer ist, stimmt, aber ihn BDFL zu nennen, wirkt etwas übertrieben.
  • Unter den verlinkten Texten fand ich diesen von Jan van den Berg besser
    https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    Ein beeindruckender Satz daraus war: „Vim ist ein Meisterwerk, ein glänzendes und präzises Werkzeug, aus dem vieles Moderne herausgearbeitet wurde“
    Und diesen Link gibt es auch
    https://m.youtube.com/watch?v=eX9m3g5J-XA
    „7 Habits for Effective Text Editing 2.0“
    Das Video dauert 1 Stunde 20 Minuten, es wäre schön, wenn jemand eine Transkription oder Zusammenfassung hätte. Der erste Kommentar war witzig: „Ich hatte Autoplay an, während ich 7 Stunden geschlafen habe, und bin von Billie Eilish bis zu diesem Video gekommen“
    Das Leben ist seltsam, aber genau deshalb schön
    Nebenbei: Ich nutze weder (Neo)vim noch Emacs. Sobald ich das Wort „programmierbar“ lese, bin ich raus. Ich bevorzuge einen Editor mit festem Funktionsumfang, der zu meinen Vorlieben passt, den ich ein paar Minuten konfiguriere und dann direkt nutze. Das ist einfach mein Geschmack
    Trotzdem erfüllt ein gutes Werkzeug seinen Zweck gut. Eine Welt mit guten Werkzeugen und den Menschen, die sie geschaffen haben, ist eine bessere Welt. Manchmal lebt ihr Vermächtnis, ihre Philosophie und ihre Arbeitsweise im hinterlassenen Code oder in der Community weiter. Ehre Bram

    • Ich weiß nicht, ob man bei Nachrufen einen Wettbewerb daraus machen muss, aber der gepostete Text war ebenfalls bewegend. Das Foto von Brams GitHub-Contribution-Graph werde ich nicht vergessen
    • Wenn du das Wort „programmierbar“ nicht magst und einen Editor mit festem Funktionsumfang willst, der deinem Geschmack entspricht, könnte Helix passen
      Er nutzt Kakoune-Keybindings, die für mich viel nachvollziehbarer sind als Vim oder Emacs. Die Voreinstellungen sind schon gut, und er hat viele nützliche Funktionen. Ich nutze ihn täglich, er ist schnell und gut
      Wenn ein LSP im PATH liegt, wird er automatisch genutzt, daher braucht man sehr wenig Konfiguration. Meine Konfiguration besteht nur aus einem Theme und ein paar kleinen Stiländerungen; wer will, kann sie hier sehen: https://github.com/RGBCube/NixOSConfiguration/blob/master/ma...
    • Bei Vim muss man kaum „programmieren“, abgesehen von Dingen wie set nocompatible, set ruler, Backspace, Einrückung und vielleicht der Auswahl eines der Standard-Farbschemata
      In Neovim habe ich lightline, pathogen, das monokai-Farbschema und noch irgendetwas installiert, vermutlich Syntax-Highlighting für eine etwas exotischere Sprache
      Der Punkt ist: Vim ist ein Editor mit festem Funktionsumfang, bis man anfängt, massenhaft Dinge dranzuhängen
    • Die Materialien zu „7 Habits for Effective Text Editing 2.0“ gibt es hier: https://moolenaar.net/habits_2007.pdf
      Dank tlamponi [1]: https://news.ycombinator.com/item?id=37013315
  • Vim hat mein Leben tatsächlich beeinflusst. Ich nutze es seit 15 Jahren, und wenn ich einen neuen Host bekomme, trage ich fast sofort set -o vi oder eine ähnliche Einstellung für psql/ipython in die rc-Dateien ein
    Die unzähligen Stunden, die ich in der Shell verbracht habe, sind durch Brams Arbeit deutlich angenehmer geworden
    Danke fürs Posten dieses Textes, und ruhe in Frieden

    • Vim-Befehle zu lernen war eine der Dinge mit der höchsten Rendite auf den investierten Aufwand, die ich kenne. Es war über Jahre wertvoll und hat mir vermutlich Hunderte Stunden bei der Interaktion mit Computern erspart
      Vor langer Zeit ist es in mein Muskelgedächtnis übergegangen, und Textbearbeitung sowie das Bewegen des Cursors auf dem Bildschirm kosten mich inzwischen keinerlei Mühe mehr
      Es gehört zu den Dingen, die ich neuen Programmierern immer empfehle. Die Vim-Lernkurve mag steil sein, aber sie lässt einen effizienter auf die Interaktion mit Text blicken, die Programmierer ständig ausführen
      Überall, wo es unterstützt wird, schalte ich den Vi(m)-Modus ein: in der Shell und überall mit Readline, in Emacs ändere ich per evil-mode die Defaults
      Modale Interfaces und kombinierbare mnemonische Befehle sind einer Emacs-artigen Tastenkombinations-UI weit überlegen und intuitiver. Ich liebe Vim. Es war das Werkzeug, das mich vor über 20 Jahren auf diese Reise gebracht hat, und ich nutze es bis heute täglich für schnelle Edits. Als IDE bevorzuge ich allerdings Emacs als erweiterbarere Umgebung. Dank evil-mode bekomme ich das Beste aus beiden Welten
      Bram hat das Leben unzähliger Menschen verbessert und sollte unter den großen Persönlichkeiten unserer Branche anerkannt werden. RIP
  • In der Welt vergänglicher Software ist Vim ein zeitloses Meisterwerk
    Ich wünschte, ich hätte die Gelegenheit gehabt, Bram persönlich dafür zu danken, welchen Einfluss er auf mein Leben und meine Karriere hatte. Ohne Vim wäre ich wohl nicht bis hierher gekommen

    • Ich halte das für einen der wichtigen Punkte an Vim. Je länger es existiert, desto größer wird die Wahrscheinlichkeit, dass es noch länger überlebt. Es hat sehr viele moderne Texteditoren überdauert
      Ich hoffe, es bleibt zu meinen Lebzeiten und auch danach weiter lebendig