2026-03-25

Programmare senza limiti… o senza capire?

Cosa succederebbe se fossimo costretti a far funzionare il codice con metà della memoria, rendendolo due volte più veloce e riducendone ad un decimo il traffico di rete?

La prima reazione sarebbe probabilmente il panico. Poi, però, inizierebbe la parte interessante: cominceremmo a guardare il programma con occhi diversi, a mettere in discussione aspetti prima scontati e ad indagare gli angoli più nascosti del sistema. Raggiungere tutti gli obiettivi prefissati potrebbe risultare impossibile, ma sarebbe comunque sorprendente constatare quanto potenziale fosse rimasto inutilizzato.

Le persone che scrissero i primi videogiochi ed i primi sistemi operativi vivevano sotto questo tipo di pressione ogni singolo giorno. L'hardware non lasciava loro alcun margine per essere vaghi su come funzionasse qualcosa, così svilupparono una relazione estremamente intima con il loro mezzo. Da quella relazione nacquero alcuni dei software più geniali mai scritti. Proprio grazie alla "difficoltà".

Noi abbiamo ereditato macchine molto più veloci e memoria più economica, questo è ovviamente un bene. Eppure da qualche parte lungo la strada abbiamo smesso di porci quelle domande scomode. Credo che ci sia qualcosa di prezioso da recuperare in quell'atteggiamento.

Forse oggi siamo ad un nuovo punto di svolta. Con l'arrivo dei grandi modelli linguistici, programmare sta diventando sempre più assistito e, in molti casi, anche più superficiale: è facile produrre prototipi che funzionano, molto più difficile capire davvero perché funzionano o quanto siano efficienti. Il rischio è che emerga una generazione di programmatori sempre meno consapevoli dei meccanismi profondi delle macchine su cui lavorano.

Ovviamente potrebbe accadere anche il contrario: questi strumenti potrebbero liberarci dal lavoro più meccanico e permettere ai programmatori migliori di concentrarsi proprio sulla creazione di software più ingegnoso. Il futuro dipenderà probabilmente da quale delle due strade decideremo di imboccare.