Se avete sentito parlare di Vibe Coding è il momento di cercare di capirne il significato e di comprendere se si tratti di una buona o cattiva novità dell’informatica e, in particolare, della programmazione.
In parole povere, il vibe-coding è un approccio specifico alla programmazione che sfrutta gli strumenti di intelligenza artificiale per generare codice, anziché affidarsi esclusivamente alla tradizionale codifica manuale.

Il termine "vibe-coding" è stato coniato da Andre Karpathy, una figura ben nota nella comunità dell'intelligenza artificiale, che ha scritto un tweet a riguardo in modo un po' scherzoso. Il nostro personaggio ha detto: "C'è un nuovo tipo di programmazione che chiamo vibe coding, in cui ci si abbandona completamente alle vibrazioni, si accettano le potenzialità esponenziali dell’AI e ci si dimentica persino che il codice esista". Con questo strumento si tocca a malapena la tastiera perché si chiede all'intelligenza artificiale di comporre le linee di codice solo attraverso delle indicazioni fornite tramite i comuni prompt.
La dichiarazione è un po' scherzosa, sarcastica e provocatoria. Ma, di fatto, il vibe coding è questo nuovo stile di sviluppo in cui non si implementa ogni riga di codice in maniera manuale e meticolosa. Si collabora invece in maniera interattiva con l'intelligenza artificiale che si affianca allo sviluppatore: lui descrive ciò che vuole, lei offre la soluzione aggiungendo righe di codice al progetto. Si procede così, con successivi passaggi di perfezionamento, sempre con lo stesso metodo: descrizione della necessità, invio all’AI, aggiunta di nuove istruzioni al sistema, tutto in tempo reale. E’ una questione di vibe, vibrazioni o sollecitazioni che ai programmatori più tradizionali appare un modo orribile e incontrollato di scrivere codice.
Se in parte si può essere d’accordo sulle critiche, allo stesso tempo si riscontrano tramite sperimentazione diretta anche alcuni vantaggi del vibe coding. Il vibe coding può essere molto potente se usato correttamente e se usato dagli sviluppatori giusti al momento giusto. Non si tratta di scrivere codice perfetto, ma di sfruttare la potenza di sviluppo per portare a termine il lavoro in maniera produttiva. Se si riesce ad integrare questo tipo di sviluppo in alcune specifiche aree dei propri progetti, la produttività può essere davvero elevata. Si diventa in grado di realizzare più cose in meno tempo, e questo è già un grande vantaggio, ma con l’esperienza si riesce a capire come integrare il vibe coding con la programmazione tradizionale.
I programmatori principianti devono stare molto attenti quando si tratta di vibe coding perché occorre imparare le basi prima di poter iniziare a collaborare con l'intelligenza artificiale. I primi progetti dovrebbero essere basati sul proprio codice in modo da possederne il controllo completo della conoscenza, altrimenti ci si ritroverebbe con un mucchio di istruzioni incomprensibili per lo sviluppatore alle prime armi.
Chi viene dal mondo della consulenza e del freelance, sa che spesso è necessario portare a termine le cose in modo rapido ed efficiente. Quindi ogni strumento che ne faciliti l’ottenimento è bene accetto. Tuttavia, in alcuni casi, può essere un ostacolo in quanto introduzione di porzioni di codice tutte da comprendere comporta uno sforzo rilevante. Per i principianti il vibe coding può essere uno mezzo di stimolo per mantenere vivo l’entusiasmo su una creazione che da soli avrebbero faticato ad ottenere, ma tutto deve essere fatto con cautela ed è estremamente rischioso rilasciare codice in ambienti di produzione, codice che non si conosce o non si capisce nella sua interezza. Meglio sarebbe generare piccole porzioni di codice sulle quali si possiede totale controllo, invece che creare decine di migliaia di righe senza dominarle. Se so come funziona, sono in grado di ripararlo. Vibe coding è pensato per integrare tue conoscenze pregresse, ma non per sostituirle.
Il vibe coding può essere pericoloso per i principianti perché si modifica il codice sorgente stesso senza alcuna barriera di sicurezza. Inoltre, gran parte del codice generato dall'intelligenza artificiale non è da considerarsi sempre ottimale: nel settore dello sviluppo molte cose cambiano con grande rapidità e i modelli di intelligenza artificiale hanno bisogno di tempo per apprendere nuove librerie e nuove sintassi. Molte volte quindi il codice generato non è solo inefficiente, ma è semplicemente sbagliato.
In definitiva il vibe coding è una buona scelta? Sì, può esserla. È una cattiva scelta? Sì, può anche essere cattiva. La chiave sta nel trovare un equilibrio tra l'utilizzo di strumenti di intelligenza artificiale e la scrittura del proprio codice. Utilizzarli senza affidarsi completamente a loro. Se invece si sta utilizzando codice completamente generato dall'intelligenza artificiale, deve essere analizzato riga per riga per assicurarsi di comprenderlo pienamente. Qualcuno sostiene che usare l'intelligenza artificiale è un po' come barare o non si tratta di vera programmazione. Forse è un’idea un po' ristretta di osservare le cose, se vi sono cambiamenti nella tecnologia è giusto comprenderli e adattarsi ad essi. L’intelligenza artificiale è nata e non può che crescere e maturare, quindi perché non abbracciarla e imparare a usarla a proprio vantaggio? È solo un strumento in più da usare con attenzione, senza che sostituisca il mestiere e le capacità che l’uomo ha maturato nella programmazione.