È sera, sono spiaggiato sul divano che studio un testo di storia contemporanea sul tab, un mio personale modo per rilassarmi stressandomi, quando appare secondogenito.
Mi guarda. Mi studia. “Papà – chiede – tu ne sai qualcosa di javascript?”. “Qualcosa” rispondo io. “Ci ho scritto degli script”. “Sto parlando di javascript eh, non di java” “Sì. Ho anche scritto dei piccoli script in java, ma ne so poco” Secondogenito aspetta ancora un po', sta pensando se perdere tempo con me. “Perché – mi spiega – ho un problema con il videogioco che sto scrivendo”.
In pratica secondogenito usa un software per fare videogame, quindi non deve – in genere – scrivere codice da zero, ma ora ha progettato una cosa che il suo software non può fare in automatico e quindi deve aggiungere uno script scritto da lui. Il software che usa permette di aggiungere infiniti script in javascript.
In questa scena del videogame c'è una musica e certi eventi si devono attivare a seconda del progredire della canzone. Secondogenito ha pensato un modo per farlo, a livello di codice, ma è un metodo macchinoso e si è reso conto – lato sviluppatore – che sarebbe pesante da aggiornare e da gestire.
Mi sdraio sul divano, poso il tab, mi faccio spiegare bene cosa vuole e gli dico che ho capito. Ci penso un attimo e poi gli dico che no, sta usando il metodo sbagliato. “È tanto che non uso javascript, ma quello che vuoi fare si risolve con un array di array e un piccolo ciclo. Quattro, cinque righe di codice. Aspetta”.
Mi alzo, metto il tab sulla tastiera, cerco per sicurezza la sintassi giusta per gli array di javascript che li confondo sempre con quelli di python, intanto secondogenito prende il suo portatile e – la faccio breve – modifico con grande grande lentezza le quattro righe di codice che servono per fare un primo test, cerco di spiegare anche bene come sono composte e poi succede questa cosa che secondogenito fa partire il codice e il videogioco funziona.
“Uh” dico. Sono meravigliato anche io. “Non doveva funzionare?” mi chiede secondogenito perplesso. “In genere alla prima non funziona mai” gli spiego. Fiduciosi di questo avvio aggiungiamo un loop che controlla l'array, facciamo ripartire il videogame e questa volta non funziona niente, ma non funziona niente così tanto che secondogenito pensa si sia rotto il computer. “Non preoccuparti – gli dico – è il magico potere del bug. Mi sono dimenticato di incrementare qualcosa”.
Insomma, correggiamo, ritestiamo, aggiustiamo, alla fine funziona tutto, mio figlio si mette lì ad aggiungere dati alla lista degli eventi e io mi sento dio sceso in terra.
Non solo tasselli, seghetti alernativi e teflon, ho anche il potere di javascript che scorre forte dentro di me. E per oggi è tutto.