co-sviluppo

GitHub Copilot in VS Code: l’IA alleata dei programmatori software



Indirizzo copiato

L’integrazione gratuita di GitHub Copilot in VS Code segna una svolta nello sviluppo software. Attraverso un caso pratico, vediamo come l’IA acceleri drasticamente la programmazione pur richiedendo la supervisione di sviluppatori esperti per garantire codice affidabile

Pubblicato il 21 feb 2025

Antonio Cisternino

Università di Pisa



programmare codice con l’IA (1)

A inizio anno ha fatto molto scalpore il grafico delle inserzioni di lavoro dedicate agli sviluppatori software mostrato nella seguente figura. Il grafico usa come scala il livello degli annunci al primo febbraio 2020, subito prima dell’inizio della pandemia, e suggerisce come il 2025 inizi con un livello vicino al 60%.

L’impatto dell’AI nel mondo dello sviluppo software

Inevitabili i commenti che correlano questi dati con l’impatto dell’AI nel mondo dello sviluppo software, anche se non è l’unica lettura possibile, in fondo se per oltre due anni si è assunto oltre il doppio può trovare spiegazione questo rallentamento in una saturazione parziale del mercato. È indubbio però che l’intelligenza artificiale sta avendo un impatto nel mondo dello sviluppo software, si cominciano a vedere listini di aziende software che offrono significativi sconti a coloro che accettano che il ciclo di sviluppo possa usare modelli AI.

Github Copilot Tutorial With Visual Studio Code

La nuova era di co-sviluppo tra uomo e macchina

Il mondo dello sviluppo si sta adeguando a questa nuova era di co-sviluppo tra uomo e macchina, e ne è testimone l’annuncio di fine dicembre che l’assistente Copilot di GitHub sia disponibile anche in una versione gratuita all’interno di VS Code, l’editor di Microsoft open source più usato al mondo per lo sviluppo (con oltre il 70% degli sviluppatori che lo usano).

L’integrazione dell’AI in VS Code: come funziona

Cerchiamo di capire come funziona l’integrazione dell’AI in VS Code e quali modelli di AI sono disponibili a un’ampia platea di sviluppatori per scrivere codice in modo più efficace e rapido.

Immagine che contiene testo, Diagramma, linea, schermataIl contenuto generato dall'IA potrebbe non essere corretto.

GitHub Copilot in VS Code

Non stupisce l’integrazione di GitHub e VS Code, sia il popolare sito GitHub per la gestione di codici sorgenti che l’editor sono di proprietà di Microsoft, è quindi naturale una stretta integrazione tra i due.

Quando si apre VS Code la pagina di benvenuto offre la possibilità di attivare la versione gratuita di Copilot accedendo a GitHub. Una volta attivata la funzione l’assistente è accessibile mediante un’icona a destra della barra di ricerca da cui si apre il menu di controllo dell’assistente.

Immagine che contiene testo, schermata, software, Software multimedialeIl contenuto generato dall'IA potrebbe non essere corretto.

L’interazione con l’AI avviene in un pannello a destra della finestra e assomiglia molto a quella che ormai i vari applicativi implementano per dare accesso ai servizi AI.

È possibile selezionare il modello che sarà usato da VS Code e non può non colpire il fatto che VS Code e GitHub Copilot, entrambi targati Microsoft, forniscano accesso non solo ai modelli OpenAI ma anche a Claude Sonnet 3.5 e a Gemini Flash 2.0.

Un esempio pratico: creare un’applicazione desktop .NET

Per provare l’integrazione ho creato un’applicazione desktop .NET core con il supporto alla grafica Windows Forms. Ho quindi aperto la cartella con la bozza di applicazione generata dal comando ‘dotnet new winforms -o mandelAI’ ed ho chiesto di generare il codice nel file Form1.cs che implementi un visualizzatore di frattali Mandelbrot con la capacità di selezionare rettangoli per fare zoom.

Si tratta di un prompt già sperimentato sul Canvas di OpenAI e con gli artefatti di Anthropic, ma il codice generato per un compilatore è soggetto a molti più controlli rispetto alla sua controparte HTML5.

Immagine che contiene testo, schermata, software, Sito WebIl contenuto generato dall'IA potrebbe non essere corretto.
Immagine che contiene testo, schermata, software, Software multimedialeIl contenuto generato dall'IA potrebbe non essere corretto.

Il modello genera il codice nel pannello e non nell’editor e al termine è possibile utilizzare una delle opzioni in cima al riquadro di codice generato per inserirlo nel file corrente. L’editor evidenzia gli inserimenti (in giallo) e le eliminazioni (in rosso) per capire l’impatto sul codice che può essere definitivamente accettato.

Immagine che contiene testo, elettronica, schermata, softwareIl contenuto generato dall'IA potrebbe non essere corretto.
Immagine che contiene testo, schermata, Carattere, schermoIl contenuto generato dall'IA potrebbe non essere corretto.

Il codice generato ha compilato subito e abbiamo così un’applicazione nativa per Windows che consente di navigare il frattale di Mandelbrot.

Immagine che contiene schermata, Software multimedialeIl contenuto generato dall'IA potrebbe non essere corretto.

Una volta visualizzato è evidente che il risultato è un po’ “schiacciato”, chiediamo quindi all’assistente di sistemare questo funzionamento e il modello propone le modifiche evidenziando il codice che sarà cambiato.

Immagine che contiene testo, schermata, software, Sistema operativoIl contenuto generato dall'IA potrebbe non essere corretto.
Immagine che contiene testo, schermata, software, schermoIl contenuto generato dall'IA potrebbe non essere corretto.

Possiamo quindi navigare il frattale con questa applicazione interamente generato dall’AI.

Immagine che contiene schermataIl contenuto generato dall'IA potrebbe non essere corretto.

Problemi e come risolverli

Per chi, come me, ha scritto numerose implementazioni del frattale di Mandelbrot risulta evidente che i bordi del frattale non sono definiti come uno vorrebbe, e la questione è legata al numero di iterazioni utilizzate per calcolare ciascun punto. Individuate le linee che si occupano di aggiornare il numero di iterazioni, selezioniamo quindi le linee che sono coinvolte nel cambio del numero massimo di iterazioni e chiediamo di spiegare al modello il codice.

Immagine che contiene testo, schermata, software, Software multimedialeIl contenuto generato dall'IA potrebbe non essere corretto.

Otteniamo una breve descrizione del funzionamento e della logica del codice scritto.

Immagine che contiene testo, schermata, CarattereIl contenuto generato dall'IA potrebbe non essere corretto.

Proviamo quindi a chiedere un cambio puntuale nel cambio del numero delle iterazioni.

Immagine che contiene schermata, testo, Software multimediale, software Il contenuto generato dall'IA potrebbe non essere corretto.

Le modifiche proposte e accettate non hanno migliorato la situazione, e ponendo un po’ più di attenzione al codice generato è evidente, almeno a un programmatore, che le due variabili sono definite ma non utilizzate e quindi naturalmente non condizionano il calcolo del frattale man mano che si procede con lo zoom.

Ho richiesto quindi di aggiustare il codice ed ho ottenuto una versione decente dell’applicazione che avevo in mente e come si può vedere con il calcolo corretto del numero di iterazioni i bordi del frattale risultano decisamente più evidenti e vividi.

Un potente alleato

Da questa semplice applicazione si imparano molte cose, sia sull’impatto dell’AI nello sviluppo che sul ruolo che comunque, almeno per ora, gli sviluppatori dovranno svolgere. Innanzitutto le interazioni complessive per ottenere un’applicazione interamente funzionante sono state meno 10, molto meno delle 80 incluse con il piano gratuito di Copilot offerto da GitHub.

Lo sviluppo di un’applicazione come questa avrebbe richiesto qualche ora di programmazione di un programmatore esperto, capace di implementare tecniche di computer graphics come il double buffering per evitare il flickering durante l’aggiornamento della vista mentre si seleziona l’area. Ho ottenuto il codice desiderato in pochi minuti, un’accelerazione sorprendente e impensabile solo pochi mesi fa (i primi tentativi di ottenere il codice del Mandelbrot con ChatGPT 3.5 erano decisamente lontani da quello ottenuto e per lo più errati). Resta il fatto che il codice generato aveva un problema subdolo: il programma era corretto e passava i controlli del compilatore ma la funzione richiesta era assente a causa di un errore di gestione delle variabili. Da programmatore con esperienza ho facilmente individuato il bug che altrimenti sarebbe stato difficile da individuare.

Si conferma quindi l’impressione che, almeno per ora, l’AI nel mondo dello sviluppo consenta di accelerare i tempi di implementazione a patto che vi sia qualcuno capace di verificare che l’output sia corretto ed eventualmente aggiustare il tiro ponendo le giuste questioni al modello.

Conclusioni

L’introduzione dell’AI all’interno dell’editor di codice più utilizzato al mondo rappresenta, se avevamo ancora dubbi, il segno che l’AI è un supporto ormai irrinunciabile per la programmazione.

Sempre più codice sarà generato e, almeno per un po’, i programmatori dovranno supervisionare l’output che come abbiamo visto può essere “quasi” corretto, e un “quasi” in un programma può corrispondere a un malfunzionamento significativo che può compromettere un intero sistema. È necessario quindi ripensare, almeno in parte, il ruolo che i programmatori svolgono, e anche il percorso formativo per formare i nuovi. La capacità di leggere il codice, abilità che si sviluppa col tempo, dovrà essere più oggetto di studio affinché chi verifica i codici possa farlo in modo critico individuando gli errori introdotti dall’AI.

Resta interessante la scelta di Microsoft di consentire di usare i modelli dei principali attori in questo settore, senza cercare di sfruttare la posizione di vantaggio dell’editor per forzare l’adozione dei modelli di OpenAI nella programmazione.

L’impatto a cui assisteremo contribuirà, se già non lo ha fatto, a ridurre le opportunità di lavoro per sviluppatori, e sicuramente saranno sempre più specialistici i posti messi a disposizione data la necessità di verificare il lavoro dell’AI in materia. Non resta che chiedersi quando anche questa supervisione diverrà superflua.

EU Stories - La coesione innova l'Italia

Tutti
Video & Podcast
Analisi
Social
Iniziative
Podcast
Centro Servizi Territoriali: uno strumento per accompagnare gli enti nell’attuazione della politica di coesione. Il podcast “CapCoe. La coesione riparte dalle persone”
Podcast
EU Stories, il podcast | Politiche di coesione e comunicazione: una sinergia per il futuro
Opinioni
La comunicazione dei fondi europei da obbligo ad opportunità
eBook
L'analisi della S3 in Italia
Norme UE
European Accessibility Act: passi avanti verso un’Europa inclusiva
Agevolazioni
A febbraio l’apertura dello sportello Mini Contratti di Sviluppo
Quadri regolamentari
Nuovi Orientamenti sull’uso delle opzioni semplificate di costo
Coesione
Nuovo Bauhaus Europeo (NEB): i premi che celebrano innovazione e creatività
Dossier
Pubblicato il long form PO FESR 14-20 della Regione Sicilia
Iniziative
400 milioni per sostenere lo sviluppo delle tecnologie critiche nel Mezzogiorno
Formazione
“Gian Maria Volonté”: dalle aule al mondo del lavoro, focus sui tirocini della Scuola d’Arte Cinematografica
TRANSIZIONE ENERGETICA
Il ruolo del finanziamento BEI per lo sviluppo del fotovoltaico in Sicilia
Formazione
“Gian Maria Volonté”: dalla nascita ai progetti futuri, focus sulla Scuola d’Arte Cinematografica. Intervista al coordinatore Antonio Medici
MedTech
Dalla specializzazione intelligente di BionIT Labs una innovazione bionica per la disabilità
Finanza sostenibile
BEI e E-Distribuzione: investimenti per la sostenibilità energetica
Professioni
Servono competenze adeguate per gestire al meglio i fondi europei
Master
Come formare nuove professionalità per governare e gestire al meglio i fondi europei?
Programmazione UE
Assunzioni per le politiche di coesione: prossimi passi e aspettative dal concorso nazionale. Il podcast “CapCoe. La coesione riparte dalle persone”
innovazione sociale
Rigenerazione urbana: il quartiere diventa un hub dell’innovazione. La best practice di San Giovanni a Teduccio
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Podcast
Centro Servizi Territoriali: uno strumento per accompagnare gli enti nell’attuazione della politica di coesione. Il podcast “CapCoe. La coesione riparte dalle persone”
Podcast
EU Stories, il podcast | Politiche di coesione e comunicazione: una sinergia per il futuro
Opinioni
La comunicazione dei fondi europei da obbligo ad opportunità
eBook
L'analisi della S3 in Italia
Norme UE
European Accessibility Act: passi avanti verso un’Europa inclusiva
Agevolazioni
A febbraio l’apertura dello sportello Mini Contratti di Sviluppo
Quadri regolamentari
Nuovi Orientamenti sull’uso delle opzioni semplificate di costo
Coesione
Nuovo Bauhaus Europeo (NEB): i premi che celebrano innovazione e creatività
Dossier
Pubblicato il long form PO FESR 14-20 della Regione Sicilia
Iniziative
400 milioni per sostenere lo sviluppo delle tecnologie critiche nel Mezzogiorno
Formazione
“Gian Maria Volonté”: dalle aule al mondo del lavoro, focus sui tirocini della Scuola d’Arte Cinematografica
TRANSIZIONE ENERGETICA
Il ruolo del finanziamento BEI per lo sviluppo del fotovoltaico in Sicilia
Formazione
“Gian Maria Volonté”: dalla nascita ai progetti futuri, focus sulla Scuola d’Arte Cinematografica. Intervista al coordinatore Antonio Medici
MedTech
Dalla specializzazione intelligente di BionIT Labs una innovazione bionica per la disabilità
Finanza sostenibile
BEI e E-Distribuzione: investimenti per la sostenibilità energetica
Professioni
Servono competenze adeguate per gestire al meglio i fondi europei
Master
Come formare nuove professionalità per governare e gestire al meglio i fondi europei?
Programmazione UE
Assunzioni per le politiche di coesione: prossimi passi e aspettative dal concorso nazionale. Il podcast “CapCoe. La coesione riparte dalle persone”
innovazione sociale
Rigenerazione urbana: il quartiere diventa un hub dell’innovazione. La best practice di San Giovanni a Teduccio
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati

Articolo 1 di 3