Vía menéame me encuentro con una página de la Wikipedia, quizás la más friki pero, eso sí, una de las más interesantes.
Lo que no tiene perdón es el Ook!, una parodia de Brainfuck. Un lenguaje en que seguramente no programarás — o no lo harás durante mucho tiempo antes de tirarte por una ventana, claro — y es que como su nombre dice, jodecerebros.
Por ejemplo, para imprimir “Hello world!”, tienes que hacer:
++++++++++
[
>+++++++>++++++++++>+++>+<<<<-
]
>++.
>+.
+++++++.
.
+++.
>++.
<<+++++++++++++++.
>.
+++.
——.
——–.
>+.
>.
Fuck.
Pero eso no es todo. Está también “Ook!“, un lenguage de programación para Orangutanes (!), o semi-humanos por decirlo de alguna forma. Una parodia de Brainfuck, pero más encabronado aún.
Me refiero: con combinaciones de los strings “Ook.” y “Ook!” se crea un carácter interpretado por Brainfuck. Si arriba encontrabamos el carácter < aquí sería “Ook? Ook.”. Es decir, peor.
Un hola mundo se aparenta a esto:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook?
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook.
Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
Vudú….
Otro que sin duda está hecho con mala conciencia es Unlambda, intersección de varios lenguages “malos” de los cuales está INTERCAL, un lenguaje que lleva todas las de perder.
Pero lo mejor es que es un lenguaje educado, por ejemplo (Hola mundo): — 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 <- #52PLEASE READ OUT ,1
PLEASE GIVE UP
Al menos aquí trabajas directamente con una tabla de asignación ASCII y no con animaladas como Ook…
Y cuando os dije que Unlambda era un chico malo, “Hola mundo”:
“`s“sii`ki
“s“s`ks
“s“s`ks“s`k`s`kr
“s`k`si“s`k`s`k
`d““““““.H.o.l.a.,. .m.u.n.d.o.!
k
k
`k“s“s`ksk`k.*
Aunque saliendonos del tema, tenemos un lenguaje, ya no para orangutanes si no para LOLCATS, con soporte para LOLCAPS. Hablo de LOLCODE: — “Hai world”
HAI
CAN HAS STDIO?
VISIBLE “HAI WORLD!”
KTHXBYE
Una parodia de C… supongo.
Y por último –pero no por ello menos importante– está el lenguaje para HOYGANS:
PORFABOR HESCRIVE “HOLA MUNDO”
Y cómo hay gente para todo, alguien se ha molestado en recopilar todos los lenguajes “raros” de programación en una página llamada 99 Bottles of beer (qué nombre sugerente…)
Es sabido por todos (y si no, ya lo sabéis) que soy un programador bastante geek (si no lo entiendes, interpretalo como friki). Una de las cosas que nos da mucho de hablar son el software libre: ¿liberar? ¿no liberar? ¿cosa de código? Ricardo Galli acaba de escribir en su blog una entrada tratando sobre el asunto. Como es costumbre, he dejado mi caca en los comentarios del post expresando mi opinión sobre el tema.
Personalmente pienso que depende de:
Galli comenta sobre la liberación de aplicaciones usadas por el NYTimes, cosa de los friquis que estan detrás de la infraestructura IT del diario (Para saber de que hablo con los frikis del IT, lo mejor es que veáis The IT Crowd). Aquí, y como ejemplo, liberan el código de una aplicación de caching XSL y una capa de abstracción de base de datos –todos usados en la página web del NYTimes– perfectamente documentados.
Volviendo al tema, influye la calidad del código. Puede funcionar bien pero ser –técnicamente– una soberana mierda. Por ejemplo, aplicaciones creadas por principiantes en sitios webs de iniciación a la programación. Y lo digo con cariño, por que yo lo hacia, sin embargo no son aplicaciones aptas para producción por mucho que digan lo contrario. Lo más curioso es que soliamos poner las rutinas en un fichero, las plantillas de diseño en otro y las funcions de acceso en otro. Codigo amontonado (imposible modificarlo) pero rápido, al menos.
Luego está el código estructurado pero sin optimizar, y me refiero a WordPress, que de light ni el nombre. Cuidado con reventar el servidor.
Y, por último, el código estructurado, limpio y optimizado. Por ejemplo, el de menéame (no es por ser pelota, pero es el más estructurado y optimizado a la vez que he visto en mi vida, y eso que aún me queda).
También influye la propia opinión de los programadores. Que el código sea proyecto propio, proyecto personal en conjunto con una empresa o que sea algo innovador y factible suele en algunos casos –y con razón– provocar que el programador no libere el código por unos temores de competencia existentes.
Termino con resaltar la propia función de la aplicación: un lector de feeds o un webmail se pueden liberar la mayoría de las veces sin temor alguno, pero no algo innovador, no existente o relativamente nuevo. Que te roben la idea ya puede ser algo, que tiren de tu código puede ser peor aún.