10- LOLCODE
LOLCODE es un lenguaje de programación esotérico inspirado por el lenguaje expresado en el fenómeno de Internet de los Lolcat. El lenguaje fue creado el 2007 por Adam Lindsay, investigador del Departamento de Computación de la Universidad de Lancaster.
Ejemplo de un Hola Mundo:
Ejemplo de un Hola Mundo:
HAI 1.2 CAN HAS STDIO? VISIBLE "HAI WORLD!!!1!" KTHXBYE
9- Shakespeare
En contraposición a LOLCODE tenemos el lenguaje Shakespeare. Si entender un código ya tiene un cierto grado de dificultad de por sí, imagina ahora que todo el programa es una obra de teatro escrita por Shakespeare. Si el autor inglés se levantara de su tumba y cambiara los versos por la programación imperativa y la pluma por el ordenador, así serían sus programas:
The Infamous Hello World Program.
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.
Act I: Hamlet's insults and flattery.
Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted coward!
You are as stupid as the difference between a handsome rich brave
hero and thyself! Speak your mind!
You are as brave as the sum of your fat little stuffed misused dusty
old rotten codpiece and a beautiful fair warm peaceful sunny summer's
day. You are as healthy as the difference between the sum of the
sweetest reddest rose and my father and yourself! Speak your mind!
You are as cowardly as the sum of yourself and the difference
between a big mighty proud kingdom and a horse. Speak your mind.
Speak your mind!
[Exit Romeo]
8- Chef
¿Quién podría llegar a pensar que detrás de una innocente receta de cocina (un poco extraña, eso sí) se pueda esconder un programa? Los amantes de la cocina sin duda adorarán Chef, el único lenguaje de programación en el que las variables son ingredientes, los platos son arrays y los cuencos, punteros.
Ejemplo de un Hola Mundo:
Hello World Souffle.
Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes
Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.
7- Spaghetti Programming Language
Cuando a un código se le llama “código espagueti” significa que está mal organizado: hay muchos GOTO, las funciones están mal ordenadas, las variables se declaran en sitios inesperados… básicamente es como un bol de espaguetis en el que el flujo del programa se retuerce de un punto a otro.
El Spaghetti Programming Language es un lenguaje especialmente pensado para crear código espagueti. Cada función debe acabar en un GOTO, pero con la condición de que no puedes saltar a la siguiente línea. El resumen: es un programa que va saltando de una línea a otra sin ninguna lógica aparente.
Ejemplo de un Hola Mundo:
Ejemplo de un Hola Mundo:
2[x~13:0]3 1[x?]2 3[?x]1
6- Trollscript
Trollscript es un lenguaje que sólo puede programarse con dos carácteres: ‘o’ y ‘l’. Además todas las funciones deben empezar por ‘tr’. Eso, sumado al hecho de que sólo puede programarse modificando punteros y direcciones de memoria, hacen que el nombre de Trollscript sea, sin lugar a dudas, el más adecuado para este lenguaje.
Ejemplo de un Hola Mundo:
Trooloolooloolooloolooloolooloolollooooolooloolooloolooloolooooolooloolooloolooloolooloolooloooooloolooloooooloooloolooloololllllooooloolo loooooololooolooloolooloolooloololoolooolooloololooooooloololooooloololooloolooloolooloolooloolooloolooloolooloololooooolooolooloololoool lollollollollolllooollollollollollollollollloooooololooooolooll
5- Intercal
Extraído de la web oficial:
“Abandonad toda cordura aquéllos que entréis aquí. Así que crees que ya lo has visto todo, ¿eh? Vale… has programado en C, has hackeado con LISP, lenguajes como Fortran y Basic no esconden ningún secreto para ti. Escribes módulos de Emacs por diversión. Comes ensamblador para desayunar. Conoces y dominas una docena de lenguajes de los que nadie salvo una pandilla de übergeeks ha oído a hablar […] Entonces quizá estés preparado para el desafío final… INTERCAL”
Intercal no sólo es difícil, quiere hacer sufrir al programador. Las expresiones parecen una línea de texto mal codificada, no hay estructuras de datos y muchas instrucciones sólo se ejecutan escriviendo, literalmente “POR FAVOR” (en inglés “PLEASE”). Si no hay suficientes PLEASE en el programa, este se ofenderá al compilar y no funcionará. Asimismo, si hay un exceso el programa se sentirá superior al programador y tampoco funcionará. Y así con otros comandos como “IGNORE” o “READ OUT”…
El programa típico para escribir la série de Fibonacci sería:
DO .9 <- #16
DO .10 <- #0
DO .11 <- #1
(1) PLEASE READ OUT .11
DO .1 <- .10
DO .2 <- .11
PLEASE (1009) NEXT
DO .10 <- .11
DO .11 <- .3
DO (3) NEXT
DO (1) NEXT
(3) DO (4) NEXT
PLEASE GIVE UP
(4) DO .1 <- .9
DO .2 <- #1
PLEASE (1010) NEXT
DO .9 <- .3
DO .1 <- '.9~.9'~#1
PLEASE (1020) NEXT
DO RESUME .1
4- Whitespace
Para entender mejor Whitespace, lo mejor será ver un ejemplo. Este programa pide un string y lo muestra en pantalla.
En efecto. Whitespace es un lenguaje de programación que sólo tiene tres valores: espacio, salto de línea y tabulador. Con esto puede implementarse cualquier algoritmo posible.
Aquí dice "Hello World". Los espacios están coloreados para hacerlos visibles. (espacio, tabulación)
(línea vacía) (línea vacía) (línea vacía) (línea vacía) (línea vacía) (línea vacía) (línea vacía)/EOF
3- Brainfuck
Brainfuck pretende ser un lenguaje minimalista con sólo ocho carácteres, extremadamente difícil de entender. El lenguaje declara un array de variables inicializadas a cero, y el programa consiste en utilizar un puntero para editar los valores. Genial.
Ejemplo de un Hola Mundo:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
2- Unlambda
Al igual que Brainfuck, Unlambda es un lenguaje diseñado para que sea prácticamente imposible de programar con él. Un ejemplo de série de Fibonacci sería:
```s``s``sii`ki `k.*``s``s`ks ``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk `k``s`ksk
Claro como el agua, ¿eh? Pero el hecho de que Unlambda aparezca en segundo lugar es que se trata de un lenguaje enfocado a las funciones. Muy enfocado a las funciones. Tan enfocado a las funciones que no hay ni variables, arrays, bucles… sólo funciones que retornan otras funciones que, a su vez, retornan otras funciones… supongo que es el sueño de un amante de la recursividad con tintes masoquistas.
1- Malbolge
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.
Ejemplo de un Hola Mundo:
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
¿Y tú, conoces algún otro lenguaje de programación que debería aparecer en esta lista? ¡Compártelo en los comentarios!

No hay comentarios.:
Publicar un comentario