Just for Fun. No, Really. - Développé juste pour le plaisir. Vraiment. (2022)
(justforfunnoreally.dev)- « 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
Il me semble que le langage Python lui-même a aussi été créé pour le plaisir pendant environ une semaine de vacances.
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.
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.
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.
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
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
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
Les grands modèles de langage (LLM) rendent plus facile le lancement de projets amusants
Pour investir du temps dans des projets personnels, il réduit ses dépenses courantes et utilise le temps entre deux contrats
Il est dommage que les listes de projets faits pour le plaisir ne comprennent que les projets terminés
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
Les produits créés pour le plaisir comme ceux créés pour le profit peuvent tous deux être de mauvaise qualité
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
Sur des sites comme Hacker News, on peut penser que beaucoup de gens préparent la prochaine startup à succès