Hace 29 días | Por BenjaminLinus a microsiervos.com
Publicado hace 29 días por BenjaminLinus a microsiervos.com

Martin Kleppe (@aemkei) ha dado a conocer una pequeña maravilla en JavaScript que ocupa tan solo 321 bytes y resulta visualmente llamativo: Qlock: un reloj en JavaScript que muestra la hora coloreando letras y símbolos del propio código fuente. Si no lo ves, aleja la imagen o junta un poco los párpados.

Comentarios

BenjaminLinus

A esto le llamo yo un buen programador; yo habría necesitado 180 líneas de código para hacer lo mismo.

kmon

#1 Buenísimo, una función que lee su propio código, y dígitos del reloj codificados en mapas de bits, mis dieses al creador, qué artista

Galero

#1 Más bien artista, diría yo.

La imaginacián y el manejo del lenguaje son fantasticos, la utilidad cero. En el mundo real, todo el código que escribas, cuanto más claro mejor, cuanto menos enrevesado mejor, las variables cuanto mas explicativas (nombres largos) mejor, y no solo para otros compañeros que puedan tocarlo, si no para ti mismo cuando vuelvas a ese código a tocar algo después de unos años. Cuando empece a trabajar, hacia bactrackngs, funciones recursivas, hilos de programacion, solo por placer. Ahora no hago nada de eso a no ser que sea completamente necesario. Son rutinas dificiles de mantener y de depurar. Aun así, es un placer ver ejemplos como el del artículo.

kmon

#3 no tiene que tener utilidad, es arte, y es una demostración de hasta qué límites se pueden llevar las capacidades de un lenguaje. Y tampoco es cierto que el código deba ser siempre claro y explicativo, todo código tiene un propósito, y a lo mejor el propósito es que sea lo más pequeño y eficiente posible, sin importar que sea menos legible, porque su destino sea un chip de bajo consumo o muy limitado en memoria. El Espruino por ejemplo, es un microcontrolador tipo Arduino pero basado en Javascript, al cual este tipo de técnicas le vienen muy bien.
Esto también está muy relacionado con la demoscene, donde las animaciones creadas no tienen utilidad más allá de lo artístico, pero exprimen las capacidades de la máquina y la creatividad del programador.
El perfil del creador es muy interesante

#4 Llevas razón, en algunos entornos es necesario.

d

A mi me parece sencillamente impresionante e ingenioso… Mirando el código se ve cómo además de las fórmulas de fecha para calcular la hora, minuto y segundo, tremendamente reducidas, hay otros números mágicos. Estos números se corresponden con el «coloreado de los símbolos», en una especie de fuente pixelada de 6×5 que básicamente se colorea (o no) según corresponda, píxel a píxel.