Estaba leyendo una entrada de genbetadev, en la que muestra 10 lenguajes de programación un poco diferentes de lo común...
Entre ellos muestra Brainfuck, y como ejemplo de un hola mundo lo escribe así :
Código
++++++++++ [ >+++++++>++++++++++>+++++++++++>+++>+< <<<<- ] >++. >>+. —-. < —-. >>++. < +. ++++++++. ———-. <+++. >+. >+. >.
Teniendo en cuenta esto : Cuenta con sólo 8 instrucciones de un solo carácter cada una:
">" - Incrementa el puntero.
"<" - Decrementa el puntero.
"+" - Incrementa el byte apuntado.
"-" - Decrementa el byte apuntado.
"." - Escribe el byte apuntado en el flujo de salida.
"," - Lee un byte del flujo de entrada y lo almacena en el byte apuntado.
"[" - Avanza a la instrucción inmediatamente posterior al ] correspondiente si el byte actualmente apuntado es nulo (si es 0).
"]" - Retrocede a la instrucción inmediatamente posterior al [ correspondiente si el byte actualmente apuntado no es nulo (si es distinto de 0).
Lo que no logro entendes es como sólo con 8 instrucciones se puede crear un "Hola Mundo" ¿donde empieza para sacar la "H"? ¿Como sabe el programa que tiene que mostrarlo por pantalla?
Alguien me podría explicar el código ¿?
Gracias de antemano