Programmation Brainfuck/Variantes
Le langage Brainfuck a inspiré plusieurs variantes du langage en le modifiant de différentes façons :
Ook.
Le langage Ook est une variante de brainfuck, Turing-complet, conçu pour être parfaitement lisible par un orang-outan, faisant référence au personnage du bibliothécaire de l'univers du Disque-monde de Terry Pratchett.
Les instructions sont celles du langage Brainfuck codées par deux onomatopées "Ook" suivies chacune par une ponctuation parmi les 3 possibles : point, point d’interrogation, point d'exclamation.
Il y a neuf possibilités : les 8 instructions, et l'instruction supplémentaire indiquant la fin du programme.
L'exemple du Hello World codé en Ook :
f*ckf*ck.
Le langage f*ckf*ck modifie le codage des instructions en les remplaçant par des mots de 4 lettres censurés, et permettant d'insérer des commentaires utilisant la syntaxe du langage C.
Les 2ème et 3ème lettres des mots peuvent être remplacées par n'importe quel caractères ASCII.
Signification particulière :
Spoon.
Le langage spoon est équivalent au langage brainfuck mais avec des mots constitués de 0 et 1, utilisant un codage de Huffman.
Il possède deux instructions supplémentaires :
Hello world en spoon :
Les espaces peuvent être supprimés.
On obtient alors un fichier binaire (exécutable) décodable sans ambiguïté :
Hello world en spoon sans espace :
SegFaultProg.
Le langage Segfaultprog est une variante du brainfuck, enrichie, extensible, destinée à être exécutée en machine virtuelle, sur de petites architectures (AVR, PIC, MIPS...).
Son développement a débuté en mai 2010.
Ce langage propose une simplification de la syntaxe du brainfuck (par exemple, avec l'adressage direct, et en évitant les répétitions), et rétro-compatibilité avec celui-ci.
Les commandes peuvent être suivie d'un argument sous la forme d'un octet (un caractère), représenté dans le tableau ci-dessous sous cette forme : .
Les quatre dernières instructions du tableau ci-dessus correspondent exactement à celles du brainfuck.
Il y a deux versions de la variante qui diffèrent pour la spécification des arguments :
Hello world en SegFaultProg V1 :
Hello World en SegFaultProg V2 :
Whitespace.
Dans le langage Whitespace, les instructions sont plus nombreuses que dans le langage Brainfuck.
Elles sont codés par des espaces, tabulations et retour à la ligne.
Le code est donc invisible dans un texte.
Pi.
Pi est un langage de programmation ésotérique basé sur des erreurs de chiffre du nombre pi.
Les 8 instructions du brainfuck sont codées par les chiffres de 0 à 8, en sautant le chiffre de pi correspondant à la position de l'instruction.
Si le chiffre est 8 ou 9 :
Si le chiffre est 4 :
Si le chiffre est correct, il est ignoré.
Exemple : Hello world
 3.1415926535897932384226433232725028841271693992751358239749
 245923072164062822089986780348053431120629821483865332223366
 470908446395535832317223594083284831172502841037019385311052
 596446029489529303219642288009756259134461214751482337817834
 652812009021456285664234613486134553226482133236073603491413
 737242870066363155841744815239239622292545917053643278925902
 605113301301488204625213821429519415316024320522703627595939
 530921261373219226137931021185580744023794627495273518257527
 348912274384830113491298346743644406563430865213349463352247
 3749030217386093370277033921317659317670238267581846066440

La politique monétaire/La non-constance de la vélocité de la monnaie