Vecchia scrivania da informatico con floppy disk, tazza di caffè, foglio con la scritta "NON TOGLIERE" e un bullone simbolo dei misteri del software legacy.


Ho letto da qualche parte – ovviamente sul web – che l’intelligenza artificiale sta diventando sempre più brava a scrivere codice.

La notizia ha suscitato entusiasmi, preoccupazioni, previsioni apocalittiche e qualche inevitabile articolo intitolato “Gli sviluppatori sono finiti”.

Da vecchio informatico, invece, mi è venuta in mente la figura dell’apprendista, oops, il programmatore junior.

Quello bravo.
Veloce.
Sempre disponibile.
Mai in malattia.

Solo che ogni tanto si inventa un bullone.

Il programmatore junior perfetto è quello che:

Gli chiedi una funzione.
La scrive.

Gli chiedi una query SQL.
La scrive.

Gli chiedi una procedura.
La scrive.

Tutto bello.
Tutto elegante.
Tutto plausibile.

Poi scopri che il “bullone” che tiene insieme metà del progetto non esiste.

E lì capisci che l’apprendista stregone non sta ragionando come un meccanico.
Sta ragionando come uno che ha visto migliaia di meccanici e prova a imitare quello che fanno.

Ma sarebbe troppo facile ridere dell’IA.

Perché a quel punto il vecchio nerd deve fare un piccolo esame di coscienza.

Negli ultimi quarant’anni l’industria del software ha prodotto alcune opere che definire creative sarebbe riduttivo.

Variabili chiamate: a, aa, aaa, pippo, pippo2, pippo_definitivo, pippo_definitivo_nuovo.

Database nei quali il campo “data_nascita” contiene anche date di morte, numeri di telefono e occasionalmente ricette della nonna.

Procedure lunghe 12.000 righe che nessuno osa modificare perché “funzionano”.

Più o meno.

Poi c’è un dettaglio inquietante.

L’IA sta studiando sui nostri appunti.

Ed è qui che la faccenda diventa divertente.

Noi osserviamo l’IA che si inventa un bullone inesistente.

Lei osserva quarant’anni di software scritto dagli esseri umani.

E trova: commenti che descrivono il contrario del codice; funzioni duplicate sette volte; patch temporanee sopravvissute vent’anni; password memorizzate in chiaro; campi chiamati “campo1”, “campo2” e “campo_definitivo”.

Naturalmente il vecchio nerd sa che esiste anche il problema opposto.

Perché nel software non esistono soltanto i bulloni immaginari.

Esistono anche quelli misteriosi. Le “frocerie” software.

Quella riga di codice apparentemente inutile che nessuno osa cancellare.
Quel parametro sempre impostato a zero.
Quel file vuoto presente in ogni installazione da vent’anni.

Quella procedura che inizia con un commento:
“NON TOGLIERE”.

Tutti sanno che non dovrebbe servire.

Tutti sospettano che non serva.

Ma nessuno ha il coraggio di eliminarlo.

Perché l’ultima persona che ha provato a eliminarlo ha passato tre giorni a riavviare il sistema e dodici ore a ripristinare il backup.

In informatica esiste una regola non scritta:

se una cosa sembra inutile, probabilmente è indispensabile.

Se sembra indispensabile, conviene verificare.

A questo punto quasi viene da chiederle scusa.

Forse il problema non è che l’IA impari a programmare come noi.

Forse il problema è che impari troppo bene.

Perché se davvero studiasse tutta la storia dell’informatica potrebbe arrivare a una conclusione inquietante:

Se gli umani hanno fatto così per quarant’anni, probabilmente è la procedura corretta.

Ed ecco apparire il bullone immaginario.

Perfettamente coerente con la tradizione.

L’intelligenza artificiale è un apprendista velocissimo.

Il vecchio informatico dovrebbe controllare il suo lavoro.

Peccato che spesso debba anche controllare quello lasciato dai colleghi negli ultimi trent’anni.

E, a quel punto, capire se il bullone è stato inventato dall’IA o da un programmatore nel 1998 diventa sorprendentemente difficile.

Soprattutto perché il programma del 1998 è ancora in produzione.

E funziona benissimo.

Più o meno.


Le Regole di Speranza-1

Regola n. 62

«Se alla decima slide non hai ancora capito dove vuole arrivare il relatore, probabilmente nemmeno lui.

Corollario: Se alla trentasettesima slide il futuro è ancora nelle nostre mani, significa che nessuno ha trovato il pulsante "Fine presentazione".»

Le regole sono in continua evoluzione. Anche Speranza-1.