Creare Videogiochi - Game Developer
Linguaggi Esoterici - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Programmazione (https://www.making-videogames.net/giochi/Forum-Programmazione)
+--- Forum: Altri Linguaggi di Programmazione (https://www.making-videogames.net/giochi/Forum-Altri-Linguaggi-di-Programmazione)
+--- Discussione: Linguaggi Esoterici (/thread-Linguaggi-Esoterici)



Linguaggi Esoterici - Riddick - 11-12-2010

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


RE: Linguaggi Esoterici - steve - 11-12-2010

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

Stupendo XD XD XD


RE: Linguaggi Esoterici - Riddick - 11-12-2010

E tu ti lamenti dell'assembly XD, questi linguaggi arrivano proprio al limite.


RE: Linguaggi Esoterici - Alche - 11-12-2010

il malbolge è mille volte più difficile del c++ omg <.< e magari pure meno potente ma che se ne vadano u.u


RE: Linguaggi Esoterici - Riddick - 11-12-2010

Non c'entra nulla col : C++, C etc...

L'ho scritto all'inizio a cosa servono :

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.


RE: Linguaggi Esoterici - KillerZ - 11-12-2010

ma che! solo einstein potrebbe fare un programma con quei linguaggi xD comunque grazie dell'info!


RE: Linguaggi Esoterici - Alche - 11-12-2010

ma in teoria un trojan creato con c++ risulta sempre più potente di uno creato con un linguaggio esoterico beh di certo un trojan col c++ viene riconosciuto all'istante mentre un trojan con linguaggio esoterico è indecifrabile il codice talmente è complesso e l'antivirus non lo rileva..beh sempre utile è xD


RE: Linguaggi Esoterici - Lorenz - 11-12-2010

questi linguaggi sono volutamente incasinati e inutili...ci vuoi che usi un linguaggio che è talmente complesso che il primo programma funzionante, Hello, world è arrivato due anni dopo il suo rilascio !!! [sadomaso]


RE: Linguaggi Esoterici - steve - 11-12-2010

Non c'entrano niente i trojan, non si riuscirebbe nemmeno a scriverli in un linguaggio esoterico.
E comunque l'antivirus non guarda il codice per scoprire se è un malware (non potrebbe nemmeno visto che si fanno con linguaggi compilati).


RE: Linguaggi Esoterici - Alche - 11-12-2010

E allora non servono a una cippa <.< come dice wikipedia "non hanno una vera utilità nel mondo reale" e servono solo a incasinarti il cervello xD


RE: Linguaggi Esoterici - Riddick - 11-12-2010

dark, come dice anche wikipedia, questi linguaggi li usano coloro che sanno i fatti loro, e uno di questi sono gli : Hacker, come li usano ? boh domandaglielo a loro XD.


RE: Linguaggi Esoterici - steve - 11-12-2010

Non li usano gli hacker, li creano e basta (quasi esclusivamente per divertimento).


RE: Linguaggi Esoterici - Riddick - 11-12-2010

Io non ne conosco di Hacker tu si ? XD io mi sono basato su quello che dici wikipedia.


RE: Linguaggi Esoterici - steve - 11-12-2010

Citazione: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

lolcode, cow, ook!, whitespace, whirl e altri.
Ti sembrano programmi creati con qualche utilità? Ci fanno giusto hello word e programmi stupidi per sfizio personale.

Wikipedia dice che sono popolari tra gli hacker, non che li usano.


RE: Linguaggi Esoterici - Riddick - 11-12-2010

Va bene, e come parlare con i ciucci che volano. Chiudo la discussione cosi la finiamo di dire boiate che possono confondere chi legge il post.