Ciao Marco,

On Thu, 01 Jul 2021 17:15:55 +0200 Marco Ciurcina wrote:

> Ho qualche curiosità (che immagino si potrà soddisfare col tempo):
> - copilot migliora la produttività di uno sviluppatore?

Di programmi che producono codice ce ne sono diversi.

Io stesso ne ho scritti diversi negli anni e di solito aumentano la tua
produttività su quelle attività che sono estremamente ripetitive.

Quanto aumentino la produttività dipende, oltre che dalla definizione
di produttività di uno sviluppatore, dalla percentuale di tempo
dedicata a tale attività. Calcolare il tradeoff fra aumento di
produttività e costo di sviluppo richiede discreta esperienza [1].

D'altro canto, ci sono moltissimi linguaggi fondati sulla
metaprogrammazione[2].


Naturalmente GitHub Copilot ha una applicabilità molto generale:
generare snippets di codice dall'interpretazione del contesto esistente.
Anche la ridotta dimensione degli snippets aiuta.

> - se si, migliora più la produttività di uno sviluppatore bravo o
> quella di uno mediocre?

Come la misuriamo? In righe di codice all'ora? Bug all'ora?

Scommetterei che secondo entrambe le metriche, i neofiti ed i
programmatori mediocri trarranno un maggiore aumento di produttività.

Potrebbe però diminuire nettamente la produttività dei programmatori
più esperti.

Anzittutto capire COSA scrivere richiede spesso molto più tempo che
scrivere il codice stesso: un po' come nello scrivere un romanzo od un
saggio filosofico il tempo di battitura non è rilevante

Inoltre è sempre ai più esperti che tocca debuggare gli errori propri
ed altrui e da GitHub/Microsoft mettono già le mani avanti:

```
There’s a lot of public code in the world with insecure coding
patterns, bugs, or references to outdated APIs or idioms. When GitHub
Copilot synthesizes code suggestions based on this data, it can also
synthesize code that contains these undesirable patterns. This is
something we care a lot about at GitHub, and in recent years we’ve
provided tools such as Actions, Dependabot, and CodeQL to open source
projects to help improve code quality. Similarly, as GitHub Copilot
improves, we will work to exclude insecure or low-quality code from the
training set. Of course, you should always use GitHub Copilot together
with testing practices and security tools, as well as your own judgment.
```
https://copilot.github.com/

Cioè si chiede di adottare quel giudizio che manca inevitabilmente ai
neofiti, che però costituiscono coloro che trarranno maggiore
"beneficio" (in termini di righe di codice prodotte all'ora) da questo
tool.

I bug riprodotti massivamente su scala globale, in pratica, saranno una
esternalità da scaricare sulla collettività.

E poi ovviamente chi potrà prendersela con GitHub se una volta ogni
tanto, una vulnerabilità finisse nel codice usato da qualche nemico
della Patria?


Giacomo

[1] un'idea di massima la trovi sul classico https://xkcd.com/1205/ 
    ma le cose non sono mai così semplici purtroppo.

[2] http://wiki.c2.com/?MetaProgramming

> 
> 
> In data giovedì 1 luglio 2021 16:55:58 CEST, Enrico Nardelli ha
> scritto:
> > https://copilot.github.com/
> > 
> > Come ogni altro strumento estremamente sofisticato, nelle mani dei
> > bravi professionisti sarà enormemente utile, mentre in quelle dei
> > dilettanti temo che condurrà a problemi senza fine.
> > 
> > E ciò che secondo me rende la situazione ancora peggiore è che in
> > quest'ambito la differenza tra quelli bravi (senza andare sui geni)
> > e quelli mediocri (senza andare sulla capre) è data da un fattore
> > intorno a 10 (con tutte le incertezze legate ad una stima di questo
> > genere. Per approfondire ecco un link
> > https://softwareengineering.stackexchange.com/questions/179616/a-good-progr
> > ammer-can-be-as-10x-times-more-productive-than-a-mediocre-one )
> > 
> > -- EN
> > 
> > =====================================================================
> > Prof. Enrico Nardelli
> > Dipartimento di Matematica - Universita' di Roma "Tor Vergata"
> > Via della Ricerca Scientifica snc - 00133 Roma
> > tel: +39 06 7259.4204    fax: +39 06 7259.4699
> > mobile: +39 335 590.2331     e-mail: narde...@mat.uniroma2.it
> > home page: http://www.mat.uniroma2.it/~nardelli
> > blog: http://www.ilfattoquotidiano.it/blog/enardelli/
> >        http://link-and-think.blogspot.it/
> > =====================================================================
> >  
> 
> 
> _______________________________________________
> nexa mailing list
> nexa@server-nexa.polito.it
> https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa

_______________________________________________
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa

Reply via email to