Programación esotérica

La última semana me había prohibido acercarme a Java para prepararme un examen que tenía pendiente. El resultado fue que efectivamente no hice nada en Java, pero descubrí algo aún peor… ¡ El Jode Cerebros !

Ya lo había visto otras veces, pero nunca había tenido tiempo libre para probar algún lenguaje esotérico, y que mejor momento que cuando se tiene un examen cerca!!..

Para los que no lo conozcan, un lenguaje esotérico es un lenguaje de programación especialmente extraño, pensado para ser divertido y no para ser productivo. Para que nos entendamos, la evolución normal de los lenguajes ha sido de lenguajes de bajo nivel como ensamblador, a lenguajes de alto nivel como Java; pues bien la programación esotérica va en sentido contrario, de lenguajes de alto nivel al lenguajes jode cerebros (mi preferido :p).

Uno de estos lenguajes esotéricos es el llamado Jode Cerebros(Brainfuck), El lenguaje es muy simple, además del programa, se dispone de un array de (al menos) 30.000 bytes inicializados a cero, un puntero sobre ese array (que al comienzo de la ejecución apunta al primer elemento del array) y dos «corrientes» de bytes para la entrada y la salida. Y nada de mariconadas( no hay letras, no hay palabras reconocias, ni comparadores, ni operadores…), las únicas instrucciones reconocidas por el lenguaje son:

>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.

Y para entrar un poco más en calor y ver lo realmente complejo que puede resultar este lenguaje, aquí van unos cuantos programitas de mi cosecha. Cuando los hice pude confirmar que el lenguaje tenía bien elegido su nombre.

Hola Mundo (No podía faltar)

Hola Mundo utilizando programación esotérica Brainfuck

Te pregunta quién eres

Programación esotérica con brainfuck: un programa que saluda

Y para las mentes inquietas deseosas de aprender esta magnífica forma de perder el tiempo, aquí se pueden descargar un entorno de desarrollo completo Brainfuck Developer

Lástima que esto no entrase en el examen de cicuitos :(…