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.
nella magna somma di tutte le linee di codice nello spazio e nel tempo è vero, ma considero un LegalTech all stregua di un software in ambienti critici ad alta integrita e blahblah vari e li il rapporto segnale rumore cambia di molto nel prodotto finito e testato
Temo di non aver compreso bene, ma se fosse la norma dovremmo avere centinaia di aerei, treni, automobili, satelliti, dispositivi medicali, centrali atomiche "sfracellarsi" continuamente senza sosta..
Ciao Luca, poni una obbiezione molto interessante.
Anzitutto ti confermo che i bug sono la norma. Qualsiasi programmatore con un minimo di esperienza te lo potrà confermare. Se non ricordo male, in "The Mythical Man-Month", Fred Brooks sosteneva che il numero di bug cresca in modo quadratico con la lunghezza del programma. In "Code Complete", Steve McConnell sostiene che la media dell'industria informatica si pone fra i 15 e i 50 bug ogni 1.000 righe di codice. Qui puoi dare un'occhiata ad una stima (molto ottimistica) dei bug del kernel Linux: https://scan.coverity.com/projects/linux
Sul tuo cellulare Android vengono eseguite miliardi di righe di codice: solo il kernel, Linux, sono 14 milioni di righe, poi c'è la libreria C, le librerie crittografiche, la java virtual machine, tutte le applicazioni. Alcune di quelle righe di codice sono generate automaticamente da software a loro volta buggati. E i compilatori che producono gli eseguibili sono a loro volta buggati ed introducono talvolta bug nel software a causa di processi di ottimizzazione errati. La frequenza e la pesantezza degli aggiornamenti di Windows o di Android dovrebbe permetterti di intuire il problema.
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'è) e sullo smartphone ho SailfishOS che a parita di bug con Android ho meno features utili che mi servirebbero (..!!..) a parte gli scherzi aggiungo una vecchia lettura sempre valida: http://static1.1.sqspcdn.com/static/f/702523/9277880/1288929538453/200512-Cr... ...
Ma non vedo questi effetti statistici, quindi o questi sistemi non usano software o il software che usano considerano il programmatore un criminale e quindi riducono il bug ad un evento raro e ben gestibile (tranne qualcha rara volta)
Semplicemente non sai dove guardare. E confronti il software per aerei con il software LegalTech descritto eccellentemente da Giuseppe. Sono due mondi totalmente diversi con livelli qualitativi assolutamente incomparabili.
Si ho volutamente "infuso" i due software per via degli effetti drastici sull'uomo in caso di fallimento 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. ...
Ora, tutte queste sono cose note, persino ovvie, che qualsiasi programmatore ti può confermare (mi scuso anzi per la lunghezza, ma volevo essere chiaro).
Forse intendi qualche buon programmatore perche ne conosco di diversi rispettabilissimi nel loro specifico linguaggio che non sanno cosa sia un'analisi formale e sono gli stessi che potrebbero ritrovarsi a programmare un "LegalTech" e che stanno programmando i firmware delle lavastoviglie!!
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
Per questo la gente va dietro alla blockchain, alle cryptovalute e alla singolarità nella IA.
Non mi sento di concludere in modo affrettato in quanto è la prima volta che possiamo testare sul campo l'idea della blockchain, non è sempre facile trovare banchi di test di queste dimensioni e con questi numeri, non che sia ecologicamente economica ed immagino che prima o poi il consenso chiedera il conto ...
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!!! Luca 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?