È possibile programmare senza saper programmare? O programmare in maniera completamente diversa, senza usare gli strumenti della programmazione? Sappiamo che la domanda posta così non ha molto senso, ma permetteteci il paradosso: ci serve per parlare di una novità resa possibile dall’intelligenza artificiale. È il vibe coding.

Siamo di fronte a un nuovo paradigma oppure semplicemente a un meccanismo dalla portata relativamente innovativa? Sia quel che sia, il mondo della programmazione sta vivendo una trasformazione non molto silenziosa. Con le GenAI come ChatGPT, Claude, Copilot e Gemini, che oggi hanno capacità che solo due anni fa sembravano fantascienza, si possono fare cose molto interessanti.

Ma c’è di più. Ad esempio, usando strumenti come Cursor Composer, integrati con tecnologie di riconoscimento vocale come SuperWhisper, gli sviluppatori possono programmare praticamente senza toccare la tastiera, semplicemente dando delle indicazioni piuttosto generiche. Questa evoluzione ha dato vita al concetto di “vibe coding”, un approccio in cui lo sviluppatore si concentra sull’obiettivo finale, magari anche molto vago, piuttosto che sulla sintassi o sulla struttura del codice.

Il segreto è la GenAI?

Come funziona questo nuovo approccio? In realtà è un modo semplice ma efficace di programmare. Anche se con un grosso limite, come vedremo tra un attimo. Però, andiamo in ordine. Intanto, si parte da un’idea semplice: lo sviluppatore descrive ciò che desidera ottenere, spesso con richieste dirette come “diminuisci il padding della sidebar” o “aggiungi una funzione di ricerca”. Software come SuperWhisper interpretano il comando vocale, passando a Cursor Composer GenAI le richieste da trasformare in richieste e queste, a loro volta, in codice funzionante, gestendo autonomamente gli aspetti tecnici e strutturali.

Le AI sbagliano, spesso e volentieri, così come i programmatori in carne e ossa. Come fare, allora? Gli errori vengono risolti semplicemente sottoponendoli alla GenAI, che nella maggior parte dei casi è in grado di analizzare e correggere il problema (generato da lei stessa) senza intervento umano. Questa metodologia permette di sviluppare applicazioni (app, siti web, software di front e backend) in una frazione del tempo tradizionalmente necessario, sfruttando la crescita delle capacità dell’intelligenza artificiale.

Fraintendimenti e realtà

Le critiche al vibe coding non mancano, soprattutto da parte dei programmatori tradizionali. Questo approccio, il cui nome è stato coniato su X dal programmatore Andrej Karpathy il 6 febbraio scorso, viene spesso etichettato come “programmazione pigra” o accusato di produrre codice di scarsa qualità e difficile da mantenere. È vero, ma realtà è più sfumata. Il vibe coding non sostituisce la programmazione tradizionale ma la complementa, offrendo un’alternativa efficace per prototipi, progetti personali e applicazioni non critiche. Gli sviluppatori esperti che adottano questo approccio mantengono la capacità di intervenire manualmente quando necessario, utilizzando la GenAI come collaboratore piuttosto che come sostituto. È una specie di blocco notes concettuale, un foglio digitale sul quale fare degli abbozzi, dei doodle, magari fermare delle idee o anche rilassarsi giocando con il codice.

Chiedersi se questo è il futuro della programmazione vuol dire però farsi tutta un’altra domanda. È vero che il futuro dello sviluppo software sembra orientato verso una sinergia sempre più stretta tra intelligenza umana e artificiale. Il vibe coding, però, non è il punto di arrivo: rappresenta solo l’inizio di questa evoluzione, un primo passo verso un mondo in cui la barriera tra idea e implementazione diventa sempre più sottile. Per chi opera nel settore tecnologico, comprendere e sperimentare questo nuovo paradigma non è più un’opzione ma una necessità. La vera domanda non è se il vibe coding diventerà mainstream, ma quando la distinzione tra programmatore e non-programmatore comincerà a sfumare definitivamente.

Alcune fonti di questo articolo: