2 points par GN⁺ 2023-08-11 | 1 commentaires | Partager sur WhatsApp
  • Bram Moolenaar a laissé dans le code source, la documentation et vim_dev de Vim une approche centrée sur la résolution de problèmes ; Neovim se voit comme un projet qui prolonge l’héritage de Vim et de Bram
  • Plutôt que des réponses grossières ou des jugements personnels, la force de Bram se manifestait dans une manière de faire progresser la compréhension du problème ; on se souvient de lui comme de quelqu’un de discret, mais ayant créé une valeur profonde
  • Le principe Problem/Solution des messages de commit de Vim est simple mais efficace, et cette attitude se prolonge aussi dans son soutien à l’Ouganda, où il gérait directement les ressources au lieu de les abstraire
  • En tant que dérivé de Vim, Neovim assume à la fois la continuité et la bifurcation, et en fait des axes centraux pour la maintenance, la documentation, l’extensibilité et l’embarqué
  • La direction que Neovim cherche à reprendre n’est pas la nouveauté pour elle-même, mais un pragmatisme consistant à ne pas oublier l’objectif et à comparer les actions à leurs résultats

La manière de résoudre les problèmes que Bram a laissée

  • Bram montrait, au-delà du savoir-faire technique, une attitude humble et une façon de résoudre les problèmes ancrée dans le réel
  • Dans vim_dev, le code source de Vim et sa documentation, restent non seulement ses mots et ses décisions, mais aussi les choix qu’il n’a pas faits
    • Il ne s’appuyait pas sur des formules sensationnalistes ni sur des jugements personnels
    • Même face à des comportements impolis, il réagissait souvent de manière à mieux comprendre le problème à résoudre
  • Le slogan Problem/Solution des messages de commit de Vim fonctionne comme un principe de travail simple mais puissant
  • Bram a aussi choisi, dans son aide aux habitants de l’Ouganda, de gérer directement les ressources plutôt que de les traiter de façon abstraite
  • L’humilité est une manière de penser qui fait passer les tentatives par des contraintes volontaires, comme une « taille étroite », et peut produire des résultats plus composables et plus puissants
    • Des plugins comme unimpaired illustrent une variation de cette approche
  • L’utilité de logiciels de style de vie comme Emacs et Vim tient moins à une idéologie qu’à un écosystème vivant et à un élan qui se perpétue de lui-même

Ce que Neovim hérite et ce dont il se sépare

  • Dès le départ, Neovim s’est positionné comme un dérivé de Vim, prolongeant Vim tout en développant aussi une identité différente
  • Selon l’idée qu’un fork ne détruit pas l’énergie mais en crée, même si Vim ne peut pas être transmis tel quel sans Bram, certains éléments essentiels peuvent continuer à se prolonger
  • Maintenance et documentation

    • Maintenance : l’expérimentation est nécessaire, et la destruction créatrice comme les échecs ludiques ont de la valeur, mais Neovim ne représente pas la « neomania », ce désir du neuf pour le neuf
    • Documentation : l’habitude de documentation de Vim est manifeste, et c’est l’un des grands avantages qu’offre le fait que Nvim soit construit sur Vim
  • Extensibilité et embarqué

    • Extensibility : le projet Agide de Bram visait lui aussi une extensibilité proche de celle de Neovim, en privilégiant non pas une application unique, mais un mode où l’on branche des outils séparés
    • Embedding : le :help design-not de Vim indique une direction où Vim est utilisé comme composant dans un shell ou un IDE, plutôt que transformé en shell ou en système d’exploitation
    • Bram ne se prenait pas excessivement au sérieux et possédait aussi son propre sens de l’humour
    • Neovim doit rester un monument à Vim et à Bram, tout en choisissant le pragmatisme plutôt que le dogmatisme, et en réévaluant ses actions à l’aune de ses objectifs et de leurs résultats

1 commentaires

 
GN⁺ 2023-08-11
Avis sur Hacker News
  • Merci à Bram
    J’utilise Vim depuis plus de 30 ans, et plus récemment aussi Neovim de temps en temps ; à l’école, j’utilisais vi sur divers systèmes BSD. Je m’en suis servi presque chaque jour ouvré pendant toute ma carrière, mais je ne me suis jamais inscrit à la mailing list de Vim, je n’ai jamais posé de question, ni soumis de rapport de bug.
    Parce que je n’en ai jamais eu besoin. Je n’ai jamais rencontré de bug, et chaque fois que j’avais une question, la documentation intégrée y répondait. C’était un excellent projet logiciel, mené par quelqu’un d’exceptionnel, et une grande source d’inspiration.

    • Il y a 25 ans, à l’automne, quand j’ai été embauché au service informatique de mon université, mon responsable m’a donné les livres O’Reilly sur Perl et vi, et j’ai commencé à programmer sur des serveurs Unix. Depuis, j’ai utilisé vi et Vim tous les jours pendant toute ma carrière.
    • J’ai travaillé sur des systèmes de contrôle complexes, et la documentation était tellement bonne que je trouvais toujours facilement les informations dont j’avais besoin.
      À l’inverse, il m’est arrivé de devoir creuser bien davantage dans des systèmes relativement simples faute de documentation, ou une fois à cause d’une documentation épouvantable.
  • Vim a une âme. C’est l’outil qu’on continue d’utiliser, comme un ciseau à bois hérité de son grand-père.
    Il n’a peut-être pas la poignée en caoutchouc souple d’un produit neuf, mais il tient bien en main et il est confortable. C’est un outil avec sa propre histoire.
    À lire les commentaires ici, on dirait que l’esprit hacker est encore vivant. La jeune entreprise à plusieurs milliards qui vient de décoller sera remplacée par autre chose dans 10 ou 20 ans, mais Vim survivra. Un jour, j’aimerais créer quelque chose qui soit mon propre Vim.

    • Il y a tout de même une petite différence. Si un débutant prend le ciseau à bois de son grand-père, l’outil ne lui colle pas à la main en l’obligeant à googler trois mots magiques pour pouvoir le lâcher.
    • Comme la fiole de Galadriel, c’est une lumière qui éclaire dans les endroits sombres quand toutes les autres lumières se sont éteintes.
  • Après la disparition de Bram, j’ai repensé à mon parcours avec Vim. Ces dix dernières années, des projets universitaires à FAANG, en passant par des startups où tout partait en flammes, il a été le seul compagnon professionnel qui n’ait jamais changé.
    Les travaux dont je suis fier, ceux dont j’ai honte, ceux qui ont mené à des promotions, ceux qui ont provoqué des incidents à plusieurs millions de dollars : tout a été fait dans Vim. Les systèmes d’exploitation, les bases de données, les langages de programmation, les entreprises et les collègues vont et viennent, mais Vim est toujours resté.
    Merci à Bram.

  • L’article en lien [0] contient une capture d’écran de l’activité GitHub de Bram et ce passage :
    « Si la nouvelle de la mort de Bram m’a autant touché, c’est sans doute à cause de tout cela qui s’était accumulé. Le message de sa famille indiquait clairement que Bram était malade. Il s’agissait d’une “affection médicale ayant évolué rapidement au cours des dernières semaines”. La plupart d’entre nous l’ignoraient, ce qui a rendu la nouvelle encore plus surprenante. »
    « Et quand quelqu’un a attiré l’attention sur l’activité GitHub récente de Bram, cela m’a rendu encore plus triste. »
    https://github.com/brammool
    [0] https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    Par ailleurs, si l’on regarde la liste des BDFL sur Wikipedia, Bram semble être la première personne marquée d’un †.
    https://en.wikipedia.org/wiki/Benevolent_dictator_for_life

  • Aujourd’hui, j’ai vu quelque chose de particulier à la gare d’Utrecht, aux Pays-Bas. Sur le panneau d’information, les lettres hjkl étaient affichées dans l’ordre inverse.
    Ces lettres indiquent vers quelle zone du quai se diriger. Elles sont affichées selon la longueur du quai et l’emplacement des portes du train.
    https://postimg.cc/mcCWhMXw
    C’était soit une immense coïncidence, soit il y a un fan de Vim chez NS, la compagnie ferroviaire néerlandaise, qui a voulu rendre hommage à Bram de cette manière.

    • À bien y penser, ces lettres se suivent dans l’alphabet. Il manque simplement le I entre H et J, peut-être volontairement parce qu’il peut être confondu avec un l minuscule.
      Au final, c’est peut-être une coïncidence, mais cela m’a tout de même paru spécial. Je n’avais jamais vu ce genre de chose dans une gare, et cela m’est soudain apparu la semaine juste après la disparition de Bram.
    • Ce n’est ni une coïncidence ni un hommage. Au Royaume-Uni aussi, c’est comme ça depuis des années. La lettre i se confond facilement avec le chiffre 1 ou la lettre l, donc on ne l’utilise généralement pas pour ce genre d’usage.
    • J’utilise Vim, mais ces lettres me font davantage penser à la rangée de repos de la dactylographie tactile qu’à Vim.
    • Ce panneau est un indicateur de position qui montre où le train s’arrêtera sur le quai.
      Vidéo en néerlandais : https://www.youtube.com/watch?v=JPvh9SaQbUY
  • J’ai autrefois fait passer un entretien à un candidat stagiaire qui se vantait d’avoir débattu avec Bram sur une mailing list à propos d’une vulnérabilité potentielle. Bram disait que ce n’était pas important, et ce jeune insistait pour dire que si.
    Nous ne l’avons pas recruté. En lisant les hommages à Bram, j’ai l’impression que le Bram dont les gens parlent était, dans le bon sens du terme, l’exact opposé de ce candidat.

    • Je me demande si ce débat portait sur la fonctionnalité de chiffrement/déchiffrement automatique des fichiers, et sur le fait que Bram ne voulait pas utiliser d’algorithme cryptographiquement sûr. C’était un fil interminable et assez animé.
      Mais j’étais quand même du côté de Bram. Cette fonctionnalité n’avait pas pour objectif, dès le départ, d’offrir une sécurité au sens cryptographique.
  • https://en.wikipedia.org/wiki/Benevolent_dictator_for_life contient une liste de BDFL. Bram est le premier BDFL de cette liste à être décédé.
    Dans les dix prochaines années, ou plus tard, un passage de relais générationnel aura lieu. Il est juste de s’y préparer, et c’est ainsi que l’on préserve l’héritage et la communauté.
    La manière dont la famille et les amis de Bram gèrent cela en respectant son héritage et l’avenir de Vim m’a impressionné.

    • Depuis que j’ai écrit cela, John Gruber a été ajouté comme BDFL de Markdown. Il en est bien le créateur, mais le qualifier de BDFL me semble un peu exagéré.
  • Parmi les articles liés, j’ai préféré celui-ci de Jan van den Berg
    https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    Une phrase qui m’a marqué : « Vim est un chef-d’œuvre, un outil d’usinage brillant et précis dont une grande partie du monde moderne a été taillée »
    Et il y a aussi ce lien
    https://m.youtube.com/watch?v=eX9m3g5J-XA
    « 7 Habits for Effective Text Editing 2.0 »
    Ça dure 1 h 20, donc ce serait bien si quelqu’un avait une transcription ou un résumé. Le premier commentaire était drôle : « J’ai laissé la lecture automatique activée pendant que je dormais 7 heures, et je suis passé de Billie Eilish à cette vidéo »
    La vie est étrange, mais c’est aussi ce qui la rend belle
    Pour info, je n’utilise ni (Neo)vim ni Emacs. Dès que je lis le mot « programmable », je prends mes distances. Je préfère configurer en quelques minutes un éditeur à fonctionnalités fixes qui me convient, puis l’utiliser tout de suite. Ce n’est qu’une question de goût
    Cela dit, un bon outil remplit bien son rôle. Un monde où il existe de bons outils et les personnes qui les créent est un monde meilleur. Parfois, cet héritage, cette philosophie et cette façon de travailler continuent de vivre dans le code ou la communauté laissés derrière. Hommage à Bram

    • Je ne sais pas s’il faut mettre les textes d’hommage en concurrence, mais celui qui a été publié était lui aussi émouvant. La photo du graphe de contributions GitHub de Bram est inoubliable
    • Si tu n’aimes pas le terme « programmable » et que tu veux un éditeur à fonctionnalités fixes qui te convienne, Helix pourrait te correspondre
      Il utilise les raccourcis clavier de Kakoune, et je les trouve bien plus cohérents que ceux de Vim ou d’Emacs. Il est déjà bien configuré par défaut et propose beaucoup de fonctions utiles. Je l’utilise tous les jours, il est rapide et très correct
      S’il y a un LSP dans le PATH, il l’utilise automatiquement, donc il demande très peu de configuration. Ma config se limite au thème et à quelques changements de style ; si tu veux, elle est visible ici : https://github.com/RGBCube/NixOSConfiguration/blob/master/ma...
    • Vim n’a presque pas besoin d’être « programmé », à part choisir des choses comme set nocompatible, set ruler, le comportement de la touche retour arrière, l’indentation, ou l’un des thèmes de couleurs par défaut
      Dans Neovim, j’ai installé lightline, pathogen, le thème monokai et encore un truc, probablement la coloration syntaxique d’un langage un peu plus exotique
      L’essentiel, c’est que Vim est un éditeur à fonctionnalités fixes tant qu’on ne commence pas à lui greffer un tas de choses
    • Les supports de « 7 Habits for Effective Text Editing 2.0 » sont ici : https://moolenaar.net/habits_2007.pdf
      Grâce à tlamponi [1] : https://news.ycombinator.com/item?id=37013315
  • Vim a réellement eu un impact sur ma vie. Je l’utilise depuis 15 ans, et quand j’obtiens un nouvel hôte, j’ajoute presque immédiatement set -o vi, ou un réglage similaire pour psql/ipython, dans les fichiers rc
    Les innombrables heures passées dans le shell ont été rendues bien plus agréables grâce au travail de Bram
    Merci d’avoir publié cet article, et qu’il repose en paix

    • Apprendre les commandes Vim a été l’une des choses au meilleur retour sur investissement que je connaisse. Cela m’a été précieux pendant des années et m’a probablement fait gagner des centaines d’heures dans mes interactions avec l’ordinateur
      C’est devenu de la mémoire musculaire il y a longtemps, et éditer du texte ou déplacer le curseur à l’écran ne me demande désormais plus aucun effort
      C’est l’une des choses que je recommande toujours aux nouveaux programmeurs. On peut dire que la courbe d’apprentissage de Vim est raide, mais il aide à voir plus efficacement les interactions avec le texte que les programmeurs effectuent en permanence
      J’active le mode Vi(m) partout où il est pris en charge : dans le shell et partout où Readline est utilisé, dans Emacs en changeant le comportement par défaut avec evil-mode, etc.
      Les interfaces modales et les commandes mnémoniques composables sont bien supérieures et plus intuitives que l’UI à combinaisons de touches façon Emacs. J’adore Vim. C’est l’outil qui m’a lancé dans cette aventure il y a plus de 20 ans, et je l’utilise encore tous les jours pour les éditions rapides. Cela dit, comme IDE, je préfère Emacs, un environnement plus extensible. Grâce à evil-mode, j’ai le meilleur des deux mondes
      Bram a amélioré la vie d’innombrables personnes et mérite d’être reconnu parmi les grandes figures de notre secteur. RIP
  • Dans le monde des logiciels éphémères, Vim est un chef-d’œuvre intemporel
    J’aurais aimé avoir l’occasion de remercier directement Bram pour l’impact qu’il a eu sur ma vie et ma carrière. Sans Vim, je ne pense pas que je serais arrivé jusque-là

    • Je pense que c’est l’un des points importants de Vim. Plus il existe longtemps, plus il a de chances de continuer à survivre. Il a tenu plus longtemps que d’innombrables éditeurs de texte modernes
      J’espère qu’il continuera à vivre de mon vivant, et au-delà