Conservo ancora i miei Amiga 600 e 1200. Mi hanno insegnato tante cose, compresa una che oggi rischio di dimenticare: le risorse non sono infinite.

Quando scrivevo un programma, dovevo stare attento alla memoria. Se qualcosa non ci stava, tornavo sul codice. Cercavo di capire che cosa stavo conservando inutilmente, che cosa potevo riutilizzare e dove avevo complicato le cose.

Oggi ho molta più potenza. E qualche volta mi accorgo che la mia prima reazione è cambiata: il programma è lento? Aggiungiamo risorse. Consuma troppa memoria? Compriamone altra.

Comodo. Ma vorrei fermarmi un momento prima di aprire il portafoglio.

Immaginiamo di dover contare le righe di un file. Posso caricarlo tutto in memoria oppure leggerlo una riga alla volta, aggiornando il conteggio. Con un file piccolo probabilmente cambia poco. Con uno molto grande, la differenza si sente.

La domanda è semplice: per contare quelle righe, mi serve davvero tenerle tutte in memoria?

Vorrei farmi più spesso domande così. Mi serve copiare questi dati? Devo ripetere questa operazione mille volte? Perché questo programma continua a lavorare anche quando nessuno lo usa?

Ogni spreco sembra piccolo, finché non li mettiamo insieme. Alla fine qualcuno paga: con una bolletta più alta, una batteria che dura meno o il tempo passato ad aspettare davanti allo schermo.

Con l’intelligenza artificiale scrivere codice è diventato ancora più facile. Posso ottenere in pochi secondi un programma che funziona. Poi, però, devo leggerlo e capire che cosa sta facendo. Se gli affido una montagna di dati, continuerà a funzionare bene? Quanto consumerà?

Il fatto che il codice sia arrivato in fretta non mi toglie la responsabilità di controllarlo.

Naturalmente non voglio passare tre giorni a risparmiare due byte. Voglio codice chiaro, che faccia bene il suo lavoro. Quando qualcosa consuma troppo, preferisco misurare dove nasce il problema prima di mettermi a cambiare tutto.

E poi c’è una risorsa che non posso aumentare comprando un altro computer: la mia attenzione.

Apro un progetto, poi un articolo, poi un nuovo strumento. Nel frattempo mi viene un’idea e apro un’altra scheda. Alla sera ho iniziato dodici cose e finito quasi niente. Il computer ha retto benissimo. Io un po’ meno.

Ecco perché penso ancora ai miei Amiga. Mi ricordano che programmare significa anche scegliere: che cosa serve, che cosa possiamo evitare e quando è il momento di fermarsi a capire.

Oggi abbiamo strumenti straordinari. Vorrei che diventassimo altrettanto bravi a usarli con attenzione.

Aggiungere RAM è facile. Quell’altra parte, purtroppo, non la vendono insieme alla GPU.