Riporto pari pari un post di un mio amico al riguardo:
Sembra proprio che questi ultimi Boeing 737 max8 siano caduti per un difetto software, non per un errore umano o un evento di altro genere. La cosa fa pensare, io non mi intendo di volo ma di software e firmware un po si per cui sento di dire la mia. Non credo che l’algoritmo che sta dietro sia cosi’ complesso: velocita’ relativa, densita’ dell’aria, profilo dell’ala, massa, qualcos’altro, risultato: sta su oppure no. Cose che saranno note dalla nascita dell’aeronautica. Penso che normalmente le condizioni di volo siano lontane dal punto di stallo. Per cui viene piu da pensare ad un errore di scrittura del software. Allora mi vedo il programmatore indiano che parla con l’ingegnere americano: “ ma la costante D non era 453.23?” “no, era 45323” “ azz. Una caccola di mosca sul foglio, proprio li.. sembrava un punto”… “scusa ma voi usate . o , per segnare i decimali?” .. “poi non capisco bene l’altro pezzo… ma e’ uno zero (0) oppure una O ( di Oca)?”.. “ho messo ‘on error goto next’ forse era meglio se evitato”. Ci scherzo sopra ma da quando sono usciti anni fa i primi cryptolocker e ho letto che all’aeroporto Charle de Gaulle una parte del software di sicurezza gira su windows 3.11 non mi stupisco piu di nulla. Faccio un passo avanti. Cosa succedera’ quando le auto avranno un software di guida automatica e dovranno districarsi nel traffico mentre l’ignaro proprietario alla guida chatta su facebook o legge topolino? Vuoi mettere la complessita di gestire un veicolo in mezzo al traffico rispetto ad una procedura antistallo di un aereo? MI immagino l'articolo in prima pagina "donna sovrappeso investita sulle strisce pedonali da un'auto a guida automatica. Interrogato il computer di bordo risponde ' mi sembrava un ippopotamo e nel mio database possono stare solo nello zoo.. per cui ho ritenuto fosse un moscerino sulla telecamera e ho tirato dritto'"
Io sono abbastanza d'accordo......
A me però sembra un approccio informatico questo di anni e anni fa, a parte che il goto next è della preistoria della programmazione , ora scrivere codice è un operazione abbastanza semplice, il problema è tutta la progettazione, nel senso che tramontato il concetto di ingegneria informatica ormai è noto che il problema principale è avere programmi che soddisfino tutte le esigenze e assolvano a tutti i casi contemplati , e proprio perché l'informatica non è un ingegneria questo non si riesce ad avere in fase di analisi ma spesso il vero sviluppo di un software e nella manutenzione. Con questo voglio dire che probabilmente questo bug in realtà nasce da uno scenario mal analizzato in fase di sviluppo , o forse considerato in un modo che poi ha dato adito ad un workflow che in determinate condizioni,probabilmente anche remote, ha causato la tragedia.