Brainfuck è un linguaggio di programmazione esoterico per computer, creato da Urban Müller nel 1993.
L'obiettivo di Müller era di creare un linguaggio di programmazione semplice e completo per una macchina di Turing che potesse essere implementato con il compilatore più piccolo possibile.
Il linguaggio consiste di otto istruzioni e il compilatore originale occupa soltanto 240 byte ! Come suggerisce il nome, i programmi scritti in Brainfuck tendono ad essere difficili da comprendere. Trascurando l'enorme difficoltà nella programmazione di certi algoritmi con Brainfuck, è certamente possibile scrivere il relativo codice.
Struttura del linguaggio:
Il linguaggio è basato su un array di byte inizializzato a zero, un puntatore all'array (inizializzato per puntare al primo byte dell'array) e due stream di byte per l'input e l'output.
Le istruzioni sono in tutto otto, costituite tutte da un solo carattere:
- > – aumenta il puntatore
- < – diminuisce il puntatore
- + – aumenta il byte al puntatore
- - - diminuisce il byte al puntatore
- . – restituisce l’output
- , – restituisce l’input
- [ - passa all'istruzione dopo il ] se il byte al puntatore è 0
- ] – passa all’istruzione prima del [ se il byte al puntatore non è 0
Esempio:
Il seguente codice mostra "Hello World!" sullo schermo e manda a capo il cursore
Sembra incomprensibile vero ? @_@++++++++++ [ >+++++++>++++++++++>+++>+<<<<- ] >++. Loop iniziale (dopo viene stampata una H) >+. e +++++++. l . l +++. o >++. <<+++++++++++++++. >. +++. ------. --------. >+. >.
Navigando su internet ho letto che una volta capito come funziona diventa semplice, ma a prima vista non l'avrei mai detto :-D
Che ne pensate?
Se volete più informazioni su questo linguaggio potete andare su wikipedia (dal quale ho tratto l'articolo) --> qui .
0 commenti:
Posta un commento