Potevamo esimerci dallo scrivere un articolo sull’Intelligenza Artificiale? Ora che anche nostra zia usa ChatGPT per farsi aiutare in cucina e alcuni amici hanno fatto un viaggio in Europa organizzato da Gemini non possiamo aspettare.
Vorremmo però provare a fare alcune divagazioni filosofiche e fantasiose sull’impatto che ha e avrà in futuro nel mondo della programmazione, unico settore del quale ci sentiamo di poter parlare con un po’ di esperienza alle spalle.
Anche i vostri feed LinkedIn sono pieni di post di programmatori che stanno diventando milionari facendo scrivere tutte le applicazioni dagli agenti di Claude mentre fanno il bagno?
In CP non siamo a questo livello, ma stiamo facendo un po’ di esperimenti con diversi linguaggi e strumenti per valutare l’efficacia, la correttezza e la convenienza.
Questi esperimenti ci stanno facendo riflettere su alcune tematiche care alla cultura di CodicePlastico: il codice scritto bene, i linguaggi di programmazione, la cura dei dettagli.
Questo articolo è scritto da un ingegnere e da un filosofo che lavora come programmatore per necessità e passione.
La fine dei linguaggi di programmazione
Il primo punto su cui ci siamo trovati a riflettere è proprio il futuro dei linguaggi di programmazione. Strumenti come Claude Code, OpenAI Codex o altri agenti danno la sensazione di non dover più aprire il codice in un IDE. Dal momento in cui il codice non siamo noi a scriverlo ha senso interessarsi al linguaggio di programmazione usato? Se dovessimo appoggiarci interamente ad una AI, la cosa più intelligente da fare sarebbe lasciare a lei la scelta del linguaggio da usare, che probabilmente oggi sarebbe quello che conosce meglio e quindi quello su cui ha avuto la possibilità di fare più training. Probabilmente sarebbe Python che noi non conosciamo, ma che l’AI sa usare benissimo, quindi ok, scriviamo tutto in Python.
Proviamo però a spingere il pensiero ancora un po’ oltre. Se vogliamo ottimizzare la capacità dell’AI di scrivere e comprendere il codice, potrebbe aver senso far progettare a lei un linguaggio di programmazione in cui si sente confidente e produttiva. D’altronde i linguaggi di programmazione sono nati per facilitare gli umani e le macchine parlano benissimo in codice binario. Potrebbe essere arrivato il momento di invertire la rotta e progettare o aiutare l’AI a progettare linguaggi di programmazione in cui loro diventano effettivamente veloci, confidenti, pratiche con paradigmi che siano consoni al loro modo di “ragionare”. Potranno scrivere direttamente in binario o in linguaggi incomprensibili agli umani…ma che importanza ha, quello che conta è il risultato.
La fine dei programmi
Andando avanti su questi ragionamenti ci siamo chiesti: se l’AI scrive i programmi che probabilmente generano un output che finisce ancora in una AI, perché mai dovremmo chiedere all’AI di scrivere un gestionale per tracciare le attività che ho fatto oggi? O un programma per avere il report dei clienti del mese scorso? Perché dovrebbe esserci un programma che gira su un server per fare esattamente quella specifica cosa?
Stiamo per scrivere un’opinione forte (reggetevi), ma secondo noi non esisteranno più i programmi. L’AI farà tutto: chiederò a lei di tenere traccia delle attività fatte o di generare il report dei clienti e non ci sarà un software specifico. Solo un’unica AI o tante AI che comunicheranno per portare avanti i task richiesti da noi umani.
La fine dei programmatori
Se quello che abbiamo scritto si avvera, l’ovvia conclusione è la fine dei programmatori come li conosciamo oggi. Ce ne rattristiamo, noi amanti del codice, alcuni di noi con decine di anni di esperienza a scrivere codice in molteplici linguaggi, paradigmi, architetture, che ancora oggi restano affascinati dalle novità introdotte da Flix, noi che leggiamo libri sui parser combinator o su Rust.
Se non ci saranno più programmatori, i clienti faranno tutto da soli?
Noi crediamo che una figura che sappia capire le esigenze di un cliente, sappia creare le giuste astrazioni, edulcorare le informazioni e tradurre in un linguaggio che sia chiaro all’AI, sarà sempre indispensabile.
Non sarà più una figura prettamente tecnica. Anzi, dovrà avere una formazione molto più umanistica, con ottime capacità di comunicazione e di formulazione di pensieri chiari, analitici e precisi. Dovrà saper scrivere o parlare in modo corretto, chiaro, usando i termini giusti nel contesto giusto. Dovrà saper capire il cliente, le sue esigenze, il suo business, ecc…
Insomma dovrà essere un ottimo comunicatore con una grande padronanza di un linguaggio che dovremmo conoscere tutti: l’italiano (caratteristiche che non sempre si trovano in una persona con formazione tecnico-scientifica).
La rivincita dei filosofi?
È vero che i filosofi (e più in generale i laureati in discipline umanistiche) sembrano avere tutte le carte in regola per lavorare bene in questo nuovo mondo. Hanno passato anni ad affinare l’arte dell’argomentazione, a costruire sistemi concettuali complessi, a tradurre pensieri astratti in linguaggio preciso. Sanno distinguere tra necessario e contingente, tra causa ed effetto, tra correlazione e causalità – forse – distinzioni che diventano cruciali quando si deve spiegare a un’AI cosa vogliamo davvero.
Eppure, c’è un gap da colmare.
Primo, manca loro la comprensione sistemica di come funzionano le cose nel mondo digitale. Non devono necessariamente saper programmare (quello lo farà l’AI), ma devono capire cosa significa scalabilità, cosa comporta l’asincronia, perché certi processi sono costosi computazionalmente e altri no. Devono sviluppare un’intuizione per i vincoli tecnici, anche senza conoscerne i dettagli implementativi. È come saper guidare senza essere meccanici, ma sapendo almeno che esistono freni, frizione e cambio.
Secondo, devono superare la paura del concreto e del misurabile. I filosofi sono abituati a muoversi nell’astratto, nel possibile, nell’ideale. Ma un cliente vuole risultati tangibili, metriche precise, tempi di consegna. Bisogna saper tradurre la richiesta filosoficamente perfetta in qualcosa che funzioni davvero, anche se imperfetto. L’AI non ha bisogno di perfezione ontologica, ha bisogno di istruzioni chiare e obiettivi misurabili.
Terzo, serve umiltà epistemica. I filosofi sanno mettere in dubbio tutto – è il loro mestiere dai tempi di Socrate (forse, non tutti sono d’accordo sulla presunta umiltà di Socrate che, a ben guardare, è limitata ad un singolo caso esemplare e che sicuramente Platone…Ops). Ma nel dialogo con l’AI e con il cliente, bisogna saper bilanciare lo scetticismo critico con il pragmatismo operativo.
Infine, manca del tutto la capacità di iterazione veloce. La formazione umanistica privilegia la riflessione profonda, il tempo lungo del pensiero. Lavorare con l’AI richiede cicli rapidi di prova-errore-aggiustamento. Bisogna saper accettare che la prima formulazione non sarà perfetta e che si raffinerà strada facendo, conversando con l’AI come si converserebbe con un collega particolarmente brillante ma un po’ letterale.
L’inizio di una nuova era
Il paradosso è affascinante: dopo secoli in cui la tecnologia ha premiato il pensiero tecnico-scientifico, potremmo essere all’alba di un’era in cui saper formulare la domanda giusta diventa più importante che saper calcolare la risposta. I filosofi hanno sempre saputo fare domande. Ora devono imparare a farle in modo che si trasformino in soluzioni concrete.