Oggi parleremo di un lato un po’ strano dell’informatica, ovvero quello dei linguaggi di programmazione esoterici, che sono dei linguaggi di programmazione completi con elementi strani, che rendono il codice illeggibile o molto diverso da un linguaggio di programmazione. Guardiamone qualcuno:
LOLCODE:
LOLCODE è uno dei linguaggi meno “estremi” e si rifà al linguaggio delle lolcat (simile a quello delle countryball, per intenderci). Ecco un semplice hello world:
HAI
CAN HAS STDIO?
VISIBLE “HAI WORLD!”
KTHXBYE
Nulla di complesso, se comparato a ciò che andremo a vedere…
Shakespeare
E’ un linguaggio abbastanza simpatico che si ispira alle opere del celebre drammaturgo. Ecco un esempio di salto condizionato:
Juliet:
Am I better than you?
Hamlet:
If so, let us proceed to scene III.
AAAAAAAAAAAAAA!!!!
Linguaggio che consiste di sole A e segni di punteggiatura.
Ecco una specie di hello world:
AA AAA AA AA, AAA, AAA, AA A AAA, AA A AA A AA A AAA, AA A AA A!
AA AAA AA A, AAA AAAAA A AAAA, AAA!
AA AAAA AA! AAA A AAA AAAA! AAA A AA AAAA AAA, AA A, AAA AAA, AA A AA A AA A,AAA AAA, AA A AA A! AAAA A AAA!
Adesso passiamo a linguaggi più intriganti…
Brainfuck
Brainfuck è un linguaggio completo che usa solo otto simboli. Lasciamo parlare il codice con un hello world:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.
Oggi è il più seguito dalla comunità e altri linguaggi si basano su di esso.
Ook
Ook, secondo il creatore del linguaggio, si basa sul verso degli oranghi. Si basa su brainfuck e usa Ook, con diverse punteggiature. Bando alle ciance e passiamo all’Hello World:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Molto chiaro, no? 😀
Chef
Chef non è molto completo, e i suoi programmi sembrano ricette di cucina. Non posto Hello World dato che è troppo lungo, ma è un linguaggio simpatico.
Velato
Non posso postarvi esempi di velato perché banalmente si basa sulle note musicali! Esatto, i file midi vengono interpetati dal computer come comandi.
Ecco l’hello world:
WHITESPACE
Whitespace usa solo gli spazi, che rappresentano valori binari. Ecco un link ad Hello World.
FALSE
False è il padre di molti linguaggi esoterici. Eccon un piccolo esempio che calcola i fattoriali di un numero.
{ factorial program in false! }
[$1=~[$1-f;!*]?]f: { fac() in false }
“calculate the factorial of [1..8]: ”
ß^ß’0-$$0>~8>|$
“result: ”
~[f;!.]?
[“illegal input!”]?”
”
Malbolge
Ed ora passiamo all’inferno informatico: Letteralmente, dato he il nome si basa sulle Malebolge dantesche.
È complicatissimo, si basa su operazioni ternarie e cose molto strane. Nasce con l’intento dichiarato di essere il più difficile.
Ecco l’hello world:
(=<`$9]7<5YXz7wT.3,+O/o’K%$H”‘~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^][ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm
In tutta onestà non è un sorgente “buono”: Stampa “HEllO WORLd”. Lo posto solo perché fu il primo programma il Malbolge. Uscì due anni dopo la nascita del linguaggio e ci volle un programma in LIPS per crearlo.
Se qualcuno vi chiedesse di imparare a programmare e poi vi dice che è difficile, mostrategli questi linguaggi, si ricrederà 😀