Sono forse due mesi, o quanto meno uno e mezzo che sono stato ammesso alla beta test di Github Copilot.
Cosa è Github Copilot?
E’ un programma aggiuntivo, nel mio caso utilizzato in Visual Studio Code, che attraverso l’intelligenza artificiale tenta di scrivere il codice, o quanto meno di anticiparlo.
Insomma, va detto che intelligenza artificiale magari è un po’ forzata la cosa, ma di sicuro ci arriva li vicino. Copilot infatti agisce su più fronti.
Uno consiste nello scrivere un commento sul codice, indicando genericamente quello che si vorrebbe fare e lui prospetta delle soluzioni. Diciamo che è una specie di Alexa ma sul lato programmazione. Qua sorgono però delle piccole problematiche che in realtà per pessima abitudine fa anche l’intelligenza chimica. Ovvero quello di reiterare la stessa soluzione prospettata da qualcuno nel passato.
Cioè voglio scrivere una routine di collegamento al database o per inviare la posta elettronica, sicuramente la questione è stata trattata nel passato, magari sul ben noto sito “stackoverflow”. E’ probabile che la soluzione prospettata sia proprio quella più votata. E la parte paradossale che anche senza copilota avremmo fatto la stessa cosa.
Per queste cose qualcuno si indigna, dicendo che non hai fatto una roba tua. La penso in modo diverso, sto facendo un progetto, che prevede un pezzo per cui è stato già sviscerato a livello di sicurezza e problematiche varie. E’ diventata quella che in gergo viene chiamata “best practice”. Se devo perdere ore a re-inventare la ruota non ha molto senso, prendo il pezzo lo innesto, verifico che vada e si prosegue con il progetto generale.
La parte interessante invece avviene a mio avviso quando si scrive il codice vero e proprio. Qui davvero mi ha colpito, dopo un periodo piuttosto breve di “apprendimento” adesso moltissime volte riesce letteralmente ad anticiparmi. Comincio a scrivere una variabile, il nome di una funzione e sotto appare in grigio la sua proposta. Le fasi iniziali non era proprio preciso, e sono proprio in quelle fasi dove “ci giochi” per vedere se ci becca. Facendo l’errore di dare un giudizio incorretto. Ecco dopo il primo periodo ora davvero mi offre già bello pronto quello che stavo pensando di scrivere o quanto meno molto vicino. A volte soluzioni migliori o più efficenti.
Inutile dire che la velocità in questo senso aumenta in modo esponenziale. Infatti per accettare la proposta basta premere il tasto “tab” e il codice è scritto. Una lettura veloce per vedere se non ci sono errori di connessione, cioè magari l’utilizzo di qualche variabile che non è stata dichiarata e via.
Spesso quando si scrive il codice la mente è focalizzata sul piano generale, cioè sto facendo una funzione e quindi sto pensando alla soluzione nel suo complesso. E quindi mentre scrivi non ti accorgi di aver scritto male una cosa. Certo oggi ci sono i “linter” cioè validatori del codice, che nel caso di Visual Studio Code sono notevoli. Se una variabile non è usata te la mette in grigetto, se ne stai usando una che non hai dichiarato la sottolinea come errore. Per non parlare del sistema che ti mette il codice in modo ordinato e leggibile, quando io per primo a forza di fare prove sono un casinaro per eccellenza.
Con Copilot la cosa è molto veloce, perché il codice l’ha scritto lui e tu rimani concentrato nel processo generale dell’implementazione sulla soluzione.
Il programma è ancora in Beta e sicuramente andrà a migliorare, non credo di molto, ma aumentando le capacità di sicuro può presentare più opzioni. Già oggi quando prospetta una soluzione, possiamo andare a quella successiva o tornare indietro, infatti spesso la proposta non è solo una, sebbene la prima risulta essere la migliore.
In questo momento essendo in Beta e quindi è gratis. In futuro probabilmente sarà a pagamento, non si sa di quanto. C’è una minima speranza che resti gratis, infatti Copilot ha già dei concorrenti, come TabNine. Ma anche le altre big-tech sono al lavoro su soluzioni simili, Amazon su tutti.
Quello che è certo che tornare indietro ora è sarà un problema. Un po’ come il GPS, si andava in giro con cartine o chiedendo informazioni e comunque si arrivava a destinazione. Oggi senza il satellite diventa una specie di dramma, ma dell’assurdo.
Articolo pubblicato sulla Blockchain Hive.
Scopri di più da Walter's blog
Abbonati per ricevere gli ultimi articoli inviati alla tua e-mail.