1 points par GN⁺ 2025-12-13 | 1 commentaires | Partager sur WhatsApp
  • L’auteur qui a développé l’éditeur de code personnel Boo explique pourquoi il a mis temporairement le projet en pause pour créer un nouveau langage de programmation.
  • Boo, un éditeur basé sur Rust doté d’une navigation clavier centrée sur l’utilisateur et d’un système de remplacement du LSP, vise surtout une utilisation personnelle plutôt que la commercialisation.
  • Ayant constaté que le processus de développement répétitif diminue la créativité, il met l’accent sur le plaisir de créer des logiciels inspirants.
  • En prenant pour exemples le montage de briques LEGO et The Legend of Zelda: Breath of the Wild, il souligne l’importance de réalisations mémorables.
  • Plutôt que de suivre une formule de succès, il adopte une philosophie de développement centrée sur ses propres centres d’intérêt et son apprentissage, et prévoit de réécrire Boo plus tard dans le langage qu’il crée.

Projet Boo et motivations du développement

  • Boo est un projet que l’auteur a conçu comme éditeur de code pour lui-même, avec un focus sur l’utilité personnelle plutôt que le succès populaire.
    • Boo intègre une navigation clavier humain-centrée et utilise, à la place du LSP (Language Server Protocol), un système plus rapide et moins exigeant pour l’OS.
    • Il fonctionne suffisamment bien pour être utilisé au quotidien, mais il n’a pas l’intention de le publier en open source.
  • Boo et Rio Terminal sont tous deux écrits en Rust et suivent une structure et un processus de distribution similaires.
    • Ces similitudes donnent l’impression d’un travail répétitif et réduisent le plaisir de développer.

Relation entre création et inspiration

  • En prenant le jeu de montage LEGO comme exemple, il explique que la liberté de créer des formes différentes à chaque fois est au cœur du plaisir créatif.
    • Selon lui, l’intérêt vient de l’ajout d’éléments externes pour obtenir un résultat nouveau, plutôt que de réutiliser sans cesse les mêmes pièces.
  • Plus la programmation devient répétitive, moins il y a de chances d’obtenir une création capable de provoquer un effet « waouh ».
    • Il insiste sur le fait qu’il faut être inspiré pour créer des logiciels qui inspirent.

Exemples de logiciels marquants

  • En citant The Legend of Zelda: Breath of the Wild, il évoque la qualité de réalisation qui a poussé même des personnes qui ne jouaient pas au jeu à acheter une console.
    • Il met en avant la force d’une œuvre capable de rester en mémoire bien après la session de jeu.
  • Il explique qu’un logiciel élaboré avec un tel niveau de soin laisse une impression émotionnelle durable sur les gens.

Arrêt de Boo et développement d’un nouveau langage

  • Boo est un projet de loisir sans objectif commercial, sans revenus ni deadline.
    • Il n’a pas l’intention de créer un projet de grande ampleur comme VS Code et ne progresse pas de manière forcée.
  • Il a mis Boo en pause pour pouvoir le reprendre lorsque l’inspiration reviendra, et il développe actuellement son propre langage de programmation.
    • À long terme, il prévoit de réécrire Boo avec ce langage.

Philosophie et attitude de développement

  • Développer un nouveau langage demande beaucoup de travail, mais l’auteur le perçoit comme un processus d’apprentissage agréable.
    • Il avance à son propre rythme, tout en élargissant sa compréhension des binaires et des compilateurs.
  • Plutôt que de suivre des formules de succès ou des conseils extérieurs, il continue de développer en se centrant sur sa façon de penser et ses intérêts.
  • Cet article lui-même a été rédigé avec Boo.

1 commentaires

 
GN⁺ 2025-12-13
Avis Hacker News
  • En voyant le message disant qu’il s’était levé, avait bu un café, et que sa famille s’était endormie, lui laissant l’après-midi libre, je me suis demandé dans quel fuseau horaire sa famille pouvait bien vivre. J’ai même imaginé une famille qui dort l’après-midi, ou des gens qui se lèvent le soir pour commencer leur journée

    • Quelqu’un a plaisanté en se demandant si son autre hobby n’était pas l’anesthésie. Il a peut-être des enfants qui font la sieste, mais même dans ce cas, ça ne lui laisserait sans doute que deux heures de temps libre
    • Son attitude, qui semble prendre plaisir à ne pas passer de temps avec sa famille, paraît un peu étrange. Ce n’est pas vraiment quelque chose à célébrer
    • Vu l’exemple de “Breath of the Wild”, on a l’impression de lire un billet de blog venu d’une autre dimension
    • C’est peut-être l’Espagne, à cause de leur légendaire sieste
  • La phrase « cet éditeur existe pour me faire plaisir » semble rafraîchissante. En ce moment, il y a une pression pour que chaque side project devienne de l’open source ou du SaaS, et cela finit souvent par tuer la créativité. Des projets expérimentaux comme Boo ou Rio semblent naître de cette liberté

    • L’open source, c’est bien, mais je pense qu’il est aussi acceptable de ne pas accepter de patchs et de simplement publier le code
    • Aujourd’hui, au-delà même de l’open source ou du SaaS, l’ambiance veut que tout doive viser une échelle enterprise. Les petits langages, l’expérimentation, l’auto-hébergement et l’esprit DIY sont presque devenus une contre-culture
    • Je me reconnais dans l’idée de « quelque chose qui existe pour me faire plaisir ». (Emacs)
  • Le « je l’ai fait pour moi » est la manière de faire de beaucoup d’artistes. Tolkien faisait pareil, et la plupart créent d’abord pour eux-mêmes avant de montrer leur travail au monde. Mais en général, personne ne s’y intéresse, ou alors seulement après leur mort. Et ce n’est pas grave. L’important, c’est l’instinct humain d’exprimer son imagination vers l’extérieur

    • J’ai moi aussi créé ma bibliothèque canvas dans cet esprit. J’ai commencé parce que je voulais donner une nouvelle forme à la poésie sur un site web, et cela occupe désormais mes loisirs depuis plus de dix ans. Le résultat se trouve sur cette page de poème
    • Il m’est déjà arrivé qu’un e-mail écrit sous le coup de la colère soit publié comme tribune (op-ed) dans un journal local sur la suggestion d’un ami. J’étais heureux que quelqu’un ait accordé de l’attention à ce que j’avais écrit
    • Si l’on crée vraiment pour soi-même, il ne faut pas se soucier du regard des autres. Avant, je me demandais moi aussi « qu’est-ce que les autres vont penser ? », mais à partir du moment où j’ai vraiment commencé à créer pour moi, la sensation a complètement changé
    • Autrefois, pour qu’un artiste poursuive sa vision, il lui fallait un mécène (patron). Aujourd’hui, le mécénat s’est démocratisé, mais à la place, ce sont les clics qui déterminent les moyens de subsistance. C’est dommage que l’argent, au lieu d’aller à de riches mécènes, se concentre désormais sur la crypto ou l’IA
    • En parlant « d’artiste reconnu seulement après sa mort », ça me fait penser à ce peintre néerlandais à qui il manquait une oreille
  • Quand la programmation devient répétitive, l’effet « wow » diminue. Mais des projets comme yt-dlp, qui prennent en charge une grande variété de sites, font exception. Produire d’innombrables parseurs de données est ennuyeux, mais au final cela donne l’impression que « ça marche partout »

  • Je crée des logiciels qui font ressentir des émotions aux gens — principalement de la colère. Au fond, il n’existe que deux types de logiciels : ceux qu’on ignore, et ceux qu’on utilise assez pour s’en plaindre

    • Par exemple, Microsoft Teams ou Office 365 suscitent clairement des émotions, mais pas de la joie
    • Même chose pour les logiciels DRM. Le cas du rootkit Sony BMG, en particulier, est légendaire
    • Les outils que j’ai créés en essayant de résoudre des problèmes que je rencontre chaque jour ont aussi produit la meilleure qualité. Si on essaie de généraliser trop tôt, on ralentit et la qualité en pâtit
  • Emacs et Emacspeak me procurent d’énormes émotions. Tout donne l’impression de former un seul manuel, et il suffit d’appuyer sur C-h m pour que toutes les commandes apparaissent immédiatement. Rien n’est caché, pas besoin d’aller fouiller dans de la documentation HTML. Et si ça ne marche pas, je peux toujours le corriger avec Codex pour obtenir ce que je veux

  • Dans l’idéal, le développement logiciel devrait relever de l’artisanat (craft). Comme le travail du bois, cela peut être utile tout en étant un art. Mais beaucoup de projets traitent les développeurs comme des ouvriers d’usine. Le problème, c’est une culture qui valorise la quantité plutôt que la qualité.
    En même temps, considérer le logiciel uniquement comme de l’art n’est pas très pratique. Le but du code n’est pas d’être contemplé, mais de fonctionner. Cela dit, c’est dommage que l’expression « un logiciel empreint d’artisanat » sonne bizarre

    • Le travail du bois aussi consiste au fond à fabriquer une chaise pour s’asseoir, pas à la regarder. Alors je ne comprends pas pourquoi on ne voit pas le logiciel sous l’angle de l’artisanat
  • Des entreprises FAANG comme Meta ou Google ont elles aussi déjà créé des logiciels qui font ressentir des émotions — colère, déprime, parfois même joie. Mais cela montre comment une technologie née de bonnes intentions peut être déformée. Comme le dit l’expression, « l’enfer est pavé de bonnes intentions » : on poursuit le bien et l’on finit par produire du mal.
    Pour citer Knuth, laisser « des milliers d’informaticiens faire librement ce qu’ils veulent » est le moteur du progrès. Comme à Bell Labs, la liberté d’exploration est essentielle.
    Aujourd’hui, on est obsédés par l’optimisation tout en étant maladroits en mathématiques, et au final nous sommes devenus une société qui a cessé d’explorer. C’est pour cela que je pense que les progrès ont ralenti

    • J’ai une formule : « si tu veux mener des chats, tu dois toi-même devenir un chat ». Pour guider des génies, il faut devenir comme eux. Il faut parfois assumer plusieurs rôles soi-même
  • C’est une habitude que j’ai apprise de Casey Muratori et Jonathan Blow : moi aussi, j’aime construire mon propre petit monde. Ce sont des projets dont je suis l’unique utilisateur et la seule cible. Un espace de pur plaisir, sans deadline, sans demandes, sans runtime

    • Quelqu’un demande si « créer son propre monde » veut peut-être dire un monde géographique imaginaire. Tolkien et Stevenson ont aussi commencé ainsi
    • Mais Blow et Casey mettent longtemps à sortir quoi que ce soit
  • De nos jours, la plupart des logiciels me provoquent des émotions fortes

    • En particulier, node_modules me met en colère. Quand je vois des applications basées sur Electron, je me demande « où avons-nous dérapé ? ». Et je déteste aussi voir des interfaces mobiles plaquées sur le bureau