Quantcast
Channel: COOKING IDEAS
Viewing all articles
Browse latest Browse all 2837

Una oda al disparate en diez lenguajes de programación

$
0
0

Probablemente sabes algo de informática – a nivel usuario, como se dice en los currículos -, pero no tienes por qué haber picado una sola línea de código en tu vida. Es cierto que hoy en día la tecnología está tan avanzada que casi todo puede hacerse de forma transparente, usando aplicaciones y editores que se encargan del trabajo sucio. Y, sin embargo, igual que todos sabemos algo de matemáticas aunque existan las calculadoras, todos deberíamos tener nociones básicas de programación.

Parece aburrida, lo sabemos, pero en realidad es apasionante y tiene incluso un puntito divertido. De hecho, los desarrolladores son unos cachondos. Por ejemplo, hoy 13 de septiembre se celebra su día, en la jornada 256 del año, porque es el total de números que hay en 8 bits o un byte (2 elevado a 8). Matemáticas aparte, es un día para que estos profesionales se reivindiquen. ¿Sabes lo que son los “lenguajes esotéricos”? Te va a gustar, ya verás.

Esto, aunque no lo parezca, es el código de un programa informático. Cuando lo ejecutas, escribe en pantalla la palabra Tetris. Mola, ¿eh?

Resulta que los lenguajes de programación que circulan por ahí se cuentan por miles, aunque siempre acabemos usando los mismos: HTML, Java, C++, Objective C, PHP, Ruby… Son los más populares, pero hay de todo. Incluso hay códigos que se crean solo por divertimento y están basados en auténticos disparates. Esos son los que llamamos lenguajes esotéricos o ‘esolangs’.

Un código de programación con frases de Arnold Schwarzenegger, otro inspirado por un meme, uno que se escribe a base de emoticonos… En fin, todo tipo de ideas alocadas sin ninguna utilidad práctica, pero sin duda de lo más entretenidas. ¿Quieres conocer algunas?

El humorista

Python es el único lenguaje de esta recopilación que los programadores utilizan de verdad. De hecho, es uno de los más populares. Para que te hagas una idea de su importancia, basta con que te digamos que está en el código de programas como BitTorrent o Dropbox, de juegos como Civilization o Battlefield 2 y de webs como YouTube o Reddit.

Como ya habrás imaginado, su nombre viene de los Monty Python y su ‘Flying Circus’ y hacer referencia a los míticos comediantes británicos en la documentación y los ejemplos de uso no solo está bien visto, sino que se fomenta. Hablando de Monty Python y de informática, el vídeo de arriba no hemos podido resistirnos de ponerlo.

Los ‘memes’

Las fotos graciosas que circulan por doquier en internet también han llegado (cómo no) al mundo de los lenguajes de programación de coña. Ahí tienes LOLCODE, inventado en 2007, un año antes de que los gatitos conocidos como LOLCATS causaran furor en la Red. Su principal objetivo – muy por encima de ser útil para los desarrolladores – es lograr que los programas se asemejen al ‘meme’ en el que está basado, sobre todo gracias al lenguaje. Hai, kthhxbye y expresiones de ese tipo están aseguradas.

El de ‘Gobernator’

El desarrollador Lauri Hartikka está detrás de un lenguaje de programación inspirado por la industria cinematográfica: el ArnoldC, basado en las frases más famosas de los personajes de Arnold Schwarzenegger. Lo que en otros lenguajes sería “falso”, aquí es “I LIED”; lo que sería “verdadero”, aquí es “NO PROBLEMO”; lo que sería “or”, aquí es “CONSIDER THAT A DIVORCE”. Y así con todo. Un proyecto que, en palabras de su autor, “trata de encontrar nuevos significados en las películas de Arnold en base a la informática”.

“Ser o no ser”, esa es la función

Aquí la clave es que el programa resultante parezca el guión de una obra de Shakespeare. De hecho, el lenguaje recibe el nombre del dramaturgo británico en su honor. Para ello, los personajes (que se definen al principio y son los típicos: Romeo, Julieta…) van modificando las variables que tienen asignadas a medida que interactúan y se formulan unos a otros preguntas que hacen las veces de sentencias condicionales (“if… then” y similares). Los programas tienen un título, actos, escenas, frases de guión y todo lo que cabría esperar de una auténtica obra de teatro.

El del arte abstracto

Sin duda Piet es el lenguaje más visual y más artístico de todos los que hemos incluido en esta recopilación. Debe su nombre al famoso pintor Piet Mondrian, ‘padre’ y referente principal del arte abstracto basado en formas geométricas, y su principal diferencia respecto a cualquier otro código es que los programas se escriben a partir de una paleta de colores.

Su funcionamiento es de lo más curioso. El intérprete va leyendo los bloques de color (rojo, amarillo oscuro, verde claro…) y ejecuta diferentes comandos en función de las transiciones de brillo y tonalidad que se produzcan entre ellos. Por ejemplo, si se pasa del rojo oscuro al amarillo claro se considera que ha aumentado en 1 la tonalidad y en 1 el brillo. Por lo tanto, según la tabla de comandos, se ejecuta “sustraer”, que consiste en restar el valor del segundo al del primero.

Suena complicado, pero en realidad es mucho más sencillo de lo que parece. Y luego ver el código es un auténtico placer para los sentidos. Echa un vistazo a estos ejemplos.

El de los emoticonos

Este lenguaje de programación es tal y como te lo estás imaginando: ‘smileys’, emoticonos y símbolos de todo tipo hacen las veces de instrucciones en Emoticon. Mira, por ejemplo, este ‘loop’:

help! 🙁  😛 😯  :=  :-E 🙂

No está mal, pero no todos los símbolos encajan formando grupos que de verdad hagan referencia a una emoción concreta. Para eso ya está Cfluviurrh, que nació para escribir programas con sentimientos. Sí, sí, con sentimientos. Inducidos, claro.

El más sencillo

“Un lenguaje de programación debe poder ser escrito y leído por orangutanes”. Ese es el principio número uno de ‘Ook!’ y, para alcanzarlo, “la sintáxtis debe ser simple, fácil de recordar y no mencionar la palabra ‘mono’”. Requisitos que cumple a la perfección este lenguaje con solo tres elementos – “Ook.”, “Ook?” y “Ook!” -, que combinados dan lugar al reducidísimo catálogo de ocho comandos disponibles para desarrollar los programas.

El que te borra el disco duro

Este es loquísimo, en serio… Te presentamos Intolerant, el lenguaje que te borra el disco duro cuando se produce un error en el programa. Caput. C’est fini. Y sucede a menudo porque pueden llegar a producirse trece tipos de errores diferentes. Vamos, que es algo así como la ruleta rusa de los ordenadores.

La lista de la compra

Muchos ya han abandonado el post-it de toda la vida y se han adentrado en el superpoblado mundo de las ‘apps’ de tareas (tipo Evernote o Keep), pero el trasvase entre tecnología y lista de la compra también se ha producido en el sentido contrario. El mítico papelito que llevamos al supermercado para paliar nuestra escasez de memoria también ha inspirado un divertido lenguaje de programación. Se llama ‘Grocery List’ (lista de la compra) y el código que permite crear consta de una cabecera con el nombre del supuesto establecimiento y un repertorio de viandas habituales como patatas, arroz o pollo. Echa un vistazo:

Hello, World! supermarket

Vanilla Ice Cream
Honey & Mint Ice Cream
pizza, mushroom and salami
vinegar
eggs, 10
pie with any berries, see what kinds there are
vegetable frozen mix
lamb leg
chicken if no lamb
cod
plaice if no cod
pork steak if you want it
veggie soup
onions
carrots
peas
no more mustard, please! got plenty of it!!!

La receta

Y por último, una vez comprados los ingredientes, llega la hora de ponerse manos en la masa para preparar un plato a la altura. Para ello, vamos a echar mano de Chef, el lenguaje en el que cada programa es una receta de cocina. Después del título, lo primero que tenemos que definir son los ingredientes, variables numéricas cuyo valor se especifica en unidades de medida propias de la gastronomía: gramos, mililitros, cucharas soperas, tazas… A continuación podemos especificar el tiempo de cocción o la temperatura del horno (en función del tipo de receta), las instrucciones (añadir un ingrediente a la mezcla, mezclar varios, partirlos…) y, por último, la estimación del número de comensales que podrán disfrutar del resultado. ¡Bon apetit!

Ahí va un ejemplo:

Hello World Souffle.

This recipe prints the immortal words “Hello world!”, in a basically brute force way. It also makes a lot of food for one person.

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.

————————————————————————-

Con información de Danger MouseProgopediaEsolangs y Wikipedia

La entrada Una oda al disparate en diez lenguajes de programación se publicó primero en Cooking Ideas.


Viewing all articles
Browse latest Browse all 2837

Trending Articles