domingo, 10 de mayo de 2009

Lenguajes de programación delirantes.

pajaro_loco_crudo 10 Most Bizarre Programming Languages Ever Created (en nettuts+) es una lista de 10 lenguajes de programación simplemente delirantes. Un par de muestras:

Whitespace es un lenguaje formado exclusivamente por combinaciones de [Espacio – ASCII 32], [Tab – ASCII 9], [LF – ASCII 10]… er…. es mejor presentar un ejemplo:

En la línea anterior está mi primer programa en Whitespace, un Hello World… en realidad no, mentira, no hay nada, ¿pero quién se hubiese dado cuenta de todas maneras?

Whenever es un lenguaje en el que cada línea de código es interpretada como un ítem en una lista de tareas. El compilador selecciona una al azar y la ejecuta… whenever, es decir, cuando se le dé la gana.

Por suerte podemos indicar que para la ejecución de una línea es necesaria la ejecución previa de otra, obligando al compilador a diferirla hasta más tarde (ya adivinaron: cuando se le dé la gana). Va el ejemplo:

defer (4 || N(1)
defer (4 || N(1)==N(2)) print("Take one down and pass it around,");
defer (4 || N(2)==N(3)) print(N(1)+" bottles of beer on the wall.");
1#98,2#98,3#98;

No está en la lista (se menciona en uno de los comentarios) pero sí en Wikipedia: Brainfuck está diseñado para que pueda compilarse con un compilador realmente pequeño. Los programas resultan sumamente legibles… para el compilador, claro:

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

No tengo idea de qué hace eso (supongo que será un “Hola Mundo”), pero parece razonable.

Entrada: 10 Most Bizarre Programming Languages Ever Created.

Vía identidad geek.

No hay comentarios.: