Translate

lunes, 4 de mayo de 2015

Malbolge - Desde la Divina Comedia hasta un Lenguaje de Programación

Hoy voy hablarles de los Lenguajes Esotéricos, particularmente de uno: Malbolge

Malbolge - El infierno


Para empezar me gustaría hablarles un poco de la Divina Comedia, ya que de ahí viene el nombre de Malbolge, es un poema de Dante Alighieri, obra escrita en el siglo XIV, aunque se desconoce el año exacto. (Ajah interesante...¿y?)

En el poema se habla de los nueve Círculos del Infierno (algo así como los "niveles" del infierno) en el cual se castiga a los pecadores. Según tu mayor pecado, caes en uno de los infiernos dedicado a ese pecado. (... mmm, entonces...)

Malbolge, es el octavo circulo del infierno donde se castiga a los Fraudulentos (El Fraude o mentirá). Este circulo se divide en (10) diez círculos internos en donde se castiga a diferentes formas del fraude (Adivinos, hipócritas, aduladores, ladrones, falsificadores, etc). (¿Y que tiene que ver todo eso con la programación?)

Malbolge - El Lenguaje de Programación 


Aunque el autor (el cual se llama Ben Olmstead y no Dante) le puso el nombre de Malbolge por simple diversión, a mi me parece que es en relación a la mentirá o contradicción que ocurre al diseñar un lenguaje de programación para ser el más difícil de su clase. 

Si... Malbolge esta pensado para ser el lenguaje más difícil de aprender de todos los existentes además de casi inentendible, y por lo tanto un lenguaje completamente inútil, (ya que tal vez sería más fácil trabajar directamente en binario), no verás nunca un Tetris o siquiera una calculadora en este lenguaje... y ahí es donde caemos en los lenguajes esotéricos.

Lenguajes Esotéricos


Los lenguajes llamados "Esotéricos" son aquellos lenguajes a pesar de ser funcionales su utilidad para la programación de proyectos reales es inviable o de muy difícil realización

La finalidad de estos lenguajes es probar principios de la computación, características no antes probadas por otros lenguajes, alcanzar las limitaciones mismas de la programación bajo el principio de la máquina de Turing, o por simple diversión.

Así que si llegas a dedicarle tiempo a alguno de ellos, sabrás que no será más que un hobbie o por simple curiosidad ya que no podrás sacar provecho de lo aprendido.

Algunos lenguajes Esotéricos conocidos son: 
  • P"
  • OAK
  • Befunge
  • Whitespace (Sus palabras claves consisten en espacios en blancos, tabulador y /n
  • INTERCAL

Existen en realidad muchos más, pero esa es la lista de los que más me han llamado la atención. Si quieres saber más busca por tu cuenta, estoy seguro que encontrarás algunos más muy interesantes.

Sé que los han estado esperando durante todo el articulo...
¡Damas y Caballeros... con ustedes...! ¡Los Ejemplos!

Hola Mundo en OAK:


Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. 

Hola Mundo en Malbolge:

(=<`$9]7<5YXz7wT.3,+O/o’K%$H”‘~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm






Malbolge y la Fama






Solemos ver en las películas toda clase de incoherencias sobre la programación como: "...tengo que descifrar el algoritmo para poder entrar en el computador..." y seguidamente el actor pasa a teclear hasta el punto que parece que fuese a fundirse el teclado, y luego pasa a una máquina al lado de la primera y hace lo mismo.

Este tipo de situaciones no son extrañas en el cine, sin embargo Malbolge ha tenido una aparición privilegiada y considerablemente realista en la tv. Estoy hablando de la serie Elementary, cortesía de la Cadena CBS y creada por Robert Doherty.

En esta serie nuestro protagonista que es nada más y nada menos que un Sherlock Holmes moderno, junto con su compañera Joan Watson (si, aquí Watson es una mujer) se encuentran con un mensaje cifrado, donde han usado Malbolge disimular el mensaje (ya que el malboge parece más la secuencia de caracteres que imprime nuestra impresora cuando le da la toco-quera que otra cosa...). 



Para los que les interese ver esta grandiosa serie y la aparición de malbolge, el capitulo en cuestión es de la primera temporada de la serie y se titula: "Leviathan".




Me gusta