Logo principale
Niente di splendido è mai stato compiuto se non da coloro che osavano credere che qualcosa dentro di loro fosse superiore alle circostanze. (Bruce Barton)
Torna alla pagina iniziale Aggiungi ai Preferiti Area Riservata Contatto
::: Testo | A- | A+ | A0 :::
   Pagina iniziale // Programmazione // Tutti quei dolori da software
::: Cambia visualizzazione ::: who am i? :::   

Tutti quei dolori da software

Decine di milioni di istruzioni e righe di codice per ottenere un sistema (Windows, per esempio) che si blocca più volte al giorno. Dopo venti anni di concorrenza sfrenata e promesse miracolose, l'«industria della programmazione» non riesce ancora a produrre un software senza «bachi»

Nello scorso luglio il mensile Tecnology Review, edito dal Massachusetts Institute of Technology, il famoso Mit, pubblicava un polemico articolo la cui eco non si è ancora spenta. La firma era quella di un noto giornalista e scrittore americano, esperto di tecnologie, Charles C. Mann e il titolo suonava così: "Perché il software è così scadente?". In stile giornalistico cominciava con una famosa barzelletta, dove Bill Gates spiega che «se l'industria dell'auto avesse tenuto i ritmi di quella del software, oggi una macchina costerebbe solo 25 dollari e farebbe mille miglia con un gallone di benzina". Al che si leva uno dal pubblico e dice: "Sì, ma se le auto fossero come il software, si romperebbero due volte al giorno senza alcuna ragione e chiamando il meccanico questo vi direbbe che dovete reinstallare il motore". Secondo le peggiori tradizioni relative al copyright la versione originale di questo articolo è leggibile solo a pagamento, per 4 dollari e cinquanta, ma secondo le migliori possibilità offerte dall'Internet e dai motori di ricerca, una copia completa e gratuita di può trovare sul sito del politecnico statale della (California Polytechnic State University: http://www.csc.calpoly.edu/~jdalbey/SWE/Papers/BadSoftwareArticle.html).

Copyright a parte, l'articolo era interessante anche se non nuovo come tema: da che il software esiste infatti, gli studiosi, le aziende e i consumatori si rompono la testa su come sia possibile realizzare, e poi vendere e acquistare, dei programmi di qualità, ovvero senza errori. Software che non facciano cadere i razzi Ariane (come capitò il 4 giugno del 1996) o che non blocchino l'intera rete telefonica degli Stati Uniti (15 gennaio 1990). Oppure, più banalmente, che non ti piantino a metà strada oscurando il monitor e perdendo i materiali in lavorazione prima che tu possa salvarli. Non sembrerebbe una pretesa eccessiva, tanto più se rivolto a aziende dell'eccellenza e dell'alta tecnologia che sono nel ramo da una trentina d'anni e che dovrebbero avere imparato a costruire programmi sani e robusti.

Della cosa del resto è assolutamente consapevole la stessa Microsoft: nei mesi scorsi è stato proprio Bill Gates a lanciare l'allarme, cui sono seguite delle conseguenze operative: i clienti si aspettano da noi una maggiore qualità e perciò sarà il caso di frenare eventualmente la corsa a sviluppare sempre nuovi prodotti e procedere a una seria revisione del nostro modo di lavorare e di fabbricare il software. Tanto più che, dopo l'11 settembre, tutti i clienti sono più preoccupati di prima riguardo alla sicurezza delle loro reti di computer.

I bachi e gli errori che affliggono molti software sembrano far parte della normalità e non da oggi: in pratica un prodotto viene scritto in versione alfa (preliminare), poi si comincia a diffonderne la «beta», considerata più stabile, e si raccolgono le critiche e le osservazioni di coloro a cui è stata fornita in prova, si sistemano le cose e si rilascia la famosa versione 1.0, ma tutti i consumatori avvertiti non acquistano ma la prima: preferiscono di solito aspettare alcuni mesi, perché si può essere sicuri al cento per cento che anch'essa contiene molte imperfezioni. Infatti dopo la 1.0 compaiono una serie di aggiornamenti, detti patch, che ben si possono tradurre in «pezze».

La presenza di Internet fa sì che facilmente i titolari di una licenza software possano collegarsi al sito della casa madre e scaricare gratuitamente tali «rattoppi». Ma sempre di difetti si tratta, per i quali, a differenza che per le automobili e per i frigoriferi, non esiste alcuna garanzia per i consumatori: le norme contrattuali scritte in piccolo nelle licenze di utilizzo del software (di tutti i software) esentano il produttore da ogni obbligo e lo mettono al riparo da ogni richiesta di danni. In altre parole può, volendolo, venderci merce avariata, e peggio per noi.

Che si tratti di una situazione anomala e incivile pochi ne dubitano, eppure sembra che (quasi) nessuno possa porvi rimedio. E, ciò che è più grave, le cose non stanno migliorando mentre un numero sempre maggiore di attività della vita quotidiana dipendono dal software: vai allo sportello delle Ferrovie o dell'aeroporto e allargano le braccia perché il computer è giù; chiami il Call center di Tin-Virgilio e ti dicono che il sistema è fermo. Errori software hanno ritardato il funzionamento della gestione bagagli di Malpensa, e prima ancora di Denver, hanno bruciato un razzo Ariane e simili piacevolezze.

Come è possibile? Le cause sono diverse, ma la loro sommatoria è distruttiva. A monte ci sono difficoltà intrinseche, legate alla complessità dei programmi; a differenza di un teorema matematico la correttezza di un software non può essere dimostrata a priori, ma solo verificata sul campo, ma la verifica richiederebbe un tempo infinito, perché si tratterebbe di controllarne il buon funzionamento con tutti i parametri possibili, ossia in una infinito di stati. Il secondo livello dove gli errori prendono corpo è una certa cultura artigianale e non ingegneristica delle produzione: è vero infatti che dei progressi si sono fatti in questo campo, spingendo sempre di più verso soluzioni modulari (a oggetti), dove ogni piccolo blocco possa essere facilmente verificato, ma questa non è sempre la regola, specialmente quando i produttori si facciano prendere da una tentazione assai comune, l'impacchettamento.

Si prenda il caso del software forse più famoso di tutti, ovvero il sistema operativo più recente di Microsoft, chiamato Windows XP; esso consiste di circa 45 milioni di righe di programma (ogni riga un'istruzione), inevitabilmente aggrovigliate tra di loro? Un momento: davvero era inevitabile? No, ma lo è diventato perché l'interesse commerciale di Microsoft è di fornire una piattaforma in cui siano presenti tutti i programmi applicativi di uso più comune, per esempio il sistema di posta (Outlook) e quello per navigare in rete (Internet Explorer).

Di per sé non era una scelta tecnicamente obbligata, come è stato dimostrato ampiamente nel corso della causa antitrust e come alla fine la stessa Microsoft ha finito per ammettere. Ma è una scelta voluta per far sì che i clienti di Microsoft,l avendo già tutto da lei, non sentano alcun bisogno di utilizzare i programmi applicativi della concorrenza: se il lettore di musica e di filmati (Windows media Player) è già presenta nel computer che io compro, perché dovrei scaricare e installare quello di RealNetworks o il QuickTime di Apple? Un terzo motivo è anch'esso legato alle strategie commerciali delle aziende: sia nel caso di pacchetti preconfezionati e di uso generale che nel caso di software personalizzati per un certo cliente (per esempio una banca), la fretta è d'obbligo e con la fretta cadono le precauzioni, le verifiche e i test.

Alla Oracle, premiata azienda di software d'archiviazione (database) erano famosi per promettere ai clienti delle prestazioni che erano appena nello stadio iniziale di sviluppo; il poderoso sistema editoriale per la gestione di siti web, Vignette, può costare 100mila euro all'anno di licenze d'uso, ma resta il più rigido software in circolazione esistente e per di più in parte sconosciuto ai suoi stessi softwaristi: un importante settimanale italiano restò con il sito fermo per una settimana in attesa che un programmatore indiano, appositamente arrivato da Londra, ci capisse qualcosa. E in quel caso furono persino fortunati: altre aziende di software dopo avere strappato contratti milionari, lasciano tutto nelle mani di programmatori e analisti junior che si stanno facendo le ossa, a spese del cliente.

Articolo visitato 1834 volte e votato 12 volte (media: 4.0000 su 5)

Voto:
Un commento:
(facoltativo)
::: Pagina iniziale ::: Torna all'inizio della pagina ::: Stampa la pagina ::: 
Valid HTML 4.01 Transitional Valid CSS!