53 points par GN⁺ 2024-09-11 | 5 commentaires | Partager sur WhatsApp
  • « Nous aimons développer des logiciels » : coder est un parcours en zigzag de résolution de problèmes, et la destination compte moins que beaucoup ne le pensent
  • On nous pose souvent des questions comme :
    • « Pourquoi faites-vous cela ? »
    • « Quel est le but de ce projet ? »
    • « En quoi ce projet est-il meilleur que X ? »

L'intensité de la Silicon Valley

  • Si vous passez beaucoup de temps sur Hacker News ou sur d'autres sites d'actualités centrés sur les startups, vous pouvez finir par croire que tout le monde est obsédé par la prochaine startup à plusieurs millions de dollars ou par une stratégie de sortie
  • Il peut être difficile d'imaginer que des gens travaillent sur du code open source simplement pour le plaisir
  • Il existe des hackers qui aiment l'art de construire des logiciels. Ils le font pour le défi, pour le plaisir. Ils n'essaient pas de devenir millionnaires

La culture de consommation

  • Ou bien, si vous ne faites que consommer le logiciel des autres et ne créez presque jamais rien, vous pouvez rester enfermé dans l'idée : « Qu'est-ce que ce projet peut faire pour moi ? » (et, si le projet n'a rien à voir avec vous, vous vous demandez pourquoi il existe)
  • Il existe des hackers qui n'ont pas besoin que beaucoup de gens consomment leur logiciel. Bien sûr, c'est agréable si d'autres apprécient, admirent ou remercient leur travail, mais ce n'est pas strictement nécessaire. Le simple fait de créer est amusant en soi.

Nous le faisons juste pour le plaisir. Vraiment.

  • Enfin, les personnes qui n'ont appris que les compétences de programmation nécessaires à leur travail quotidien peuvent ne pas comprendre les programmeurs qui essaient toujours quelque chose de nouveau
  • Il existe des hackers qui vivent et respirent le code
    • L'idée que chaque ligne de code doive prouver sa valeur financière, que chaque heure passée à trimer devant le clavier doive être justifiée, est vraiment regrettable
  • Le processus lui-même a de la valeur. Même imparfait, il a une valeur en soi. Il n'y a pas que le produit final qui compte
  • Je terminerai par ma citation préférée sur la programmation :

Le programmeur, comme le poète, travaille un peu à l'écart de la pure pensée. Il met son imagination à l'œuvre et bâtit des châteaux dans les airs. Peu de médiums créatifs sont aussi souples, aussi faciles à polir et retravailler, et permettent de réaliser aussi aisément de grandes structures conceptuelles. Pourtant, contrairement aux mots du poète, les structures du programme sont réelles en ce qu'elles produisent des résultats visibles, distincts de la structure elle-même, et qu'elles bougent et fonctionnent.
— Fred Brooks, The Mythical Man-Month

Essayez !

  • Si vous avez l'impression de vous être perdu — si coder était autrefois amusant mais est maintenant devenu une corvée qu'il faut accomplir juste pour pointer et toucher son salaire, nous vous invitons à y revenir !
  • Ou bien si l'on vous a habitué à penser que programmer des idées farfelues est réservé aux professionnels et aux universitaires, cette page est pour vous. Vous avez le droit de bricoler et d'y prendre du plaisir !
  • Pensez à quelque chose que vous aimeriez créer, apprendre ou expérimenter dans un ordinateur. Et sans d'abord chercher ni faire de recherches, lancez-vous. Vous y prendrez peut-être un peu de plaisir. Vraiment.

Le club

Sans ordre particulier, voici quelques projets qui portent fièrement l'étiquette « juste pour le plaisir ».

  • Natalie - un compilateur Ruby créé pour le plaisir
  • ZigSelf - une implémentation de Self en Zig créée pour le plaisir
  • php-parser-rs - un parseur PHP en Rust créé pour le plaisir
  • ex6502 - un émulateur de processeur 6502 en Elixir créé pour le plaisir
  • Piko-piko OS - un toy OS x86 16 bits créé pour le plaisir
  • Folders2kt - un langage de programmation ésotérique créé pour le plaisir
  • GCC Rust - un compilateur Rust créé pour le plaisir
  • Soul - un serveur SQLite REST et temps réel créé pour le plaisir
  • hssp - un CLI des codes de statut HTTP créé pour le plaisir
  • PyCraft - un lanceur Minecraft en Python créé pour le plaisir
  • hashsearch - un moteur de recherche d'images inversée créé pour le plaisir
  • quackspeak - un moteur de synthèse vocale utilisant des canards créé pour le plaisir
  • Quark - un dialecte Lisp haute performance créé pour le plaisir
  • Whitecat - un CLI pour le développement PHP créé pour le plaisir
  • eClient - un lanceur Minecraft en Python créé pour le plaisir
  • CascadeOS - un OS généraliste créé pour le plaisir
  • Kiesel - un moteur JavaScript en Zig créé pour le plaisir
  • github-pewpew - un outil CLI pour supprimer des dépôts, créé pour le plaisir
  • dt - un langage chaînable proche d'AWK créé pour le plaisir
  • grab - un clone léger de grep créé pour le plaisir
  • math-with-regexps - faire des maths avec des expressions régulières, pour le plaisir
  • noro - un éditeur de texte avec gestionnaire de fenêtres créé pour le plaisir
  • Vox - un générateur de sites statiques en Elixir créé pour le plaisir
  • jimson - un parseur JSON créé pour le plaisir
  • txt2tufte - un générateur de sites web dans le style Tufte créé pour le plaisir
  • Azure Storage Web Explorer - un explorateur web Azure Storage créé pour le plaisir
  • renam - un utilitaire de renommage de fichiers très rapide créé pour le plaisir
  • Funciton - un langage de programmation en boîtes créé pour le plaisir

L'avis de GN⁺

  • Cet article parle de la valeur et de l'importance, pour les programmeurs, de poursuivre le plaisir pur et simple. Dans la culture actuelle de la consommation et des startups, on subit la pression voulant que tout doive être pratique et rentable, mais cela peut nuire à la créativité et à l'innovation en programmation.
  • La communauté open source en est un bon exemple concret. Beaucoup de projets open source importants ont d'abord commencé comme des projets personnels de loisir, et ont permis d'explorer au passage de nouvelles idées et approches.
  • Mais poussée à l'excès, cette attitude peut aussi entraîner une prolifération de projets peu pratiques. Au final, l'équilibre entre plaisir et utilité semble important. Malgré tout, ce texte a le mérite de nous rappeler la valeur du plaisir pur et de la curiosité, que nous oublions souvent.
  • Pour les développeurs fatigués par le travail quotidien, ce genre de projet hobby peut être une bonne source d'inspiration et de motivation. C'est aussi un texte que j'aimerais recommander à ceux qui veulent apprendre un nouveau langage ou une nouvelle technologie mais ont l'impression de manquer de temps.

5 commentaires

 
geekbini 2024-09-18

Il me semble que le langage Python lui-même a aussi été créé pour le plaisir pendant environ une semaine de vacances.

 
joon14 2024-09-12

J’aime bien développer pour le plaisir, mais ces temps-ci je suis complètement KO en rentrant du travail, donc je n’arrive même pas à imaginer m’y mettre. Il y a vraiment des gens impressionnants.

 
savvykang 2024-09-12

Il existe aussi des moyens de contribuer, par exemple en aidant au dépannage dans l’issue tracker de projets open source que vous utilisez souvent ou en participant à la documentation. Il ne me semble pas forcément nécessaire de lancer un nouveau projet ou de coder à tout prix.

 
halfenif 2024-09-11

Jusqu’en 1994, j’étais un simple utilisateur d’ordinateur, puis j’ai appris des langages et, en 1995, j’ai exercé un métier lié à l’« informatique ».

Avec le recul, je me dis que j’ai eu une chance incroyable.

Il m’arrive parfois de me demander si ce n’est pas moi qui devrais payer pour aller travailler.

 
GN⁺ 2024-09-11
Discussion sur Hacker News
  • J’aime créer des choses avec du code ; parfois je pense aussi au gain financier, mais la plupart du temps je mène des projets surtout pour le plaisir

    • J’anime un groupe qui mène des projets ensemble pendant 6 semaines, et nous venons de terminer la deuxième cohorte
    • Le processus consistant à résoudre ensemble des projets et des défis est très agréable
  • Lors d’un entretien, j’ai expliqué un projet personnel, mais l’intervieweur n’arrêtait pas de me demander pourquoi j’avais fait ce projet, ce qui m’a mis mal à l’aise

    • J’ai expliqué que je l’avais fait simplement pour le plaisir et pour apprendre, mais l’intervieweur ne comprenait pas
  • Pour expliquer la motivation à créer du logiciel, il compare cela au fait de construire seul un château de sable sur la plage et d’en tirer de la satisfaction

    • Même si personne ne le remarque, même s’il disparaît avec les vagues, cela procure de la satisfaction
  • Les grands modèles de langage (LLM) rendent plus facile le lancement de projets amusants

    • On peut créer un prototype simple sans long processus de recherche ni configuration d’outils
    • Il a créé une webapp musicale basée sur la localisation pour écouter une musique différente à chaque promenade
  • Pour investir du temps dans des projets personnels, il réduit ses dépenses courantes et utilise le temps entre deux contrats

    • Il avance sur ses projets semaine après semaine et consacre du temps aux projets dont il rêvait
    • Il fait ces projets pour le plaisir, mais y investit son temps sérieusement
  • Il est dommage que les listes de projets faits pour le plaisir ne comprennent que les projets terminés

    • Elles devraient aussi inclure les projets inachevés ou ceux sur lesquels on a travaillé quelques semaines avant de les oublier
    • Le plaisir du code réside dans le fait d’apprécier le processus lui-même
  • Dans une conversation avec des collègues hier, ils sont arrivés à la conclusion qu’il est important de développer ses compétences en produisant beaucoup de travail

    • En prenant l’exemple de John Carmack, ils ont partagé l’expérience d’avoir progressé techniquement en créant de nombreux jeux
    • Essayer de choisir le bon langage et les bons projets de portfolio finit au contraire par provoquer des retards
  • Les produits créés pour le plaisir comme ceux créés pour le profit peuvent tous deux être de mauvaise qualité

    • Au-delà de cette opposition entre plaisir et profit, l’important est de créer de bons produits logiciels et systèmes de programmation
  • C’est une expérience intérieure comparable au fait de préparer seul un excellent plat, mais qui a de la valeur en soi

    • Il est difficile de l’expliquer à ceux qui ne comprennent pas cet état d’esprit
  • Sur des sites comme Hacker News, on peut penser que beaucoup de gens préparent la prochaine startup à succès

    • Mais il y a aussi beaucoup de personnes qui travaillent sur du code open source pour le plaisir
    • HN est une source majeure pour voir des programmeurs travailler de façon plus amusante