01.04 — Citations et influences revendiquées#
Les références citées dans le Holy Book ne sont pas neutres : elles fixent le cadre théorique d’Ocarina. On les recoupe ici par grands axes, puis on en propose une lecture d’ensemble.
Axe technique — Programmation fonctionnelle, types, langages#
| Influence | Origine | Rapport avec Ocarina |
|---|
| Railway Oriented Programming (ROP) | Scott Wlaschin (F#), pattern bien connu en programmation fonctionnelle | Le cœur du framework. Result[T] = Ok[T] | Fail, short-circuit, builder fluide. Voir ../02-ocarina/03-railway/. |
| λ-calcul (1930) | Alonzo Church | Cité comme l’invention qui rend possible la « formalisation propre » qu’Ocarina poursuit : « Ce que l’on pensait depuis les années 1930, depuis l’invention du λ-calcul, est enfin scalable à l’échelle que l’on aurait toujours voulu lui donner. » |
| McCulloch & Pitts (1943) | Première formalisation du neurone artificiel | Cité comme rappel que les vrais progrès en IA sont anciens et continus, contre la hype récente. |
| Système de types Python (PEP 695) | PEP 695 (Python 3.12+) | Pré-requis pour le typage générique paramétrique qui structure Ocarina (TestSuite[Driver], Result[T], etc.). Voir ../03-functional/06-pep-695-generics.md. |
Axe culturel — Anti-narcissisme, simplicité, KISS bien compris#
| Influence | Citation | Pourquoi |
|---|
| Terry Davis (« le programmeur le plus intelligent qui ait jamais existé ») | « Un idiot admire la complexité, un génie admire la simplicité, un physicien essaie de simplifier… » | Argumentaire anti-complexité ostentatoire ; pierre angulaire du chapitre « Premiers retours ». |
| Lao-Tseu | « Pour avoir de la connaissance, ajouter des choses chaque jour. Pour avoir de la sagesse, enlever des choses chaque jour. » | Démarche de retrait : ce qui reste après élimination. |
| Antoine de Saint-Exupéry | « La perfection est atteinte non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. » | Reformulation occidentale du précédent. Clos le chapitre « Premiers scénarios ». |
| Alan Watts | « La meilleure façon de résoudre un problème est souvent d’en sortir. » | Cité en fin du chapitre « Premiers jutsus » : légitime un design qui refuse certaines fonctionnalités (réactivité, async). Légitime la sortie de l’écosystème des trucs de geeks. |
| Rainer Maria Rilke | « Pour l’instant, vivez les questions… » | Clos le chapitre « Premiers pas ». Posture envers la pratique : la maîtrise vient par l’usage. |
| Marcel Proust | « Le style (…) est une question non de technique, mais de vision. » | Clos le chapitre « Extensibilité ». Justifie le refus d’imposer un DSL : la vision (POMs + actions) prime sur la technique (un format). |
Axe politique — Code, souveraineté, anti-startup-nation#
| Influence | Origine | Rapport avec Ocarina |
|---|
| Code is Law | Lawrence Lessig (1999), repris par Ethereum (2015) comme idéal positif | Cité comme la posture face à la « gouvernance démocratique du code ». Le code est la donnée brute, auditable. Le projet revendique : « De nouveau, avec l’IA, ce maillon qu’il manquait cruellement, crions-le, aussi fort que l’on criait “HACK THE PLANET” en 99 : CODE IS LAW. » |
| DHH — I won’t let you pay me for my open source | David Heinemeier Hansson, blog perso | Cité pour légitimer le refus de contributions non alignées (« Fuck You » fait référence à la célèbre slide de DHH.) |
| Paul Graham — Haters | Essai PG (paulgraham.com/fh.html) | Justifie la décision de « ne JAMAIS perdre [son] temps à argumenter lorsque ce n’est pas la peine ». |
| Yegor Bugayenko — Prompt | Citation « Retry flaky blocks. » | Fond la politique transient_errors + retries linéaires (TestFlow). Lire aussi : Angry Tests. |
| The DAO hack (2016) | Hack de The DAO sur Ethereum | Cité pour pointer que ce sont les bugs (« des satanés bugs, à cause de satanés dévs ») qui ont fait reculer l’idée de Code is Law, d’où l’importance du typage et de la rigueur. |
| Lee Robinson (ex-Vercel) | Décembre 2025 : remplacement de Sanity par des fichiers Markdown + IA chez Cursor | Soutient le « retour à la donnée brute ». |
| Cluely (Roy Lee) | Cité pour illustrer le bullshit entrepreneurial à éviter | Contraste explicite avec la philosophie Ocarina. |
Axe identitaire / underground#
| Influence | Origine |
|---|
| Lulzsec — « In the Lulzboat, salute, bitch, and show some respect. » | Antisec (YTCracker, 2011) |
| « We Can Do All What You Can’t Do » | YogyaCarderLink |
| YTCracker — Robots Will Definitely Take Your Job | Lien SoundCloud, musique de fond du chapitre « Premiers retours » |
| « HACK THE PLANET » (1999) | Slogan emblématique de la scène hackers des années 1990 + Antisec (YTCracker, 2011) |
| Zone-H | Site historique de defaces web |
| r/unixporn, r/AntiTaff | Subreddits |
Axe IA / outillage moderne#
| Influence | Origine | Rapport avec Ocarina |
|---|
| Claude Code | Anthropic | Outillage de référence du projet IA (ocarina-with-ai-example). Cité plusieurs fois comme « pont » remplaçant les DSLs. |
| IntelliCode (2018) | Microsoft | Cité comme repère temporel (« on y avait déjà goûté, avant même IntelliCode »). |
| R., savant fou du silo | Anecdote personnelle (un collègue de 2013, plugin Emacs IA privé) | Rappel que l’IA générative (« 15 000 lignes à supprimer pour éviter d’en écrire 1000 ») existait avant la hype publique. |
| Prisma, Vercel, Cursor | Écosystème SaaS | Cités comme cas pratiques de retour à la donnée brute assisté par IA. |
Cohérence d’ensemble#
Toutes ces influences pointent vers trois axes convergents :
- La donnée brute typée comme matériau primaire (lambda-calcul → ROP → Python typé → IA).
- La sophistication aboutissant à la simplicité comme métrique de qualité.
- La souveraineté comme posture politique.
ROP en est l’incarnation technique : faire du flux d’échec une valeur typée (Ok/Fail) plutôt qu’un effet de bord (exception levée). Le résultat est à la fois fonctionnel et accessible. Le Holy Book le résume :
Ocarina rend son mésusage difficile par conception : le compilateur fait foi.
Ce que ces influences n’ont pas apporté#
| Absent | Pourquoi |
|---|
| Aucune référence à un framework de test concurrent adopté (Cypress, Playwright, Mocha, Jest, RF, Cucumber) | Tous sont mentionnés en contraste, jamais en source d’inspiration. |
| Aucune référence à une école « Clean Code » ou « SOLID » | « Vous. Ne. Savez. Même pas. Ce que. “Clean code”. Veut. Réellement. DIRE. » |
| Aucune référence à un framework DI (Spring, Guice, Hilt) | L’IoC se fait par closures — voir ../03-functional/02-closures-ioc.md. |
L’absence est aussi un choix.