Brainfuck è un linguaggio di programmazione esoterico nato come linguaggio per la macchina di Turing nel 1993.
Come tutti i linguaggi esoterici, è volutamente complesso, come d’altronde suggerisce il nome stesso.
Lo scopo principale per il quale fu creato questo linguaggio, era quello di poter essere implementato con il compilatore più piccolo del mondo. Partendo dal linguaggio FALSE, il cui compilatore occupava solo 1 KB di spazio, Urban Müller creò un linguaggio con sole otto istruzioni, otto tipi di caratteri riconosciuti e con un compilatore da soli 240 byte.
Nonostante le sue dimensioni ultra ridotte, Brainfuck è un linguaggio di programmazione Turing completo, dunque può implementare qualsiasi algoritmo.
Il punto rappresenta il carattere di output, dunque in genere è posto alla fine di ogni riga (per mantenere il codice leggibile, nei limiti del possibile).
Riconoscendo soltanto otto caratteri, non è necessaria una sintassi particolare per i commenti, poiché Brainfuck riconosce qualsiasi altro carattere come tale, cosicché è possibile posizionare commenti ovunque all’interno del codice, facilitando la vita a chi metterà mano al codice successivamente.
Perfino i loop, che sono dei cicli continui che scrivono testi sullo schermo, sono frutto della combinazione di questi otto caratteri.
Per terminare, scriviamo la versione in Brainfuck dello script Hello Word!, presa in prestito da Wikipedia, dove le lettere sono state aggiunte semplicemente come commenti (sì, non erano necessarie).
++++++++++ [ >+++++++>++++++++++>+++>+<<<<- ] >++. Loop iniziale (dopo viene stampata una H) >+. e +++++++. l . l +++. o >++. <<+++++++++++++++. >. +++. ------. --------. >+. >.