Quando vedo le voci del code-golf che eliminano alcuni caratteri, riducendo il codice, vado a guardare la cronologia delle modifiche per una differenza side-by-side. Guarda e impara :)
Questa sfida è quella di creare un programma che produca le differenze animate più belle.
- L'input sarà qualsiasi serie ordinata di versioni di testo.
- Il programma può essere scritto in qualsiasi linguaggio di programmazione.
- È consentito che il programma si limiti a inserire dati in alcuni linguaggi di programmazione specifici.
- Il programma non deve essere sintonizzato sui dati di input specifici; il programma dovrebbe essere generico e funzionare per qualsiasi serie ordinata di versioni di testo.
- Per ogni versione nell'input deve essere presente un tempo corrispondente nell'animazione di output in cui viene visualizzato il testo completo della versione. È necessario animare la differenza tra le fasi della versione e tutte le fasi della versione devono essere presenti e in ordine nell'output. Su questi fotogrammi chiave, la dimensione della versione deve essere mostrata e lo spettatore dovrebbe capire che questa è una versione completa che stanno vedendo a quel punto.
- Il programma non può utilizzare alcun codice di terze parti per calcolare le differenze.
- L'output di evidenziazione della sintassi è facoltativo. Se il programma colora la sintassi, non può utilizzare alcun codice di terze parti per farlo.
- L'output sarà una GIF animata.
- Il programma può utilizzare una libreria di terze parti per creare la GIF.
- Questo è un concorso di popolarità , così come per la definizione di concorso di popolarità su questo sito, vince l'iscrizione con il maggior numero di voti .
Ecco un semplice script di esempio che utilizza il supporto GIF rudimentale animato di nythiff e Pillow di Python e anima ogni passaggio di aggiunta e rimozione:
Personalmente, penso che questo sia un lavoro piuttosto scadente. Non mette in evidenza l'evidenziazione della sintassi, non cerca di spostare blocchi di codice che vengono riorganizzati, non sembra che qualcuno lo stia modificando dal vivo e così via. Inoltre, infrange le regole relative alla visualizzazione della dimensione dell'input in byte sui fotogrammi chiave e utilizza una libreria di terze parti per eseguire il diffing. Un sacco di spazio per migliorare!
E si spera che le voci popolari diventeranno utili strumenti divertenti anche per la comunità codegolf.stackexchange.com. Quindi è apprezzato se i programmi sono facili da eseguire e utilizzare per gli altri.