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