Nessuno mi toglie dalla testa che, nello scripting, le soluzioni più interessanti siano quelle più inutili dal lato pratico. Uno si focalizza sul codice e fa più attenzione al flusso di un programma più che alla sorte dei dati in quanto tali.
Prova di oggi: Dr. Drang risponde a un quesito platealmente vuoto di concretezza. Otto persone, sedute attorno a un tavolo rotondo, lanciano ciascuno una moneta. Qual è la probabilità che non ci siano teste (di moneta) adiacenti?
Qui arriva il colpo di genio. Drang aveva già affrontato il problema dieci anni fa; ora vi ritorna con un nuovo approccio, in parte perché conosco più librerie di Python e in parte perché cerco di lavorare a un livello di astrazione più alto.
Dieci anni fa: venticinque righe di codice.
Oggi: otto righe di codice, assai più eleganti.
Il suo commento finale:
Non avevo ragioni particolari di riscrivere questo script, ma è piacevole vedere che, contrariamente al detto, un vecchio cane può imparare nuovi trucchi. Specialmente quando il vecchio cane sei tu.
Non vedo inutilità più illuminante e formativa che scoprire di essere in grado di accettare sfide, accettare sfide nuove, accettare vecchie sfide e vincere meglio della prima volta.