
Bene bene bene, ero alle prese con una discreta quantita’ di Segmentation Fault quando, per tirarmi su il morale, un mio collega universitario mi ha fatto scoprire l’esistenza di tre “linguaggi di programmazione” davvero incredibili…
Grazie Zaf!!! (per ricambiare la cortesia ho inserito il link al suo blog). Ma siamo sicuri che lo debba ringraziare? 🙂
Beh, vediamo cosa mi ha indicato…
IL LOLCODE
Un linguaggio sgrammaticato e davvero inusuale. Forse su questo avrei qualcosa da ridire visto il linguaggio con cui certa gente scrive SMS. Ad ogni modo, avete presente il classico programmino che viene citato come primo esempio in qualunque libro o tutorial di ogni linguaggio di programmazione? Quale? Beh… il tanto amato “Hello World!”
Ecco come scriverlo il LOLCODE:
HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE
La prima e l’ultima istruzione indicano l’inizio e la fine del programma, in seconda riga abbiamo l’inclusione della libreria necessaria e in terza riga abbiamo chiaramente l’istruzione di visualizzazione.
IL BRAINFUCK
> | incrementa il puntatore |
< | decrementa il puntatore |
+ | incrementa il byte al puntatore |
– | decrementa il byte al puntatore |
. | output dal byte al puntatore (ASCII) |
, | input al byte al puntatore (ASCII) |
[ | salta in avanti all’istruzione dopo il corrispondente <code>]</code> se il byte al puntatore è zero |
] | salta indietro all’istruzione dopo il corrispondente <code>[</code> se il byte al puntatore non è zero |
Come e’ facile immaginare, il codice scritto in questo linguaggio e’ altamente illeggibile ed incomprensibile (a patto che studiare per giorni un codice di poche righe per capirne il significato non venga considerato semplice).
Per fare un confronto equo con il LOLCODE ecco la versione BRAINFUCK del programmino HelloWorld
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++
.>>>++++++++[<++++>-] <.>>>++++++++++[<+++++++++>-]<—.<<<<.+++.——.——–.>>+.
Direi che il significato si capisce al primo sguardo…
Ecco qui un po’ di link per chi fosse interessato ad approfondire l’argomento:
Wikipedia chiaramente non ci delude: it.wikipedia.org/wiki/Brainfuck – en.wikipedia.org/wiki/Brainfuck
Un’altra wiki con ottime spiegazioni ed una marea di link: esoteric.voxelperfect.net/wiki/Brainfuck
Devo ammettere che questo mi sembrava gia’ fin troppo esagerato, ma ovviamente
non c’e’ mai limite al peggio… Ecco quindi spuntare dall’interminabile collezione di link e amenita’ varie di Zaf…
IL MALBOGE
(=<`:9876Z4321UT.-Q+*)M’&%$H”!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb’rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Anche qui ecco un po’ di link per chi fosse interessato ad approfondire l’argomento:L’immancabile Wikipedia: en.wikipedia.org/wiki/Malbolgee ancora una volta ci viene in soccorso questo sito: esoteric.voxelperfect.net/wiki/Malbolge_programmingQuesto e’ invece un buon tutorial introduttivo: www.lscheffer.com/malbolge.shtml
e dallo stesso sito possiamo avere anche l’interprete del linguaggio: http://www.lscheffer.com/malbolge_interp.html