Chat GPT e programmazione: cosa cambia?

Chat GPT e programmazione: cosa cambia?

31/08/2023 | Notizie

L’intelligenza artificiale sta diventando sempre più centrale nella programmazione e la tecnologia Chat GPT (Generative Pre-trained Transformer) sta interessando sempre di più chi lavora nel campo della programmazione grazie alla sua capacità di riscrivere il codice in pochi secondi.

Come chat GPT o l’AI può essere utilizzata per la programmazione

I programmatori che utilizzano già Chat GPT evidenziano come il concetto di IA generativa, l’uso di IA generative per scrivere codice e questa stessa intelligenza artificiale non sia di fatto una novità poiché il modello di NNLP scoperto dal mondo solo a dicembre 2022 era già conosciuto sotto il nome di GitHub Copilot, e usato dagli addetti ai lavori da più di un anno. 

Dato quindi che il concetto non è nuovo, non sono nuove anche le domande e i timori sul futuro dei programmatori. Ma Chat GPT 3 può sostituire un programmatore?

Lo scopriremo valutando funzionalità e vantaggi, ma anche i limiti di Chat GPT 3.

Sostanzialmente il modo in cui Chat GPT o l’AI può essere impiegata nella programmazione si sviluppa attraverso quattro punti:

  • La riscrittura del codice in modo ottimizzato grazie a strumenti basati sull’AI;
  • La generazione del codice sulla base delle specifiche fornite;
  • Il debugging del codice attraverso l’identificazione dei bug e la correzione;
  • L’automatizzazione dei processi di sviluppo come il testing del software, la gestione del codice sorgente e la compilazione;
  • L’accesso rapido alle informazioni grazie all’accesso fornito da Chat GPT ad  informazioni su librerie, funzioni e sintassi.

Inoltre, come strumenti di AI per la programmazione è bene specificare come Chat GPT non sia certo l’unico in grado di supportare il lavoro dei programmatori. L’intelligenza artificiale mette infatti in campo diversi strumenti in grado di offrire supporto nei processi di programmazione e o realizzione di applicazioni web. Tra questi troviamo:

  • Replit Ghostwriter;
  • GitHub Copilot;
  • MutableAI;
  • Tabnine;
  • Amazon CodeWhisperer

I vantaggi di usare Chat GPT nella programmazione

La scrittura del codice di programmazione impiegando Chat GPT porta a diversi vantaggi per i developers che possono essere tradotti in quattro punti principali:

  • Efficienza Aumento della produttività potendosi concentrare sulla logica del codice e lasciando il completamento della sintassi a a Chat GPT;
  • Miglioramento della qualità del codice grazie alle correzioni automatiche e ai suggerimenti ottenuti da Chat GPT;
  • Riduzione degli errori umani grazie all’automazione delle correzioni;
  • Risparmio del tempo necessario per la scrittura e la correzione del codice.

Tuttavia è bene sottolineare come l’intervento dell’uomo sia sempre comunque necessario al fine di verificare che il codice scritto da Chat GPT sia sempre corretto.

Limitazioni nell’uso di Chat GPT nella scrittura del codice di programmazione

Nonostante Chat GPT possa generare del testo che sembra codice di programmazione valido, ci sono alcune limitazioni nella scrittura di codice di programmazione con l’uso di questa tecnologia. Alcune delle limitazioni più importanti includono:

  • Limitazioni di linguaggio
  • Limitazioni di comprensione del contesto
  • Limitazioni di qualità dei dati
  • Limitazioni di sicurezza
  • Limitazioni di complessità

Più in generale si possono riscontrare limiti in Chat GPT per diversi aspetti tra cui:

  • La lunghezza dell’output  limitata: è possibile far generare spezzoni di codice che però saranno limitati e disorganici senza l’intervento manuale  di un programmatore;
  • Refactoring: non conoscendo il contesto del codice che sta analizzando Chat GPT potrebbe fornire che seppure è corretta è però inadatta al caso d’uso specifico;
  • Manca di contesto: non sapendo comprendere il contesto non è in grado di scrivere un codice di programmazione valido;
  • Errori sintattici: Chat GPT non è in grado di garantire la correttezza sintattica del codice generando del codice che non funziona correttamente;
  • Limitazioni tecniche: Chat GPT non è in grado di scrivere codice di basso livello, come il codice di sistema operativo o di driver hardware, e non è in grado di gestire funzionalità avanzate, come la sicurezza o la crittografia;
  • Dipendenza dal training data: Chat GPT dipende dal training data per generare del testo perciò potrebbe generare del testo impreciso o sbagliato.

Si può quindi affermare che Chat GPT possa essere oggi un valido supporto per velocizzare il lavoro dei programmatori, ma bisogna tenere conto dei suoi limiti per cui l’intervento finale dell’uomo non può ad oggi ancora mancare.

Ed è quindi sicuramente questa una delle sfide maggiori che Chat GPT si trova ad affrontare nel prossimo futuro, quella di apprendere sempre di più per offrire un supporto che non necessiti di verifiche di qualità da parte dell’uomo.

Il timore dei programmatori: potrà Chat GPT sostituire il loro lavoro?

In sintesi, Chat GPT non può sostituire completamente un programmatore, ma può rappresentare un aiuto prezioso per i senior. Tuttavia, l’utilizzo di questa tecnologia potrebbe rappresentare una sfida per i junior e c’è il rischio di una dipendenza e una mancanza di competenze. I programmatori possono utilizzare Chat GPT come strumento di supporto, ma ancora necessitano di un controllo finale per garantire la correttezza del codice.