Befunge: un lenguaje de programación raro, raro, que es un «más complicado, imposible»

Befunge loop

Dorian Braun tiene un curioso artículo sobre el esotérico lenguaje de programación Befunge. Es una pequeña «monstruosidad» de la computación, que al igual que otros lenguajes como Brainfuck puede hacer muchas cosas pero haciéndolas complicadas. Como bien lo define en su título es «una especie de lenguaje de programación a lo Rube Goldberg», en honor a las famosas máquinas más complicadas de lo necesario

En Befunge el espacio de trabajo donde se programa es un tablero bidimensional, a diferencia de lo que sería la programación lineal tradicional. Ese espacio es de 80×25 celdas que están «enrolladas» como un toroide (a.k.a. pantalla de Asteroides). Es un lenguaje interpretado, en el que la pila es LIFO. El cursor amarillo es el punto de interpretación del código, que se va moviendo, en una especie de alocada carrera. El cursor puede hacerse «rebotar» con los códigos > v < ^ o con el signo ? que cambia de dirección al azar. Termina de ejecutarse cuando llega al final del programa, representado por el signo @.

Pese a su extraño aspecto hay también comandos para imprimir, saltar a unas coordenadas determinadas y ejecutar órdenes condicionales. Con un poco de habilidad se pueden crear bucles y otras estructuras. Incluso se puede hacer «mutar» el código – «imprimiendo» en las celdas de código resultados aleatorios.

Enrevesado, divertido y muy raro, aunque lenguaje de programación al fin y al cabo. Existe en dos versiones: Funge-93 y 98 (la primera la inventó Urban Müller en 1993). Si a la segunda se le eliminan las restricciones de tamaño tiene la propiedad de ser Turing completo.

# Enlace Permanente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*