Il giorno mer 17 ott 2018 alle ore 22:38 Luca Cappelletti <luca.cappelletti@gmail.com> ha scritto:
Il 13/10/18 23:34, Giacomo Tesio ha scritto:
Il giorno sab 13 ott 2018 alle ore 18:36 Luca Cappelletti <luca.cappelletti@gmail.com> ha scritto:
Il 13/10/18 00:57, Giacomo Tesio ha scritto: ...
I bug non sono l'eccezione che capita a programmatori normalmente infallibili. Sono la norma.
considero un LegalTech all stregua di un software in ambienti critici ad alta integrita
Ok, in teoria sono d'accordo. Ma stiamo parlando di software LegalTech immaginari. I software LegalTech reali sono software enterprise. 1.000 euro a riga quando viene? Con il nostro PIL quanti ne riusciamo a scrivere/aggiornare? Arriviamo al 1% del codice civile? :-D
Intuisco la questione ma non ne ho un'idea ben precisa in quanto uso OpenBSD che di mestiere elimina codice (che quindi in futuro non puo rompersi in quanto non c'è)
Parli con uno che ha rimosso oltre un milione di venerabili righe di codice da Plan 9... :-D E per quanto apprezzi il lavoro di OpenBSD anche il loro codice ha bug. La differenza con organizzazioni come Mozilla è l'onestà intellettuale di risolverli senza cercare scuse.
a parte gli scherzi aggiungo una vecchia lettura sempre valida: http://static1.1.sqspcdn.com/static/f/702523/9277880/1288929538453/200512-Cr...
Rilancio: http://quotes.cat-v.org/programming/ :-)
Se consideriamo i possibili effetti negativi di un errore allora penso che l'approccio dovrebbe essere asintoticamente verso un firmware di un sistema critico per la salute umana. Come ad esempio i software scritti in Spark per i pacemaker.
Anche se sviluppassimo tutto il software rilevante legalmente in Spark (tipo Facebook, il browser, il mail server e il sistema operativo) ci sarebbero comunque bug. Pochi, ma ci sarebbero comunque. E probabilmente più gravi e meno riproducibili. Perché la cosa divertente dei bug è che a contarli, come fanno molti profani, si prendono delle cantonate enormi. Non ricordo chi osservava tempo fa che i programmatori più esperti introducono più bug. Questo perché di solito lavorano su progetti nettamente più complessi. Io però (in condizioni di lavoro normali) introduco relativamente pochi bug nel mio software. Ma un mio bug in media costa settimane per essere riprodotto ed identificato (e spesso minuti per essere corretto...). Quando calcoli la probabilità di un bug non dici nulla sulla sua gravità. Il problema non può essere risolto tecnologicamente, quanto meno con gli strumenti attuali. Per cui siamo costretti a riflettere su come gestire i bug (che ripeto sono inevitabili) a livello legale.
Il fatto che molti non ne abbiano coscienza deve farci riflettere. Mancano totalmente gli strumenti culturali per interpretare la tecnologia.
Se il bootstrap del compilatore che poi ricompila se stesso cominciasse seriamente a considerare il programmatore un potenziale criminale sicuramente i bugs verrebbero come minimo decimati
Forse. Eliminati no. E poi si porrebbe un problema interessante: in un libero mercato quale compilatore verrebbe usato di più? Quello che fa quello che il programmatore vuole o quello che fa quello che il programmatore del compilatore ritiene che sia appropriato per il programmatore volere? La risposta la abbiamo già, bella lampante: Haskell/Rust/Idris vs JavaScript.
Per questo la gente va dietro alla blockchain, alle cryptovalute e alla singolarità nella IA.
Non mi sento di concludere in modo affrettato...
Conosco la blockchain dal 2009. Il mio non è un giudizio affrettato. ;-)
Non esistono software senza bug.
Ma si puo aspirare a ridurli al minimo ma oggi come hai ben chiarito ci troviamo con gli estremismi, cattedrali intere di software buggato nella nostra vita e nessuno che risponde di questo scempio come se fosse dovuto e scontato, ma non è affatto cosi. La mia lavatrice me lo ricorda ogni giorno e l'ho pagata taaanto!!!
Assolutamente d'accordo. Purtroppo le persone sono abituate a dare questi mal funzionamenti per scontati. Quello che intendevo far notare ai giuristi / politici all'ascolto è che anche se sono fortemente condizionati a non vederli, devono tenerne in conto. Visto che qualunque software che un giudice utilizzi a supporto della propria decisione HA bachi di varia gravità che nessuno conosce, come garantiamo agli imputati che ne vengano danneggiati il diritto ad un "giusto processo"? Il bug è un errore oggettivo, osservabile e correggibile. Ma può invalidare una condanna in terzo grado? Se la risposta è sì, bisogna stabilire come e come risarcire il condannato e chi debba risarcirlo (lo stato o l'azienda produttrice del software?). Se la risposta è no, bisogna eliminare dal processo tale software.
p.s. e se gia dal liceo si insegnasse agli studenti a programmare software affidabile per ambienti critici invece che pagine web e app per l'iphone?
Io non avrei obbiezioni. Ma... e se alle elementari si insegnassero concetti e tecniche come la cryptografia e le reti? Io spero quest'anno di avere la possibilità di fare qualche esperimento in proposito con la classe di mia figlia (5° elementare). Il mio piano è insegnargli in modo giocoso - crittografia seria: one time pad - reti: topologie, protocolli, routing, firewall etc.. - sistemi: filesystem (e forse db relazionali, ma per quanto sia facile da insegnare ad un bimbo temo sia un po' noioso) processi, parallelismo e concorrenza - algoritmi Il tutto senza toccare un computer, ma dando loro i riferimenti per approfondire. Purtroppo aspetto la benedizione della scuola... e ho un po' paura che emerga qualche odiosa sciocchezza burocratica. Giacomo