23 may 2011

Introducción a la programación esotérica

¿ QUÉ ES LA PROGRAMACIÓN ESOTÉRICA ?

Se trata de un determinado grupo de lenguajes de programación que han sido inventados y creados con el único objetivo del entretenimiento, éstos han sido diseñados por personas individuales en su mayoría, existen intérpretes e incluso compiladores de estos curiosos lenguajes.

En general están pensados para que resulten complilcados y oscuros en cuento a su aprendizaje y aplicación, por ejemplo el lenguaje INTERCAL creado en 1972 por Don Woods y James Lyons que eran estudiantes de Princeton está diseñado para que ser extremadamente arduo de entender. Es una parodia entre el lenguaje FORTRAN y COBOL, una de sus peculiaridades es que hay que pedir por favor o en vez de la sentencia "go to" que significa "ir a" y que se emplea para saltar a la siguiente instrucción se escribe "come from" que es "venir desde" y se pone en el lugar de destino.

Ejemplo de "Hello World" en INTERCAL:

DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP
 

Su página oficial para los interesados es: http://www.catb.org/~esr/intercal/

Hay muchísimos de estos lenguajes otro muy conocido es el Brainfuc* o jod* cerebros en español, creado por Urban Müller en 1993 y pensado para que fuese muy simple, turing completo y que requiriese un compilador sencillo. Se basa en un array, un puntero sobre ese array y dos corrientes de bytes para la entrada y salida de datos. Se compone tan sólo de 8 instrucciones: ( ">", "<", "+", "-", "." ,"[" y "]" ).

A continuación el clásico "Hello World":

++++++++++[>++++++++++<-]>++++.---.+++++++..+++.
>++++[>+++++++++++<-]>.------------.[-]<<
++++++++.--------.+++.------.--------.[-]
<+[>++++++++++<-]>.[-]<


Página de referencia: http://www.muppetlabs.com/~breadbox/bf/

Estos dos son tan solo unos ejemplos de estos lenguajes hay incluso uno muy llamativo y hasta artístico si se me permite en el que se programa mediante colores, se llama PIET.

Y aquí un "Hello world":


Página oficial: http://www.dangermouse.net/esoteric/piet.html

También hay lenguajes en los que se programa con tabulaciones y espacios en blanco el "whitespace", otro que tan solo tiene tres palabras reservadas (Ook. , Ook? y Ook! ) llamado Ook, etc...

Pulse aquí para la primera entrega del tutorial sobre Brainfuc*

No hay comentarios:

Publicar un comentario