Brainfuck
Parte de este post es una traducción personal sacada de la versión en español de wikipedia, y el artículo original.
Brainfuck es un lenguaje de programación que se ha hecho notar por su minimalismo extremo. Fue diseñado para retar y sorprender a los programadores, pero no es apto para un uso práctico.
Fue creado en 1993 por Urban MÌller con la intención de diseñar un lenguaje que pudiera ser implementado con el compilador más pequeño posible, inspirado por el compilador de 1Kb para el lenguaje de programación FALSE.
Consta de ocho instrucciones, y todas ellas de un carácter:
- > Incrementa el puntero.
- < Decrementa el puntero.
- + Incrementa el byte apuntado.
- – Decrementa el byte apuntado.
- . Introduce el byte apuntado en la corriente de salida.
- , Toma como valor del byte actualmente apuntado el provisto por la corriente de entrada.
- [ Avanza a la instrucción inmediatamente posterior al ] correspondiente si el byte actualmente apuntado es nulo.
- ] Retrocede a la instrucción inmediatamente posterior al [ correspondiente si el byte actualmente apuntado no es nulo.
Un ejemplo de lo que vendría siendo un típico programa «Hello World»:
++++++++++[>++++++++++<-]>++++.---.+++++++..+++. >++++[>+++++++++++<-]>.------------.[-]<< ++++++++.--------.+++.------.--------.[-] <+[>++++++++++<-]>.[-]<
Si, esas líneas (que en realidad debería ser solo una) que estas viendo, cuando es compilada y ejecutado el binario, imprime el texto Hello World.
¿Sere yo el único que piensa que este mundo esta cada vez más loco?.