Jóval azelőtt, hogy a ChatGPT és más AI-eszközök mellett újra divat lett udvariasan megfogalmazni a kéréseinket, létezett egy programozási nyelv, amely már eleve elvárta a jó modort. Az INTERCAL nevű nyelv ugyanis nemcsak furcsa, szándékosan nehezen használható és teljesen életszerűtlen volt, hanem még arra is figyelt, hogy a programozó elégszer mondja-e azt:
"please".
Az INTERCAL-t Donald R. Woods és James M. Lyon alkotta meg 1972-ben a Princeton Egyetemen. A neve a Compiler Language With No Pronounceable Acronym rövidítése, ami nagyjából annyit jelent, hogy "fordítónyelv kiejthető betűszó nélkül". Már ebből is sejthető, hogy itt nem egy új ipari szabvány született, hanem a programozási nyelvek egyik legkorábbi és legfontosabb paródiája. A cél az volt, hogy az INTERCAL lehetőleg semmiben se hasonlítson a korabeli programnyelvekre. A korszakban a FORTRAN, a COBOL és a BASIC jelentette a megszokott világot, Woods és Lyon viszont ennek teljes ellentétét akarta megírni. Olyan nyelvet készítettek, amely szándékosan kényelmetlen, következetesen furcsa, és minden ponton szembemegy azzal, amit a programozók természetesnek vesznek.
A változók például nem beszédes neveket kapnak. Egy 16 bites változó neve lehet .1, a következő .2, és így tovább. A pontot az INTERCAL saját terminológiája "spotnak" nevezi. A 32 bites változóhoz már kettőspont kell, vagyis "two-spot", hiszen ha egy pont 16 bitet jelent, akkor két pont nyilván 32 bitet. Ez teljesen abszurd, de pont ez a vicc lényege: az INTERCAL úgy tesz, mintha a saját logikája magától értetődő lenne. Az értékadás sem a megszokott módon működik. A nyelvben a balra mutató nyíl jelzi, hogy egy érték bekerül egy változóba, például így: .1 <- #255. Ez első ránézésre még akár logikusnak is tűnhet, de az INTERCAL minden apró részlete azon dolgozik, hogy a programozó elveszítse a megszokott kapaszkodóit. Az egyszerű tömbök, operátorok, ugrások és kommentek is másképp működnek, mint ahogy az ember várná.
A legismertebb poén mégis az udvariassági rendszer. Az INTERCAL-programokban időnként szerepelnie kell a PLEASE kulcsszónak. Ha a programozó nem kéri elég szépen a fordítót, a program hibával elbukhat, és megjelenhet az üzenet, hogy a programozó nem elég udvarias. De túlzásba sem lehet vinni a jó modort: ha túl sok a PLEASE, a fordító már azt kifogásolja, hogy a programozó túl udvarias. Ez egyszerre nevetséges és zseniális. A legtöbb programnyelvben az udvariasság teljesen értelmezhetetlen fogalom, hiszen a gépnek nem számít, hogy a fejlesztő hogyan "beszél" hozzá. Az INTERCAL viszont paródiává teszi a szabályrendszert: nem elég, hogy a kód helyes legyen, még az is számít, milyen hangnemben fordulunk a fordítóhoz.
A nyelv többi része sem kevésbé elvetemült. A GOTO helyett megjelent a COME FROM, amely lényegében az ugróutasítás fordítottja: nem azt mondja meg, hová ugorjon a program, hanem azt, honnan kellene ide érkeznie. Az ABSTAIN utasítással ki lehet kapcsolni egy sort vagy akár bizonyos műveleteket, a REINSTATE pedig visszakapcsolja őket. A dokumentációban az appendix helyett "tonsil", vagyis mandula szerepel, mert az alkotók szerint ha más kézikönyveknek függelékük van, akkor az INTERCAL-nak inkább egy másik eltávolítható szervre van szüksége. Az INTERCAL gyakorlatilag használhatatlan komoly fejlesztésre, de éppen ezért érdekes. Nem azért érdemes beszélni róla, mert valaha ezzel készült volna a világ legfontosabb szoftvere, hanem mert tökéletesen megmutatja, mennyi megszokás és kimondatlan szabály van a programozásban. Ami az egyik nyelvben természetes, az egy másikban lehet teljesen idegen. Az INTERCAL ezt a felismerést nem finoman adagolja, hanem ráönti az ember fejére.
A mai AI-korszakban különösen vicces visszanézni erre a nyelvre. Most sokan azért írnak "kérlek" szót egy chatbotnak, mert így természetesebbnek érzik a kommunikációt, vagy mert remélik, hogy jobb választ kapnak. Az INTERCAL viszont már több mint ötven éve megcsinálta ennek a programozói karikatúráját: ha nem vagy elég udvarias, a gép megsértődik, ha pedig túlságosan kedves vagy, azt sem viseli jól.
Az INTERCAL tehát nem hasznos programnyelv, hanem technikatörténeti geg, de abból elsőrangú. Egy olyan vicc, amely túlélte a FORTRAN-, BASIC-, C-, Java-, Python- és AI-korszakot is, mert pontosan arra emlékeztet, hogy a számítástechnika nem mindig csak hatékonyságról és optimalizálásról szól. Néha arról is, hogy két princetoni diák 1972-ben úgy döntött, készít egy programnyelvet, amely még a rossz modort is szintaktikai problémaként kezeli.