Dès 1972, INTERCAL posait le ton. Don Woods et James M. Lyon, alors étudiants à Princeton University, avaient prévu dans le langage l’usage obligatoire du mot « PLEASE » dans le code, comme on le voit dans le code source original d’INTERCAL (1972).
Un programme INTERCAL pouvait donc être refusé s’il manquait de politesse, mais aussi s’il en faisait trop. Le compilateur le classait alors comme « insufficiently polite » ou « excessively polite », là encore d’après le code source original d’INTERCAL (1972). Assez étrange, au fond: les bonnes manières y devenaient une contrainte technique, avec un dosage à respecter presque au millimètre.
INTERCAL, pour « Compiler Language With No Pronounceable Acronym », qu’on peut rendre en substance par « langage compilé sans acronyme prononçable », a été conçu en 1972 par Don Woods et James M. Lyon, deux étudiants de Princeton University. Leur intention ne faisait guère de doute: tourner en ridicule les langages de programmation de leur temps.
Ils n’essayaient ni de faire élégant, ni de faire clair, ni de faire efficace. Don Woods et James M. Lyon ont fabriqué un véritable ovni logiciel, sans équivalent évident à l’époque, avec une syntaxe à rebours du bon sens, un jargon improbable et des choix de conception pensés pour agacer les programmeurs autant que pour les faire rire.
La règle du « PLEASE » est d’ailleurs loin d’épuiser le sujet. Là où la plupart des langages s’appuient sur un « GOTO » encore relativement lisible, INTERCAL le remplace par « COME FROM », une construction qui complique volontairement le suivi de la logique d’un programme.
INTERCAL propose aussi des instructions comme « IGNORE » et « FORGET ». Rien qu’avec leurs noms, on comprend déjà le ton de la plaisanterie. Même les opérations d’entrée et de sortie ont été rendues plus pénibles: dans l’implémentation d’origine, les nombres entrés devaient être écrits en toutes lettres en anglais, et la sortie s’affichait sous une version déformée des chiffres romains.
Et pourtant, INTERCAL n’est pas juste un canular. Le langage est Turing-complet, ce qui veut dire qu’il peut, en théorie, exécuter n’importe quel calcul qu’une machine de Turing universelle est capable de réaliser.
Dans les faits, personne n’a jamais pris INTERCAL pour un outil sérieux de développement de logiciels utiles. Mais c’est bien une machine à calcul, une vraie. C’est ce paradoxe précis qui lui a assuré une place durable dans l’histoire de la programmation. INTERCAL y apparaît souvent comme le premier langage ésotérique, l’ancêtre d’une famille entière d’esolangs créés comme satire, comme geste artistique, ou comme commentaire sur les travers du développement logiciel.
L’intérêt pour cette curiosité a d’ailleurs repris de la vigueur en juin 2025, au moment où le code source du compilateur original de 1972 a été redécouvert puis publié. Les historiens de l’informatique comme les passionnés ont ainsi désormais un accès plus direct à la version fondatrice de ce langage vraiment à part.
Plus de cinquante ans après, INTERCAL reste une blague technique devenue référence culturelle. Et pour la mémoire de l’informatique, c’est une excellente nouvelle: il arrive que l’humour laisse des traces durables.