GitHub Copilot: lintelligenza artificiale della codifica

GitHub Copilot: lintelligenza artificiale della codifica

Se sei un programmatore, ci sono buone probabilità che ti sia stancato di scrivere programmi lunghi (o lo farai!) E probabilmente ti sarai chiesto: "E se avessi qualcuno seduto con me per aiutarmi a creare questi programmi ?"

Ora hai GitHub Copilot, uno strumento di intelligenza artificiale che ti aiuta a scrivere i tuoi script in modo più efficace. GitHub Copilot può suggerire righe di codice e persino completare le tue funzioni.

In questo articolo imparerai di più su GitHub CoPilot e su cosa può fare per te. Iniziamo!

Che cos'è GitHub CoPilot e come funziona?

GitHub è una società sussidiaria di Microsoft , che ha collaborato con OpenAI (una startup di ricerca sull'intelligenza artificiale) per sviluppare GitHub Copilot. Puoi installare Copilot come estensione o utilizzarlo online con GitHub Codespaces. Funzionerà perfettamente anche con il codice di Visual Studio.

Meet GitHub Copilot - your AI pair programmer. https://t.co/eWPueAXTFt pic.twitter.com/NPua5K2vFS

— GitHub (@github) June 29, 2021

L'intelligenza artificiale apprende da miliardi di codici sorgente disponibili su piattaforme aperte e repository GitHub per suggerirti una riga di codice o talvolta intere funzioni. Gli sviluppatori hanno progettato Copilot per imparare dai programmi degli sviluppatori per migliorarne l'accuratezza e la precisione nel tempo.

Copilot suggerirà il codice più adatto per il tuo programma in base alle righe precedenti, ai nomi delle funzioni e ad altri fattori. Puoi accettare le raccomandazioni di Copilot, esplorare quali ulteriori suggerimenti propone, apportare modifiche al codice che acquisisci o ignorarlo del tutto; tocca a voi.

GitHub Copilot: l'intelligenza artificiale della codifica

Per essere chiari, Copilot non è un semplice programma di completamento automatico e non crea l'intero programma per te. È più uno strumento sensibile al contesto che funge da compagno, osservando i progressi del lavoro e offrendo suggerimenti durante la codifica.

Cosa farà per te il copilota?

No, CoPilot non è una macchina del futuro che ha tutte le risposte. Esaminerà il codice che stai scrivendo, ricorderà ciò che ha appreso da miliardi di altri programmi e quindi consiglierà cosa dovresti scrivere dopo.

CoPilot, secondo GitHub, comprende e funziona bene con una varietà di framework e linguaggi. Gli sviluppatori hanno addestrato lo strumento di apprendimento AI per comprendere diversi framework e linguaggi, nonché il codice sorgente dei repository GitHub.

GitHub Copilot: l'intelligenza artificiale della codifica

L'anteprima tecnica mostra che ti aiuterà bene con Python, JavaScript, TypeScript, Ruby e Go.

Il tuo partner di programmazione virtuale intelligente trarrà il contesto dal codice che hai scritto e produrrà codice comparabile utilizzando le funzioni che hai utilizzato nel tuo programma. Cerca di capire il tuo intento e suggerire il miglior codice. Tuttavia, i suggerimenti potrebbero non essere sempre la soluzione migliore.

Correlati: Come creare il tuo primo repository su Github

In base alla tua approvazione e rifiuto dei suoi suggerimenti, impara da te e da milioni di altri sviluppatori per adattarsi meglio al tuo stile di codifica. Riunisce diversi pezzi di codice in base alla tua descrizione di ciò che stai tentando di ottenere in un determinato programma. Compila automaticamente il codice quando hai frasi ripetitive nel tuo programma, il che ti eviterà di digitare lo stesso codice ancora e ancora. Non solo, ma può anche consigliare test basati sui probabili errori che il tuo programma potrebbe produrre.

L'annuncio di Copilot ha entusiasmato gli sviluppatori. Molti sono ansiosi di mettere le mani sullo strumento AI e vedere cosa ha da offrire.

Cosa dicono gli sviluppatori di Copilot?

Gli sviluppatori di tutto il mondo affermano che Copilot renderà le cose più facili per loro, farà risparmiare molto tempo e li aiuterà a rimanere concentrati sul lavoro.

Gli sviluppatori hanno condiviso le loro esperienze con il nuovo strumento AI su diverse piattaforme di social media. I suggerimenti di Copilot sono accurati, secondo uno sviluppatore che lavora nel settore della privacy e della sicurezza, e gli fa risparmiare molto tempo su codice ovvio e ripetitivo.

I've been testing #GitHubCopilot in Alpha for the past two weeks. Some of the code suggestions it comes up with are eerily good.

Here's a thread with some examples that I found surprising. Will update with new examples over time. https://t.co/lD5xYEV76Z

— Feross (@feross) June 30, 2021

"Copilot è una delle tre principali innovazioni tecnologiche degli anni 2020", condivide una serie di tweet di un ricercatore senior di Microsoft che ha seguito lo sviluppo di GitHub e Copilot di OpenAI.

So stoked to finally discuss Copilot!

I've used it inside MSR for months, watched it evolve, and discussed collabs.

[Disclaimer: the tech is by the amazing @github/@openai, I'm an informed observer.]

Not exaggerating, Copilot will be in top-3 tech developments of 2020s 🧵👇 https://t.co/aoQMfpSgtT

— Alex Polozov (@Skiminok) June 29, 2021

Gli sviluppatori ritengono che il completamento automatico dell'IA sia vantaggioso e sia destinato a restare. Tuttavia, dubitano di quanto del loro lavoro sarà svolto da strumenti di intelligenza artificiale come Copilot. Rimane anche qualche preoccupazione tra gli sviluppatori che possa eventualmente sostituirli.

Copilot ti sostituirà come sviluppatore?

Il CEO di GitHub, Nat Friedman, afferma che Copilot è uno strumento di produttività che ti fornisce funzionalità di completamento del codice e idee da implementare nel tuo codice. Ritiene che con strumenti di intelligenza artificiale come Copilot, lo sviluppo del software stia entrando nella prossima fase di cambiamento della produttività. Friedman afferma che compilatori, debugger, garbage collector e linguaggi hanno reso gli sviluppatori più produttivi in ​​passato. Quindi gli sviluppatori hanno condiviso il lavoro degli altri per migliorare il loro codice. Ora puoi usare l'intelligenza artificiale per codificare, ma l'affermazione del problema è sempre da risolvere per gli umani.

GitHub Copilot: l'intelligenza artificiale della codifica

Fonte immagine: https://news.ycombinator.com/item?id=27677110

L'intelligenza artificiale può suggerire il codice di corrispondenza del modello in base a ciò che hai già scritto nel tuo programma. Tuttavia, per usarlo in modo efficace e con successo, dovrai comprendere ogni riga del tuo programma.

Il tuo lavoro come sviluppatore non è solo sviluppare codice, ma creare codice specifico per i requisiti e le specifiche del problema che stai cercando di risolvere. Strumenti di intelligenza artificiale come Copilot ti aiuteranno a sviluppare il codice più velocemente di quanto faresti da solo.

Ma dovrai dire allo strumento AI cosa ti aspetti che faccia nel tuo programma. Come sviluppatore, sei sempre responsabile del tuo programma. È uno strumento simile all'e-mail, alla messaggistica istantanea, all'intelligenza artificiale conversazionale e a tutte le tecnologie che ci semplificano la vita.

Sebbene l'intelligenza artificiale sia il futuro della programmazione, il tempo in cui l'intelligenza artificiale domina completamente e progetta programmi da sola è ancora molto lontano.

CoPilot assisterà gli sviluppatori

Come sviluppatore, hai sempre delle scadenze e cosa c'è di meglio di un compagno di programmazione che suggerisce righe di codice e compila automaticamente il codice ripetitivo per portare a termine il tuo lavoro nei tempi previsti.

Copilot mostra la promessa iniziale nella sua fase iniziale, ma anche GitHub è cauto sulla sua applicabilità. GitHub afferma che a volte i suggerimenti di CoPilot potrebbero non avere senso o essere utili per il tuo programma. Dovresti sempre controllare, testare e rivedere i suggerimenti di codifica che ricevi da Copilot o da qualsiasi altro strumento di intelligenza artificiale.

GitHub Copilot: l'intelligenza artificiale della codifica

Fonte immagine: https://copilot.github.com/

Poiché nulla è impeccabile, c'è sempre la possibilità che Copilot commetta un errore. Tuttavia, lo strumento di apprendimento dell'intelligenza artificiale renderà la codifica molto più semplice per gli sviluppatori. È molto presto per commentare come influenzerà la comunità degli sviluppatori a lungo termine. Potrebbe anche essere pericoloso?


Come usare Python come calcolatrice da riga di comando

Come usare Python come calcolatrice da riga di comando

Sebbene sia possibile utilizzare una calcolatrice grafica sul computer, l'interprete del linguaggio di programmazione Python può fungere anche da calcolatrice da tavolo. È uno scherzo così popolare nella comunità Python che è menzionato nel tutorial ufficiale. Ecco come puoi usare Python come calcolatrice.

Gli 8 migliori blog Java per programmatori

Gli 8 migliori blog Java per programmatori

Come programmatore, dovresti accettare le sfide per sopravvivere e costruire alcune meraviglie nel campo dello sviluppo o della programmazione. Quindi, se stai cercando di imparare un linguaggio di programmazione avanzato per migliorare le tue capacità professionali, Java è una delle migliori prospettive in circolazione.

7 comandi vitali per iniziare con Python per principianti

7 comandi vitali per iniziare con Python per principianti

Imparare un nuovo linguaggio di programmazione come Python diventa facile se hai una tabella di marcia completa che dettaglia quali concetti imparare come principiante e come progredire ulteriormente per raggiungere il prossimo traguardo. Anche i programmatori intermedi dovrebbero spesso rispolverare le proprie nozioni di base per costruire una solida base per se stessi.

Principi di web design reattivo

Principi di web design reattivo

Al giorno d'oggi, è pratica comune creare un sito Web o un'app che regoli la sua interfaccia utente a seconda del browser o del dispositivo. Ci sono due approcci per raggiungere questo obiettivo. Il primo prevede la creazione di versioni diverse del tuo sito Web o della tua app per dispositivi diversi. Ma è inefficiente e può portare a errori imprevedibili.

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Lavorare con i numeri è parte integrante della programmazione. Ogni linguaggio di programmazione fornisce supporto per manipolare i numeri in molti modi diversi. In questo articolo imparerai come trovare il numero totale di cifre in un numero intero utilizzando approcci iterativi, basati su log e basati su stringhe.

Le 9 migliori alternative Docker per la gestione dei container

Le 9 migliori alternative Docker per la gestione dei container

I container sono estremamente utili per lo sviluppo, la distribuzione e la gestione del software in un ambiente virtuale. Docker è utile nel processo di containerizzazione, ma non è l'unica piattaforma disponibile. Se stai cercando delle alternative a Docker, non cercare oltre. Questo elenco mostra alcune alternative Docker ricche di funzionalità ed efficienti da utilizzare nel tuo prossimo progetto.

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

Come incorporare i tweet nei tuoi post di WordPress

Come incorporare i tweet nei tuoi post di WordPress

Incorporare servizi di terze parti nei tuoi post di WordPress è un modo entusiasmante per catturare l'interesse di un visitatore. Il contenuto incorporato fornisce anche indicazioni visive che semplificano la scansione. WordPress ha reso facile l'aggiunta di questo tipo di contenuto.

Come eliminare la cartella dei moduli del nodo con npkill

Come eliminare la cartella dei moduli del nodo con npkill

Node.js è un ambiente di runtime JavaScript che consente di eseguire JavaScript al di fuori dei browser Web, rendendolo una scelta popolare per lo sviluppo di tutti i tipi di applicazioni. Parte della sua popolarità è dovuta alla pletora di pacchetti NPM disponibili per facilitare l'esperienza degli sviluppatori.

Come scrivere e compilare il tuo primo codice di solidità

Come scrivere e compilare il tuo primo codice di solidità

Solidity è il linguaggio di programmazione utilizzato dagli smart contract sulla blockchain di Ethereum. È un linguaggio di programmazione orientato agli oggetti e tipizzato in modo statico.

I 5 migliori badge che supereranno il tuo repository GitHub

I 5 migliori badge che supereranno il tuo repository GitHub

I badge GitHub possono aumentare la leggibilità di un repository fornendo agli utenti un modo rapido per acquisire le metriche del repository. I badge possono essere incorporati nel tuo README.md per chiarire l'importanza e la necessità del tuo progetto ad altri sviluppatori. Di conseguenza, i lettori si fanno un'idea molto veloce del repository controllando i badge allegati.

Che cosè la Giornata internazionale dei programmatori? 3 modi per festeggiare questanno

Che cosè la Giornata internazionale dei programmatori? 3 modi per festeggiare questanno

Le giornate celebrative internazionali sono un bel modo per dare riconoscimento a questioni sociali, giornate storiche e rispettive carriere. La Giornata internazionale dei programmatori celebra il ruolo che i programmatori svolgono per migliorare la vita di tutti i giorni. Il mondo civilizzato in cui viviamo è un prodotto del duro lavoro svolto dai programmatori.

Come funziona il metodo Python String format()? 10 esempi

Come funziona il metodo Python String format()? 10 esempi

Che si tratti di una query di database o di risultati di operazioni matematiche, il metodo del formato stringa Python offre un modo più dinamico e accattivante per presentare i risultati a un utente.

Visual Studio 2022 vs. 2019: dovresti eseguire laggiornamento ora? spiegato

Visual Studio 2022 vs. 2019: dovresti eseguire laggiornamento ora? spiegato

All'inizio di quest'anno, Microsoft ha rilasciato la versione di anteprima di Visual Studio 2022 nel mondo della programmazione selvaggia. Questa è una buona notizia! È un IDE estremamente popolare, ma dovrebbe essere messo a punto o forse anche una revisione, dato il ritmo del cambiamento nell'ecosistema DevOps in cui prospera.

Una semplice introduzione alle metriche del software

Una semplice introduzione alle metriche del software

Le metriche del software sono misure utilizzate per quantificare vari aspetti del software. Questi aspetti possono variare dal costo, alla qualità e all'efficienza del team di sviluppo.

Come installare .NET Framework versione 3.5 su Windows 10

Come installare .NET Framework versione 3.5 su Windows 10

Come utente Windows, probabilmente ti sei imbattuto almeno una volta nelle parole .NET Framework. È un framework software sviluppato da Microsoft che ti consente di creare ed eseguire programmi C#, C++, F# e Visual Basic. L'ultima versione di .NET è la 4.8, ma il tuo computer potrebbe aver bisogno di una versione precedente di .NET (come .NET 3.5) per eseguire alcune app.

Flask o CherryPy: quale framework Python dovresti usare?

Flask o CherryPy: quale framework Python dovresti usare?

Se sei uno sviluppatore Python, puoi trarre grandi vantaggi dalla gamma di framework disponibili. Mentre alcuni framework sono più adatti per grandi ecosistemi, altri sono specializzati nel servire specifici obiettivi di sviluppo. Continua a leggere per apprendere le funzionalità di base, gli usi e le differenze tra due framework Python: Flask e CherryPy.

Come trovare cubi e quadrati perfetti a N cifre utilizzando Python, C++ e JavaScript

Come trovare cubi e quadrati perfetti a N cifre utilizzando Python, C++ e JavaScript

Molti programmatori amano risolvere complicati problemi matematici usando il codice. Aiuta ad affinare la mente e migliorare le capacità di risoluzione dei problemi. In questo articolo imparerai come trovare i quadrati e i cubi perfetti a n cifre più piccoli e più grandi utilizzando Python, C++ e JavaScript. Ciascun esempio contiene anche un output di esempio per diversi valori.

Come aggiungere Python alla variabile PATH di Windows

Come aggiungere Python alla variabile PATH di Windows

L'esecuzione di Python dal terminale è spesso inevitabile. Tuttavia, se hai appena installato Python su Windows 10 per la prima volta, eseguirlo tramite il Terminale di Windows è possibile solo se viene aggiunto alla variabile di ambiente PATH di Windows.

Come usare listruzione if di Python?

Come usare listruzione if di Python?

L'istruzione if è la forza trainante della programmazione logica. Di conseguenza, una migliore comprensione di Python è un'aggiunta significativa alle tue capacità di programmazione in Python.

Come usare Python come calcolatrice da riga di comando

Come usare Python come calcolatrice da riga di comando

Sebbene sia possibile utilizzare una calcolatrice grafica sul computer, l'interprete del linguaggio di programmazione Python può fungere anche da calcolatrice da tavolo. È uno scherzo così popolare nella comunità Python che è menzionato nel tutorial ufficiale. Ecco come puoi usare Python come calcolatrice.

Gli 8 migliori blog Java per programmatori

Gli 8 migliori blog Java per programmatori

Come programmatore, dovresti accettare le sfide per sopravvivere e costruire alcune meraviglie nel campo dello sviluppo o della programmazione. Quindi, se stai cercando di imparare un linguaggio di programmazione avanzato per migliorare le tue capacità professionali, Java è una delle migliori prospettive in circolazione.

7 comandi vitali per iniziare con Python per principianti

7 comandi vitali per iniziare con Python per principianti

Imparare un nuovo linguaggio di programmazione come Python diventa facile se hai una tabella di marcia completa che dettaglia quali concetti imparare come principiante e come progredire ulteriormente per raggiungere il prossimo traguardo. Anche i programmatori intermedi dovrebbero spesso rispolverare le proprie nozioni di base per costruire una solida base per se stessi.

Principi di web design reattivo

Principi di web design reattivo

Al giorno d'oggi, è pratica comune creare un sito Web o un'app che regoli la sua interfaccia utente a seconda del browser o del dispositivo. Ci sono due approcci per raggiungere questo obiettivo. Il primo prevede la creazione di versioni diverse del tuo sito Web o della tua app per dispositivi diversi. Ma è inefficiente e può portare a errori imprevedibili.

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Come contare il numero di cifre in un numero usando C++, Python e JavaScript

Lavorare con i numeri è parte integrante della programmazione. Ogni linguaggio di programmazione fornisce supporto per manipolare i numeri in molti modi diversi. In questo articolo imparerai come trovare il numero totale di cifre in un numero intero utilizzando approcci iterativi, basati su log e basati su stringhe.

Le 9 migliori alternative Docker per la gestione dei container

Le 9 migliori alternative Docker per la gestione dei container

I container sono estremamente utili per lo sviluppo, la distribuzione e la gestione del software in un ambiente virtuale. Docker è utile nel processo di containerizzazione, ma non è l'unica piattaforma disponibile. Se stai cercando delle alternative a Docker, non cercare oltre. Questo elenco mostra alcune alternative Docker ricche di funzionalità ed efficienti da utilizzare nel tuo prossimo progetto.

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

SQL vs NoSQL: qual è il miglior database per il tuo prossimo progetto?

Come incorporare i tweet nei tuoi post di WordPress

Come incorporare i tweet nei tuoi post di WordPress

Incorporare servizi di terze parti nei tuoi post di WordPress è un modo entusiasmante per catturare l'interesse di un visitatore. Il contenuto incorporato fornisce anche indicazioni visive che semplificano la scansione. WordPress ha reso facile l'aggiunta di questo tipo di contenuto.

Come eliminare la cartella dei moduli del nodo con npkill

Come eliminare la cartella dei moduli del nodo con npkill

Node.js è un ambiente di runtime JavaScript che consente di eseguire JavaScript al di fuori dei browser Web, rendendolo una scelta popolare per lo sviluppo di tutti i tipi di applicazioni. Parte della sua popolarità è dovuta alla pletora di pacchetti NPM disponibili per facilitare l'esperienza degli sviluppatori.

Come scrivere e compilare il tuo primo codice di solidità

Come scrivere e compilare il tuo primo codice di solidità

Solidity è il linguaggio di programmazione utilizzato dagli smart contract sulla blockchain di Ethereum. È un linguaggio di programmazione orientato agli oggetti e tipizzato in modo statico.