Comprendre la machine de Turing avec Brainfuck : Turing-complétude et problème de l’arrêt
Résumé
Brainfuck is sometimes presented as a programmer’s joke: a “gag language” made up of eight symbols (< > . , [ ]), with code that is notoriously unreadable. Yet behind this esoteric façade lies a very serious fact: Brainfuck is Turing-complete. In terms of abstract computational power, it is therefore no less expressive than Python, C, or Rust. In other words, given enough time and memory, anything a “respectable” language can compute, Brainfuck can compute as well.
Le langage Brainfuck est parfois présenté comme une plaisanterie de programmeur : un « langage blague » de huit symboles (> < + - . , [ ]), au code réputé illisible. Pourtant, derrière cette façade ésotérique se cache un fait très sérieux : Brainfuck est Turing-complet. Ainsi, en termes de puissance de calcul abstraite, il n’est pas moins expressif que Python, C ou Rust. Autrement dit, si vous disposez d’assez de temps et de mémoire, tout ce qu’un langage « respectable » peut calculer, Brainfuck peut aussi le calculer.