Existen muchos lenguajes de programación especialmente extraños, muchos de los cuales fueron desarrollados con el propósito de resultar divertidos (en vez de útiles) para los programadores. Estos lenguajes esotéricos (o exóticos) se crean como un pasatiempo para los desarrolladores, que intentan hacer lenguajes lo más alejados de la forma de razonar humana, pero que al mismo tiempo sean Turing completos. Algunos de estos lenguajes son:
Brainfuck (jodecerebros), es un lenguaje de programación esotérico, diseñado por Urban Müller en 1993, con el objetivo de hacer un lenguaje que fuera a la vez muy simple, Turing completo y que requiriese un compilador pequeño. Müller basó Brainfuck en la máquina de Turing y le sirvió de inspiración el compilador de 1024 bytes de tamaño del lenguaje FALSE.
Un "Hello, world" en Brainfuck
Este sería el típico programa que escribe "Hello, world" ( en rojo los comentarios )
++++++++++
[ Bucle para iniciar el vector
>+++++++>++++++++++>+++>+<<<<-
]
>++. imprime 'H'
>+. imprime 'e'
+++++++. 'l'
. 'l'
+++. 'o'
>++. espacio
<<+++++++++++++++. 'W'
>. 'o'
+++. 'r'
------. 'l'
--------. 'd'
>+. '!'
>. nuevalínea
Intérprete de Brainfuck con un depurador integrado (EDI) para Windows
http://es.wikipedia.org/wiki/Brainfuck
Befunge es un lenguaje de programación esotérico, funge-oide, reflexivo y basado en pila. Difiere de los lenguajes convencionales en que los programas están dispuestos en una parrilla bidimensional. Las instrucciones "flecha" dirigen el control de flujo hacia arriba, abajo, izquierda o derecha, y los bucles se construyen dirigiendo el control de flujo en círculo.
Befunge lo creó Chris Pressey en 1993 en un intento de diseñar un lenguaje tan difícil de compilar como humanamente posible fuera
Este es un ejemplo del clásico programa "¡Hola mundo!". Primero se introducen en la pila las letras "olleH" como números ASCII. Luego se extraen de la pila en orden LIFO y se muestran como caracteres de texto para dar "Hello". El espacio es el carácter 32 en ASCII, que aquí se construye multiplicando 4 por 8, antes de comenzar la salida de texto. El resto del código muestra de forma similar "World!", seguido del carácter ASCII 10 (un salto de línea).
> v
v ,,,,,"Hello"<
>48*, v
v,,,,,,"World!"<
>25*,@
Intérprete de Befunge en JavaScript
http://es.wikipedia.org/wiki/Befunge
INTERCAL es un lenguaje de programación esotérico diseñado para ser extremadamente difícil de entender. Es una parodia de los lenguajes de programación FORTRAN y COBOL.
Fue creado por Don Woods y James Lyons, estudiantes de Princeton, en 1972. La versión actual, C-INTERCAL, es mantenido por Eric S. Raymond. Los autores originales dicen que INTERCAL significa "Compiled Language With No Pronounceable Acronym" ("Lenguaje compilado con ningún acrónimo pronunciable" )
= código de ejemplo Hello World en INTERCAL(C-INTERCAL).
PLEASE DO ,1 <- #13
DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #112
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #238
DO ,1 SUB #7 <- #26
DO ,1 SUB #8 <- #248
DO ,1 SUB #9 <- #168
DO ,1 SUB #10 <- #24
DO ,1 SUB #11 <- #16
DO ,1 SUB #12 <- #158
DO ,1 SUB #13 <- #52
PLEASE READ OUT ,1
PLEASE GIVE UP
Una de las características más peculiares de INTERCAL es que en lugar de tener la sentencia GOTO (desaconsejada por Edsger Dijkstra) tiene la instrucción COME FROM #, que indica que cuando se ha ejecutado la sentencia # se salta a la siguiente sentencia después de COME FROM #.
http://es.wikipedia.org/wiki/INTERCAL
Malbolge es un lenguaje de programación esotérico de dominio público desarrollado por Ben Olmstead en 1998. Se llamó así por el octavo círculo del infierno en La Divina Comedia, escrito por Dante.
Malbolge es peculiar porque se diseñó para ser el lenguaje más difícil. Sin embargo, varios de los trucos utilizados para hacerlo difícil de entender pueden ser evitados.
Código de ejemplo Hello World
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
http://es.wikipedia.org/wiki/Malbolge
Ook! (con el signo de exclamación) es un lenguaje de programación esotérico Turing completo. Este lenguaje es una parodia de Brainfuck, del que toma su conjunto completo de comandos (ver tabla). Deriva su completitud Turing de esta relación.
Según su diseñador, David Morgan-Mar, el lenguaje está diseñado para orangutanes. Tiene 3 palabras reservadas (Ook., Ook?, y Ook!); que pueden combinarse en ocho maneras diferentes para formar el repertorio de instrucciones del lenguaje. Ook! pretende ser fácil de aprender para los orangutanes y evitar cualquier mención de la palabra «mono».
El nombre del lenguaje y la relación con los orangutanes viene del personaje del bibliotecario que aparece en las novelas del Mundodisco de Terry Pratchett. El bibliotecario es un mago que se convirtió en orangután debido a un error en un conjuro mágico y cuyo vocabulario consta de una sola palabra: «Ook».
Esto es un ejemplo de como programar en Ook!. El siguiente código desplegará "Hola Mundo!" en la salida estándar:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook?
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook.
Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
Intérprete y conversor de Ook! a Perl (en inglés)
http://es.wikipedia.org/wiki/Ook!
jajaja, parece todo una locura pero es verdad!! despues de haber visto esto aguante el ASM!!!!
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_esot%C3%A9rico
eso fue todo, espero que por lo menos les haya resultado curioso
como siempre se agradece cualquier tipo de comentario, crítica o sugenrencia!
saludos!!

