Al momento stai visualizzando Il futuro della programmazione

Il futuro della programmazione

In un post precedente ho interrogato ChatGPT per capire se effettivamente noi programmatori potremo essere sostituiti dall’intelligenza artificiale. Alla fine dell’articolo non ho tratto conclusioni per due ragioni:

  • È impossibile prevedere il futuro
  • È giusto che ognuno debba farsi una propria idea (questo vale anche per me)

Quindi ho continuato ad esplorare le capacità dell’intelligenza artificiale dopo l’avvento del linguaggio GPT 3, e mi sento pronto per fare alcune considerazioni sul futuro che ci aspetta e soprattutto su cosa fare nel presente.

 

Il futuro della programmazione: AIP

Quello che a me pare evidente è che, soprattutto noi creatori di software, non possiamo ignorare che siamo ormai giunti ad un bivio! L’autorevole Matt Welsh ha dichiarato esplicitamente che in futuro la programmazione come concepita oggi, sarà obsoleta. Questo significa che la programmazione non sarà più composta in massima parte dalla scrittura del codice. I programmatori infatti, invece di codificare direttamente i programmi, insegneranno alle prossime generazioni di tool basati sull’intelligenza artificiale cosa vogliono che sia codificato. Questo significa che non sarà più necessario essere esperti di programmazione per creare software, bensì bisognerà essere in grado di insegnare e spiegare all’intelligenza artificiale (IA) di cosa abbiamo bisogno, affinché essa crei il programma e lo migliori secondo le nostre richieste. Questo aprirebbe il campo della programmazione di software anche a persone non esperte nell’argomento. Potremmo riferirci a questo nuovo tipo di programmazione con Artificial Intelligence Programming, e di conseguenza usare anche il relativo acronimo AIP.

Come ho scritto poco righe più sopra al punto 1 però, ritengo che sia impossibile prevedere il futuro. Più che altro possiamo valutare la situazione attuale.

 

Situazione attuale dell’AIP

Ho usato molte altre volte ChatGPT dopo aver scritto l’articolo di cui sopra. Ho anche provato strumenti specifici per lo sviluppo che sfruttano le API di OpenAI come GitHub Copilot e Blackbox, e mi sono convinto di una cosa: siamo all’alba di una nuova rivoluzione! Sono convinto che bisogna mettersi al passo subito ed imparare a sfruttare le incredibili potenzialità dell’intelligenza artificiale. Io ho iniziato da poche settimane e i risultati mi sembrano entusiasmanti. In pratica lavorare con il supporto dell’IA è come lavorare con un collega geniale che conosce ogni tecnologia e ogni linguaggio di programmazione ma che ha bisogno di essere guidato. Attualmente, senza indicazioni, suggerimenti e correzioni di un’intelligenza umana, l’intelligenza artificiale non riesce ad essere produttiva. Quindi ad oggi è da considerarsi come un fantastico tool che può aumentare la nostra produttività in maniera esponenziale. Si riescono a creare applicazioni che non avremmo mai potuto creare, se non con lunghi studi e tantissima pratica, e in un tempo sorprendentemente breve! Nessuna illusione per chi non sa programmare, l’IA ha bisogno di una guida esperta per dare un contributo, altrimenti la previsione del mio amico Mario Fusco per il 2023:

potrebbe diventare realtà!

 

IA e formazione

Inoltre, al netto degli strafalcioni che può prendere (vedi post precedente) ChatGPT è un compagno di studi eccezionale, capace di accelerare la nostra formazione, a mio modo di vedere in modo molto più costruttivo e diretto rispetto a quello che può fare Google. Per noi programmatori, obbligati ad aggiornarci continuamente, l’IA potrebbe diventare fondamentale e irrinunciabile molto più di come lo è Google attualmente. Anche in questo caso però, bisogna essere molto critici verso l’IA e non fidarsi di ogni cosa che ci suggerisce. Questo però può essere un valore aggiunto, perché saremo portati a testare e approfondire ogni pezzo di codice o concetto che ci viene presentato dall’IA, e ciò può migliorare l’apprendimento.

Ovviamente rimane un’ombra all’orizzonte: rimarrà sempre così, o un giorno l’IA sarà migliorata al punto che non avrà bisogno nemmeno del nostro supporto per realizzare un software? Questo attualmente nessuno può dirlo.

 

Cosa ne pensa ChatGPT?

Ha chiesto a ChatGPT come si evolverà in futuro il rapporto tra programmazione informatica e intelligenza artificiale, e mi ha risposto così:

“È difficile prevedere esattamente come evolverà il rapporto tra programmazione informatica e intelligenza artificiale in futuro, ma è probabile che l’IA diventerà sempre più presente nella programmazione informatica. Ci sono diverse possibili evoluzioni:

  • L’IA potrebbe essere utilizzata per automatizzare alcune attività di sviluppo del software, come la generazione di codice o il debug, consentendo agli sviluppatori di concentrarsi su attività di maggior valore aggiunto.
  • Potrebbero emergere nuovi linguaggi di programmazione basati sull’IA, che potrebbero essere utilizzati da non sviluppatori per creare software.
  • L’IA potrebbe essere utilizzata per sviluppare software più sicuro ed affidabile, eliminando gli errori umani dal processo di sviluppo.
  • Gli sviluppatori dovranno lavorare in modo collaborativo con l’IA e imparare a sfruttarne al meglio i vantaggi.

In ogni caso, è probabile che l’IA diventerà sempre più importante nella programmazione informatica e che gli sviluppatori dovranno essere in grado di lavorare con essa in modo efficace. Tuttavia, è importante notare che l’IA non sostituirà completamente gli sviluppatori e che saranno sempre necessari professionisti qualificati per progettare, implementare e mantenere il software.”

 

Quindi possiamo stare tranquilli?

Per ora sì, ma purtroppo per il futuro non ne sono affatto convinto! Se le previsioni di Welsh e di ChatGPT sono giuste, dobbiamo quantomeno aggiornarci e imparare ad utilizzare l’IA per programmare. Le persone che non avranno grandi competenze di programmazione e soprattutto di progettazione, avranno probabilmente meno spazio in futuro. Siccome l’IA si occuperà di implementare la maggior parte del codice, serviranno meno programmatori e le skill richieste saranno più basate sulla capacità di progettare soluzioni efficienti, performanti e sicure.

Ci ho riflettuto a lungo e lo scenario futuro più probabile mi sembra essere questo, ma siamo sempre nel campo delle ipotesi.

 

Rivoluzione totale

È solo questione di tempo ma cambierà tutto molto velocemente. Per esempio, Microsoft sta già integrando le API di OpenAI all’interno del suo motore di ricerca Bing. Google sarà quindi ridimensionato? Potete immaginare un futuro dove potete fare a meno di Google? Beh, potrebbe diventare realtà (ma dipende molto da Google)!

Sicuramente i colossi dell’informatica lavoreranno a proprie soluzioni basate sull’intelligenza artificiale e lo faranno per non sparire. Il risultato sarà che ci saranno grandi innovazioni come non è mai successo prima. Credo che in questo momento noi non abbiamo la minima idea di quello che succederà nei prossimi mesi (per non parlare dei prossimi anni)!

…è impossibile prevedere il futuro…

 

Conclusioni

Le mie sono solo considerazioni personali, non verità assolute. Si possono aver mille legittimi dubbi sull’IA (che poi sono gli stessi dubbi su cui si dibatte da decine di anni), per esempio a livello etico, oppure sul grado di dipendenza che avremo presto verso l’IA o anche sull’effettiva utilità di questi strumenti. C’è però un’unica cosa certa:

…il progresso non si può fermare…

Quindi che ci piaccia o no, soprattutto noi sviluppatori di software non possiamo sottovalutare le potenzialità dell’AI, magari solo perché ChatGPT ci ha dato una risposta assurda o ridicola. Bisogna approfondire e quantomeno farci un’idea. Anche quando nacque Internet in tanti erano scettici! Provate per esempio GitHub Copilot, rimarrete stupiti.

Intanto già oggi l’IA potrà essere sfruttata da chiunque e in ogni campo o disciplina. Anche solo una chiacchierata con ChatGPT, potrebbe illuminare uno storico, un filosofo, un chimico, uno studente, un trader, uno scrittore, un artista, un sognatore e potrei continuare per ore! L’IA avrà un impatto sempre più grande in ogni campo dove si fa ricerca e innovazione, non solo nel campo software. Ci aiuterà ad imparare, a creare, a migliorare, a risolvere problemi e magari a trovare e ottimizzare soluzioni innovative. L’IA sarà integrata quasi in ogni tecnologia e dovremo farci trovare pronti per fare in modo che questa funzioni nel modo corretto.

PS: se avete già esperienza con l’IA vi invito a condividere i vostri pensieri ed esperienze commentando l’articolo.

 

Lascia un commento