sabato 24 ottobre 2009

La meravigliosa storia del ragazzo più intelligente del mondo. Cap. 6

Sesto (e ultimo) capitolo: Perché i PC si impallano e cosa c’entra questo con la fortunata storia della Microsoft e del suo fondatore?(Tempo di lettura previsto: 8')

Apple imac newSi sarà capito che la possibile spiegazione, quella comunemente fornita, ha a che fare con la posizione di monopolio. Il capitalismo è un sistema molto efficiente, magari con qualche effetto collaterale indesiderato (anche l’aspirina li ha) ma che si adatta automaticamente per mezzo di un sistema a controreazione (feedback). Che però si blocca se un soggetto diventa monopolista. Infatti il noto gioco Monopoli, il capitalismo spiegato ai bambini, si fermava quando uno diventava l’unico giocatore. E infatti nel paese capitalista per eccellenza, gli USA, esiste una potente o presunta tale organizzazione antitrust che ha come scopo nella vita impedire i monopoli.
In questo caso però non è intervenuta, evidentemente. Magari perché il monopolio era più mondiale che domestico, e quindi diventava un non sgradito monopolio USA in un settore strategico. E infatti l’unico tentativo di stoppare il monopolio è venuto proprio dall’Europa, e in particolare da un nostro valoroso ex-commissario europeo, Mario Monti.

Non tutti sono d’accordo. Secondo alcuni ottimisti Microsoft con Windows non ha una vera posizione di monopolio perché esistono nel mondo almeno due valide alternative: Linux e i sistemi Apple. Ma è vero fino a un certo punto. In realtà non sono autentiche alternative. Linux è il sistema per chi vuole spendere il meno possibile ma è disposto a sobbarcarsi un lavoro da sistemista (più di quanto già non dovrebbe fare con Windows). Apple MacOS è l’ambiente per chi non ha problemi a spendere di più per avere il meglio.

Per quelli che vogliono comprare al prezzo più basso e non vogliono avere problemi di leggere manuali e simili, quindi praticamente tutti o quasi, l’unica alternativa è Windows.
linux_insideQuindi è un monopolio. Per ora. Perché difatti non è neanche questa la spiegazione. Microsoft ha una posizione di monopolio ma non si comporta affatto come tale. Un monopolista se ne sta tranquillo rinnovando il meno possibile, tanto i clienti non hanno scelta. Invece MS si ingegna di cambiare sistemi che andavano quasi bene (XP) con altri male accolti da tutti, magari a torto (Vista) e dopo solo tre anni eccone ancora un altro (Windows 7). Perché tutto questo agitarsi?

Perché non si sentono affatto sicuri. Lo sanno che i PC con i loro sistemi si impallano e che potrebbe sempre succedere che qualcuno trovi un sistema per ridurre la loro quota di mercato. In fondo è successo già con Linux (chi avrebbe mai scommesso sul sistema open di Linus Torvaldt, sconosciuto studente finlandese?) e anche con Mozilla Firefox.
Quindi non è vero che non ci provino a rendere più stabili i loro sistemi. Ci provano, con alterni successi.
Se non ci riescono è per un altro paradosso di origine di tutta la vicenda PC. Vi ricordate del sistema VMS, l’ottimo sistema operativo della Digital che è poi la base di tutti i sistemi Windows dal W2K in poi? Perché mai quando era Digital era stabile come un pezzo di granito ed ora nella sua nuova vita si è trasformato in quella cosa con cui ci troviamo a combattere? Cutler e gli altri progettisti hanno perso la mano passando alla Microsoft?

Niente affatto, il VMS era un sistema per ambienti usati da più utenti contemporaneamente, spesso professionali, o da utenti singoli ma sempre per uso professionale, ed era sempre presente un servizio di manutenzione, spesso con un sistemista dedicato. Che effettuava gli aggiornamenti, interveniva nei rari casi di errore o nei rarissimi casi di blocco, curava le nuove installazioni.

Il software applicativo e le utility che venivano installate erano realizzate in gran parte (quasi tutte) dalla stessa casa produttrice. La interazione con il sistema operativo era provata a lungo, ed era assai improbabile che dalla combinazione uscisse fuori una condizione nuova, non prevista, non gestita. Quella che appunto mette in crisi il sistema. Che, dal nostro punto di vista di utenti, si “impalla”.
macbookair-4The Art of Software TestingQui sarebbe necessario fare un piccolo excursus su come si fa ad essere sicuri che un certo programma software funzioni. In altre parole come si fa il “software testing”.Ci provo. (Ma volendo si può anche saltare alle conclusioni). Un programma non è altro se non una serie di condizioni, di “se” (come dimostrato da un noto teorema di logica matematica, il teorema di Jacopini-Bohm, due scienziati italiani, ma non vorrei spaventare nessuno, lo cito solo). Le possibili ramificazioni sono molte, e crescono esponenzialmente se i programmi si compongono tra loro per poter fornire funzioni più complesse.Se il computer attraverso queste diramazioni segue i sentieri principali, quelli pensati e progettati dal programmatore, tutto funziona perfettamente. Perché il programmatore per primo aveva percorso quei sentieri. Se però si prende una strada diversa, un bivio non previsto, si può anche arrivare ad una combinazione non gestita, che provoca un errore (un “crash” si diceva una volta) o più semplicemente quelle antipatiche situazioni di mouse bloccato o PC che gira furiosamente senza riuscire ad andare da nessuna parte.Come si fa ad evitarlo? Ad avere programmi senza errori o, come dicono gli americani, “bug free”? Semplice, direte voi, basta provare tutte le combinazioni possibili, non saranno mica infinite. No, non sono infinite, ma sono veramente tante, e per provarle tutte c’è bisogno di molto tempo (e molti soldi). I software bug free, quelli della NASA (dicono) o quelli che una volta sui facevano nelle “fabbriche del software” (ma solo sulla carta e nei sogni dei responsabili del controllo qualità) o comunque a basso tasso d’errore richiedono un ambiente di sviluppo e test dotato di un sistema di controllo dei test. Cerco di spiegarmi meglio.I test si progettano, e li progettano persone. Se sono gli stessi programmatori i test vengono malissimo, perché fatalmente seguono il percorso più logico secondo i loro processi mentali. Se sono altri, magari anche un po’ imprevedibili se non addirittura limitati, vengono meglio. Ma per essere sicuri del grado di copertura occorre un “coverage analyzer”, un sistema che esplora tutti i percorsi possibili del sistema e poi, una volta lanciato il test completo (che si chiama “test di sistema” infatti) calcola la percentuale di percorsi che sono stati effettivamente seguiti. La copertura del test. Che deve essere la più alta possibile compatibilmente coi tempi.

Proviamo a vedere se funziona
Troppo complicato? Non importa. Tanto nessuno (forse solo la NASA e i produttori di aerei, almeno speriamo) produce più il software così. Microsoft e tutti gli altri usano un sistema molto più semplice, basato sulla statistica dei grandi numeri, che può capire chiunque. Un primo test lo fanno loro nel laboratorio di produzione, gli stessi programmatori o un cerchio di tester appena più ampio. Poi, una volta verificato che più o meno riesce a “stare in piedi” per le funzioni principali, lo passano al “beta test”. Ovvero ad una moltitudine di utenti più o meno professionali che, gratuitamente o quasi, per la sola passione di provare in anteprima un nuovo prodotto, lo iniziano ad usare. Essendo molti statisticamente percorrono molte diramazioni e trovano molti errori e, alla fine del beta test, il software sarà ragionevolmente stabile.

Funziona meglio o peggio dei sistemi di test professionali che descrivevo prima? Più o meno uguale. Quelli non li seguivano mai fino in fondo perché il cliente premeva e il progetto era sempre in ritardo, questi hanno la forza dei numeri e del miglioramento progressivo.

Allora perché, se il software è testato abbastanza bene, comunque il PC si impalla? Ma perché c’è ancora un’altra variabile: la interazione tra i vari programmi sullo stesso povero PC. Di ogni provenienza, buoni e non buoni, o addirittura malevoli. Per quanto un beta test sia lungo e ampio tutte queste combinazioni non le potrà provare neanche di striscio. Le proveremo noi. Diventando noi stessi involontari protagonisti del test. Quando inviamo le segnalazioni a Microsoft (se abilitiamo questa funzione).

Ed è questo il motivo per il quale i sistemi Apple sono migliori. Perché la maggior parte del software è proprietario, è della stessa Apple, e anche quello non Apple non è così variegato. Le interazioni e combinazioni sono quindi in numero molto più limitato. Oltre al fatto che costa di più perché c’è un motivo.

Tutto qui? No. Il paradosso di fondo è ancora un altro. E’ la divaricazione sempre più grande tra le funzioni disponibili e quelle che usa l’utente. Quando compro una nuova macchina fotografica digitale o un nuovo telefonino mi affascina sempre leggere nel libretto di istruzioni il numero incredibile di funzioni che la quasi totalità dei compratori e delle compratrici non si sognerà mai di usare. La sincronizzazione del flash sulla seconda tendina (virtuale) in una compatta digitale. Il lettore di codice a barre su un telefonino. Ma ce ne sono a decine.

Su un PC siamo a due o tre ordini di grandezza oltre. I primi computer, quelli usati per andare sulla Luna (sì, ci siamo andati) erano meno potenti di quelli inseriti in un telefonino di oggi, ma erano usati al 100% delle loro possibilità. La potenza e la memoria del nostro PC è usata invece ad una frazione del totale (10%? 1%? Forse meno?) e resterebbe inutilizzata se non ci pensassero tutti quei programmi, che magari neanche abbiamo installato noi, che vanno allegramente in conflitto tra di loro facendo impazzire il povero PC che salta dall’uno all’altro soccombendo poi inevitabilmente e bloccandosi senza speranza.

La maggior parte delle persone compra un PC per poche funzioni: scrivere qualcosa, navigare su Internet, inviare la posta elettronica. Per queste funzioni non servirebbe neanche un PC, basterebbe un browser (come Internet Explorer) e un ambiente in rete come Google Docs.
Qualcuno poi crea presentazioni o fa calcoli e altro con un foglio elettronico, ma basta ancora Google Docs. Ecco, per gestire immagini e video, o per elaborare musica serve un PC “proprio”, almeno per ora. Ma comunque anche queste applicazioni non “saturano” affatto la potenza di un moderno PC.

Ma tutto il sistema è andato e va in un’altra direzione: fornire sempre più potenza e sempre più funzioni, non importa se i clienti le useranno o no. E’ il modello “wasting” (spreco) che secondo alcuni analisti controcorrente (di Wired) si coniuga con la libertà. E forse è pure vero.

Quindi, tirando le fila, i PC ce li teniamo così, e ogni tanto fatalmente si impalleranno, perché:
  • c’è un solo produttore e non abbiamo il beneficio della concorrenza
  • l’ambiente è più complesso di quello di un sistema degli anni ’80 dove c’era un sistemista dedicato, e noi non possiamo permetterci un sistemista dedicat
  • più usiamo il PC e più ci mettiamo dentro funzioni e più ne aumentiamo la complessità e quindi il rischio di instabilità
  • non vogliamo usare ambienti chiusi (con solo il browser) tipo “terminale” , anche se ci basterebbero, perché vogliamo la libertà di avere un nostro piccolo mondo senza vincoli e regole esterne
  • non abbiamo nessuna intenzione di perdere il nostro tempo (molto del nostro tempo) leggendo le istruzioni e manutenendo il PC
E una possibile soluzione è quella suggerita dalle immagini di quest'ultimo capitolo: vincere la pigrizia, decidersi a spendere un po' di più e passare al Mac.

Tutto ciò premesso, che tipo di PC ho usato per scrivere questo lungo post? Un Mac della Apple?
Ebbene, no, un normale notebook con (orrore) Windows Vista. C’è un Mac a casa mia e quindi parlo per esperienza e non per fede. Ma non è il mio.

E perché questa incoerenza? Perché negli anni ho selezionato una miriade di programmi di utilità che mi servono per i miei lavori e ritrovarli tutti in ambiente Mac comporterebbe un sacco di tempo e un sacco di soldi. Almeno credo, perché anche verificarlo cercandoli richiederebbe un sacco di tempo. Quindi c’è ancora un altro motivo, lo stesso che fa la fortuna da sempre del ragazzo più intelligente del mondo: l’inerzia dovuta al costo del passaggio, il vantaggio di chi arriva prima.

E il ragazzo (ormai uomo) più intelligente del mondo? Nel frattempo è diventato anche il più ricco del mondo. E, a differenza di altri, non si è buttato in politica. Ma ha fatto quello che avremmo fatto o faremmo tutti noi se avessimo la intuizione geniale che ha avuto lui negli anni ’90 e la conseguente fortuna: a 50 anni o poco più ha smesso di lavorare e si è dedicato ad una sua fondazione benefica. E ha lasciato qualcun altro a battagliare con i concorrenti (che ora sono Oracle, Google, Sap …), cercando di fare incursioni nei loro territori di analogo semi-monopolio.

Tutte le puntate in ordine cronologico:

Premessa: L'oggetto misterioso (ovvero: Perché i PC si impallano?)

Primo capitolo: L'importanza di essere al posto giusto al momento giusto

Secondo capitolo: Il PC dilaga

Terzo capitolo: Il miglior programma per PC mai realizzato

Quarto capitolo: Apple e Digital alla riscossa

Quinto capitolo: Il tradimento

Sesto capitolo: Perché i PC si impallano e cosa c’entra questo con la fortunata storia della Microsoft e del suo fondatore?

Nessun commento:

Posta un commento