• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Linguaggi Esoterici
#1
Un linguaggio di programmazione esoterico è una tipologia di linguaggi di programmazione particolarmente complessi e volutamente meno chiari possibile. Questi linguaggi, popolari fra gli hacker e gli utenti più che abili, non hanno una vera utilità nel mondo reale, ma sono generalmente concepiti per mettere alla prova i limiti della programmazione su computer, come proof of concept per dimostrare una teoria o per semplice divertimento. Alcuni, invece, sono concepiti come esercizio per comprendere meglio il funzionamento di un calcolatore.

Storia


Il primo esempio di linguaggio esoterico è stato INTERCAL, scritto nel 1972 da James M. Lyon e Don Woods, col tentativo di creare un linguaggio totalmente differente da quelli esistenti all'epoca, parodiando elementi di Fortran, COBOL, e assembly.
Venti anni più tardi Wouter van Oortmerssen ha creato FALSE, un linguaggio basato sul concetto di macchina a stack dotato di una sintassi confusa, illeggibile ed estremamente concisa: il compilatore occupa solamente 1024 byte. Questo ha in seguito ispirato Urban Müller a creare un linguaggio ancora più conciso, il brainfuck, composto da soli otto caratteri riconosciuti. Insieme al Befunge creato da Chris Pressey, sono i due linguaggi esoterici più diffusi e seguiti.

Ecco alcuni linguaggi esoterici


Brainfuck


Brainfuck è un linguaggio di programmazione esoterico per computer, creato da Urban Müller intorno al 1993. Il linguaggio viene in taluni casi denominato Brainf*ck, Brainf*** o anche soltanto BF per evitare di offendere la sensibilità altrui.

Struttura del linguaggio

Il primo esempio di linguaggio esoterico è stato INTERCAL, scritto nel 1972 da James M. Lyon e Don Woods, col tentativo di creare un linguaggio totalmente differente da quelli esistenti all'epoca, parodiando elementi di Fortran, COBOL, e assembly.
Venti anni più tardi Wouter van Oortmerssen ha creato FALSE, un linguaggio basato sul concetto di macchina a stack dotato di una sintassi confusa, illeggibile ed estremamente concisa: il compilatore occupa solamente 1024 byte. Questo ha in seguito ispirato Urban Müller a creare un linguaggio ancora più conciso, il brainfuck, composto da soli otto caratteri riconosciuti. Insieme al Befunge creato da Chris Pressey, sono i due linguaggi esoterici più diffusi e seguiti.

Il seguente codice mostra "Hello World!" sullo schermo e manda a capo il cursore:

Codice PHP:
++++++++++
[
   >+++++++>++++++++++>+++>+<<<<-
]
>++. 
Loop iniziale (dopo viene stampata una H)
>+. 
e
+++++++. l
l
+++. o
>++.
<<+++++++++++++++.
>.
+++.
------.
--------.
>+.
>. 

Malbolge


Malbolge è un linguaggio di programmazione esoterico, creato da Ben Olmstead nel 1998, con lo scopo di creare un linguaggio che fosse il più difficile possibile da utilizzare. Andrew Cooke riuscì a scrivere il primo "Hello, world!" solo con l'aiuto di un programma in Lisp.

Malbolge è talmente complesso che il primo programma funzionante, Hello, world è arrivato due anni dopo il suo rilascio:

Codice PHP:
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@> 

Questo programma legge una stringa e la stampa a video:

Codice PHP:
(aBA@?>=<;:9876543210/.-,JH)('&%$#"!~}|{zy\J6utsrq
ponmlkjihgJ%dcba`_^]\[ZYXWVUTSRQPONMLKJIHGF('C%$$^
K~<;4987654321a/.-,\*)
j
!~%|{zya}|{zyxwvutsrqSonmlO
jLhg`edcba`_^]\[ZYXWV8TSRQ4
ONM/KJIBGFE>CBA@?>=<;{9876w
43210/.-m+*)('&%$#"!~}|{zy\
wvunslqponmlkjihgfedcEa`_^A
\>ZYXWPUTSRQPONMLKJIH*FEDC&
A@?>=<;:9876543210/.-m+*)(i
&%$#"!~}|{zyxwvutsrqpRnmlkN
ihgfedcba`_^]\[ZYXWVU7SRQP3
NMLKJIHGFEDCBA@?>=<;:z8765v
3210/.-,+*)('&%$#"!~}_{zyx[
vutsrqjonmlejihgfedcba`_^]@
[ZYXWVUTSRo 

Fonte : WikiPedia
 
  


Messaggi in questa discussione
Linguaggi Esoterici - da Riddick - 11-12-2010, 02:08 AM
RE: Linguaggi Esoterici - da steve - 11-12-2010, 03:09 AM
RE: Linguaggi Esoterici - da Riddick - 11-12-2010, 12:50 PM
RE: Linguaggi Esoterici - da Alche - 11-12-2010, 01:58 PM
RE: Linguaggi Esoterici - da Riddick - 11-12-2010, 02:58 PM
RE: Linguaggi Esoterici - da KillerZ - 11-12-2010, 03:42 PM
RE: Linguaggi Esoterici - da Alche - 11-12-2010, 04:08 PM
RE: Linguaggi Esoterici - da Lorenz - 11-12-2010, 04:39 PM
RE: Linguaggi Esoterici - da steve - 11-12-2010, 05:25 PM
RE: Linguaggi Esoterici - da Alche - 11-12-2010, 06:21 PM
RE: Linguaggi Esoterici - da Riddick - 11-12-2010, 09:46 PM
RE: Linguaggi Esoterici - da steve - 11-12-2010, 10:31 PM
RE: Linguaggi Esoterici - da Riddick - 11-12-2010, 10:39 PM
RE: Linguaggi Esoterici - da steve - 11-12-2010, 10:57 PM
RE: Linguaggi Esoterici - da Riddick - 11-12-2010, 11:01 PM

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Classifica linguaggi di programmazione Riddick 31 6,180 11-08-2013, 12:49 PM
Ultimo messaggio: yuriiacuzzo
  [Aprile] Classifica linguaggi di programmazione Riddick 2 1,658 06-04-2011, 10:36 PM
Ultimo messaggio: steve
  [Marzo] Classifica linguaggi di programmazione Riddick 2 1,771 16-03-2011, 09:30 AM
Ultimo messaggio: KillerZ

Vai al forum:


Browsing: 1 Ospite(i)