Je me permets de mettre ici ce court article que j'ai traduit à la va vite avec GPT et mes quelques neurones restant.
Source : La Congrégation de la Première Église Unie des Machines Bizarres et son premier épitre, que l'on peut trouver sur l'internet Archive. Avec son célèbre mantra : Proof || GTFO
Un sermon concernant la divinité des langages ; ou, Dijkstra considéré comme raciste
Une épître du Très Révérend Pasteur Manul Laphroaig,
pour la Bien-aimée Congrégation de la Première Église Unie des Machines Bizarres
Générer des sons
Comme vous l'avez vu,
PEEK (-16336)
clique le haut-parleur de l'APPLE ][.
POKE -16336,0
cliquera également le haut-parleur, et tout programme qui effectue des PEEK ou des POKE répétés à l'adresse -16336 produira une tonalité continue.
Figure 4 : Extrait de la programmation Apple ][ Basic (1978)
En m'adonnant à quelques-unes des meilleures œuvres du Pasteur, je proclame à ma congrégation qu'il y a de la divinité dans chaque langage de programmation.
————
« Mais », demandent ils, « s'il y a de la divinité dans tous les langages, où se trouve la divinité dans PHP ? Bien qu'il soit présenté comme un langage pour les débutants, il est impossible, même pour un expert, de coder de manière sécurisée en PHP. »
Me versant un autre verre, je dis : « PHP nous enseigne que la concaténation de chaînes de manière sécurisée en mémoire est tout aussi dangereuse que n'importe quelle bêtise qu'un débutant pourrait faire en C, mais bien plus facile à exploiter. Mon point n'est pas que PHP est facile à écrire, car ce n'est pas facile de l'écrire de manière sécurisée ; plutôt, la divinité de PHP réside dans le fait qu'il est si facile à exploiter ! En vérité, je vous le dis, des dizaines de voisins qui ont ensuite appris à écrire de bonnes attaques ont d'abord appris qu'un programme pouvait en attaquer un autre en dérobant des bases de données SQL grâce à un code PHP mal écrit. « Si un langage comme PHP introduit tant de gens à l'exploitation, alors c'est sa divinité. Il offre un premier pas pour que les enfants apprennent comment l'exécution d'un programme peut dérailler, avec des données et des contrôles si faciles à manipuler. »
————
« Mais », demandent ils, « s'il y a de la divinité dans tous les langages, où se trouve la divinité dans le BASIC ? On peut sûrement se moquer de ce langage infernal. Ses lignes numérotées sont laides, et même les dieux rient de la façon dont le code ressemble à du spaghetti. »
Me versant un autre verre, je proclame : « Les dieux aiment bien rire, mais pas aux dépens du BASIC ! Alors que PHP est destiné aux programmeurs universitaires, le BASIC est destiné aux enfants. Maintenant, réfléchissons y soigneusement, sans faire de conclusions hâtives.
« Le BASIC offre une courbe d'apprentissage qui ressemble à une boîte en carton, car lorsqu'un enfant est piégé à l'intérieur, il apprendra rapidement à s'en sortir. Dans le premier chapitre d'un livre BASIC, vous trouverez le classique « Hello World ».
10 PRINT "Hello World"
« Grogne si tu veux, mais reste avec moi là-dessus. Au sixième chapitre, vous trouverez quelque chose comme ce joyau.
250 REM Cela annule ONERR dans APPLE DOS
260 POKE 216, 0
« Asseyez vous et émerveillez vous », dis-je, « devant la densité d'enseignement de ces deux lignes. Elles disent à un enfant de plonger son doigt dans le cœur du système d'exploitation pour effacer une erreur du disque APPLE DOS. Comment C, Haskell, Perl ou Python pourraient ils commencer à rivaliser avec un tel talent éducatif ? À quel point faut-il être avancé pour apprendre ces langages avant de pouvoir arracher une constante du cerveau du système d'exploitation, comme PEEK(222) pour lire l'état d'erreur ou POKE 216, 0 pour le supprimer ? »
Un étudiant demande alors : « Mais le code est tellement désorganisé ! Le professeur Dijkstra dit que tout code doit être correctement organisé, que GOTO est nuisible et que le BASIC corrompt la jeunesse. »
Me versant un autre verre, je dis : « Le conseil de Dijkstra va bien si vous voulez programmer des logiciels. Il est vrai que le BASIC est un langage horrible pour écrire des logiciels complexes, mais réfléchissons à la valeur éducative du code spaghetti. Dijkstra dit qu'un esprit exposé à du BASIC ne deviendra jamais un bon programmeur. Bien que je fasse confiance à ses opinions sur les algorithmes, ses pensées sur le BASIC sont racistes. »
« Un esprit qui n'a pas été exposé à du BASIC aura beaucoup de mal à devenir un ingénieur inverse. Que pense un voisin qui a grandi avec le code spaghetti BASIC lorsqu'il lit pour la première fois un désassemblage non annoté ? Aussi sûrement que le gostak distime les doshes, il sait qu'il a déjà vu un code spaghetti bien pire et que cela ne sera pas un grand défi ! »
« Vraiment, je suis autant émerveillé par le génie éducatif du BASIC que je le suis par l'incompétence des pédagogues qui enferment des enfants dans une pièce avec un adulte lettré pendant une décennie, trouvant ces enfants toujours incapables ou peu disposés à lire à la fin. Enfermez un enfant dans une pièce avec un APPLE ][ et un livre sur le BASIC, et rapidement un ingénieur inverse émergera. »
« Il y a de la divinité dans tous les langages, mais le BASIC pourrait bien être le plus important pour enseigner notre profession. »
————
« Mais », demandent ils, « s'il y a de la divinité dans tous les langages, où se trouve la divinité dans Java ? »
Me versant un autre verre, je le bois lentement. « La leçon est terminée pour aujourd'hui. »
Bonne journée à tous !
Partager