I linguaggi piu’ assurdi…

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.

Ma la gente non ha nulla di meglio da fare che inventarsi linguaggi cosi’ assurdi? Pero’ in fondo e’ simpatico, quasi quasi lo adotto…
Per avere maggiori informazioni non resta che andare a consultare il sito ufficiale: lolcode.comChiaramente non puo’ mancare una sua pagina su Wikipedia: en.wikipedia.org/wiki/LOLCODE

 

Questo e’ tuttavia un modo di programmare troppo spensierato e allegro, quindi perche’ non complicarsi la vita?Proprio per questa ragione semba essere nato…

IL BRAINFUCK

In realta’ il linguaggio e’ nato (come ho appreso da Wikipedia) per essere implementato con il compilatore piu’ piccolo possibile. E’ costituito da sole otto operazioni con le quali e’ possibile implementare qualsiasi algoritmo eseguibile su una macchina di Turing.Ecco le operazioni del BF:
> 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/Brainfucken.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

Come per i precedenti due linguaggi ecco la versione MALBOGE del classico HelloWorld:

(=<`:9876Z4321UT.-Q+*)M’&%$H”!~}|Bzy?=|{z]KwZY44Eq0/{mlk**

hKs_dG5[m_BA{?-Y;;Vb’rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Se qualcuno dovesse mai dirvi che il vostro codice e’ difficile da comprendere (a me capita), oltre impegnarvi a scrivere codice migliore credo che ora sappiate come rispondere!

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

Per vedere un ottimo esempio in Malboge ecco a voi la filastrocca piu’ incomprensibile che sia mai stata vista… Provate a recitarla ai vostri bambini: http://www.99-bottles-of-beer.net/language-malbolge-995.html
Per concludere, visto che ne ho inserito il link, vi invito a visitare il sito 99-BOTTLES-OF-BEER dove potete trovare (ad oggi) 1178 differenti implementazioni della classica filastrocca delle 99 bottiglie di birra nei linguaggi di programmazione e scripting piu’ disparati…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *