Table of Contents
INTERCAL: il linguaggio che rifiutava il codice poco educato
INTERCAL, linguaggio di programmazione esoterico nato nel 1972, è tornato a farsi notare a giugno 2025, quando è stato ritrovato e pubblicato il codice sorgente del suo compilatore originale. Ed è proprio leggendo quel sorgente che salta fuori uno dei suoi dettagli più assurdi: per compilare correttamente, il programmatore doveva infilare la parola “PLEASE” con una certa frequenza. Se il codice risultava troppo poco educato, il compilatore di INTERCAL lo respingeva.
Il problema è che nemmeno l’eccesso veniva perdonato. Troppi “PLEASE” potevano far scattare un errore per eccessiva cortesia. Non è una storiella inventata dopo, né una di quelle leggende che si appiccicano ai linguaggi strani: era davvero così, già nel compilatore originale di INTERCAL del 1972 e, almeno all’inizio, senza neppure una documentazione che lo spiegasse chiaramente.
Che cos’è INTERCAL e perché è diventato leggendario
INTERCAL nasce nel 1972 per iniziativa di due studenti di Princeton, Don Woods e James M. Lyon. Il nome completo è “Compiler Language With No Pronounceable Acronym”, cioè un linguaggio con un acronimo scelto apposta per essere impronunciabile.
Già questo dice parecchio del tono.
INTERCAL non fu pensato come un linguaggio utile, comodo o elegante da usare. Nacque come parodia dei linguaggi di programmazione del suo tempo. Woods e Lyon si erano dati un obiettivo tanto semplice quanto estremo: costruire qualcosa che evitasse, per quanto possibile, qualsiasi somiglianza con gli altri linguaggi che conoscevano.
Ne uscì un sistema deliberatamente scomodo, pieno di scelte strane, spesso irritanti, concepito più come satira tecnica che come strumento per lavorare davvero.
Il linguaggio che pretendeva cortesia
La regola del “PLEASE” è forse il simbolo più chiaro dello spirito di INTERCAL. Non bastava scrivere codice giusto: bisognava anche mantenere una certa educazione formale. È uno dei primi casi in cui un linguaggio trasforma la sintassi in una battuta, o addirittura in un intralcio messo lì di proposito.
E non era certo l’unica trovata del genere. INTERCAL include comandi surreali come “IGNORE” e “FORGET”.
C’è poi il costrutto “COME FROM”, pensato come sostituto del classico “GOTO”, con il risultato di rendere il flusso del programma ancora più difficile da seguire. Anche input e output erano progettati per complicare tutto: i numeri andavano scritti in parole inglesi, mentre i risultati venivano stampati in una versione alterata, quasi “massacrata”, dei numeri romani.
Una barzelletta, ma tecnicamente seria
INTERCAL nasceva come scherzo, sì, ma ridurlo a semplice curiosità da folklore informatico sarebbe sbagliato. Il linguaggio è Turing-completo, cioè può eseguire, almeno in teoria, qualunque computazione realizzabile da una macchina di Turing universale. Detto in modo più diretto: è assurdo, ma non è affatto banale.
Questo incrocio tra presa in giro e rigore tecnico gli ha assicurato un posto stabile nella storia dell’informatica. INTERCAL viene spesso indicato come uno dei primi, se non proprio il primo, linguaggio esoterico: quei linguaggi creati come forma d’arte, provocazione o commento critico sul modo in cui si progetta il software.
Il segno che ha lasciato si vede ancora nella scena degli esolang, dove programmare può voler dire anche giocare con le regole, prenderle in giro o tirarle fino al punto di rottura.
Per questo la riscoperta e la pubblicazione, a giugno 2025, del codice sorgente del compilatore originale di INTERCAL del 1972 offrono un’occasione rara a storici, appassionati e semplici curiosi: tornare a guardare da vicino uno degli esperimenti più strani mai finiti, a pieno titolo, nel canone della programmazione.