Cuando veo entradas de código de golf que eliminan algunos caracteres, reduciendo el código, miro el historial de edición para ver una diferencia de lado a lado. Mira y aprende :)
Este desafío es hacer un programa que produzca las diferencias animadas más bonitas.
- La entrada será cualquier serie ordenada de versiones de texto.
- El programa puede estar escrito en cualquier lenguaje de programación.
- Se permite que el programa se limite a sí mismo para ingresar datos en algunos lenguajes de programación específicos.
- El programa no debe ajustarse a los datos de entrada específicos; El programa debe ser genérico y funcionar para cualquier serie ordenada de versiones de texto.
- Para cada versión en la entrada debe haber un tiempo correspondiente en la animación de salida donde se muestra el texto completo de la versión. Debe animar la diferencia entre las etapas de la versión, y todas las etapas de la versión deben estar presentes y en orden en la salida. En estos cuadros clave, se debe mostrar el tamaño de la versión y el espectador debe comprender que esta es una versión completa que están viendo en ese momento.
- El programa no puede usar ningún código de terceros para calcular los diferenciales.
- La salida de resaltado de sintaxis es opcional. Si el programa colorea la sintaxis, no puede usar ningún código de terceros para hacerlo.
- La salida será un GIF animado.
- El programa puede usar una biblioteca de terceros para crear el GIF.
- Este es un concurso de popularidad , por lo que según la definición de concurso de popularidad en este sitio, gana la entrada con más votos .
Aquí hay un script de ejemplo simple que usa el ndiff de Python y el rudimentario soporte animado GIF de Pillow y anima cada paso de agregar y quitar:
Personalmente, creo que este es un trabajo bastante pobre. No resalta la sintaxis, no trata de mover fragmentos de código que se reorganizan, no parece que alguien lo esté editando en vivo, y así sucesivamente. También rompe las reglas respecto a mostrar el tamaño de la entrada en bytes en cuadros clave, y utiliza una biblioteca de terceros para hacer la diferencia. Mucho espacio para mejorar!
Y esperamos que las entradas populares se conviertan en útiles herramientas divertidas para la comunidad codegolf.stackexchange.com también. Por lo tanto, se agradece que los programas sean fáciles de ejecutar y usar para otros.