Una scienza imperfetta

… e lì, a quel punto, cadde il quadro.
A me m'ha sempre colpito questa faccenda dei quadri. Stanno su per anni, poi senza che accada nulla, ma nulla dico, fran, giù, cadono. Stanno lì attaccati al chiodo, nessuno gli fa niente, ma loro ad un certo punto, fran, cadono giù, come sassi. Nel silenzio più assoluto, con tutto immobile intorno, non una mosca che vola, e loro, fran. Non c'è una ragione. Perché proprio in quell'istante? Non si sa. Fran. Cos'è che succede a un chiodo per farlo decidere che non ne può più? C'ha un anima, anche lui, poveretto? Prende delle decisioni? […] Non si capisce. E' una di quelle cose che è meglio che non ci pensi, se no ci esci matto. Quando cade un quadro. Quando ti svegli un mattino e non la ami più. Quando apri il giornale e leggi che è scoppiata la guerra.

A. Baricco, Novecento

Sto usando il mio computer.

A un certo punto, senza apparente motivo, si blocca tutto.

Tralasciando la possibilità (sempre presente) di un problema hardware, non è mai esistito un sistema operativo perfetto. Ma cos'è un sistema operativo perfetto? Anzi, cosa significa esattamente il termine 'perfetto'?

perfetto
agg. [per-fèt-to]
1 - Compiuto in tutte le sue parti, completo; che non manca di alcuna qualità propria della sua natura.
2 - Che è senza difetti; ottimo, eccellente.

Data questa interpretazione, mi sovviene un nuovo interrogativo: Cosa deve fare un sistema operativo per poter essere definito perfetto? Beh, per prima cosa non si deve bloccare!

Partiamo da lontano. L'uomo è capace di costruire un dispositivo perfetto? E con 'dispositivo' intendo anche qualcosa di estremamente semplice ma i cui componenti non funzionino in maniera apparentemente aleatoria.

Un apribottiglie, per esempio.

Credo che la risposta sia sì. Non ho mai incontrato un apribottiglie che, improvvisamente, abbia smesso di funzionare senza un motivo apparente che non fosse, naturalmente, la propria rottura. Sarei dunque tentato di affermare che sia realisticamente possibile per l'essere umano creare qualcosa che si possa definire perfetto, almeno limitatamente al proprio utilizzo specifico. Poi, cercando il pelo nell'uovo, ci potrà essere un apribottiglie più comodo rispetto a un altro, più semplice da utilizzare e cose del genere ma, in linea di massima, tutti aprono bottiglie il 100% delle volte.

Cambiamo soggetto: l'automobile.
Ci troviamo sicuramente di fronte a un oggetto più complesso di un apribottiglie, il che richiede una costante manutenzione per mantenerlo in piena efficienza. Però anche in questo caso è raro vedere un'autovettura ben tenuta spegnersi improvvisamente sull'autostrada o prendere fuoco quando si inserisce una freccia per girare a destra.
Al peggio la si porta dal meccanico e lui, eventuali problemi, li trova sempre (e poi sono dolori).

Perché invece con i computer non si sa mai il perché di niente?

Stiamo scrivendo un semplice testo (come questo) e all'improvviso appare la stramaledettissima schermata blu. D'accordo, ogni tanto si tratta di un concorso di colpa, magari apriamo il cassettino mentre il cd-rom sta leggendo, o cancelliamo più o meno consapevolmente un importante file di sistema.
Ma il più delle volte è inspiegabile. E, quando non si tratta di un blocco totale, le informazioni fornite sono ancora più incomprensibili: numeri e codici apparentemente casuali, mappe di indirizzi di memoria, nomi di servizi e librerie coinvolte nel fattaccio. Ma mai una volta un testo chiaro che dica «Il computer si è bloccato per il seguente motivo: xyz».

Voglio però fare un passo indietro, tutto sommato a me frega poco dei numeretti, delle schermate di errore e della mancanza di informazioni cristalline. Io voglio capire perché il sistema operativo va in crisi quel tanto che basta per accorgersene ma non per porvi rimedio.
Mi spiego meglio. Quando qualcosa va storto possono accadere due cose: O il computer si congela, e a quel punto l'unica soluzione è spegnerlo e riaccenderlo, oppure ci avvisa che è successo un casino e che deve essere riavviato (o lo fa da solo) perché è stato raggiunto il punto di non ritorno.
La nuova domanda che mi sorge spontanea, dunque, è del tipo: «Perché non sta più attento?».

Una determinata area di memoria non può essere letta/scritta/cancellata/ecc.? E allora tu, sistema operativo, non farla leggere/scrivere/cancellare! Se un programma tenta una operazione illecita gli spezzi le braccine, non gli fai fare i propri comodi per poi esclamare allarmato «Accidenti! questo non lo doveva fare… Schermata blu, presto!».
Benvenga dunque la nota frase «Questo programma ha eseguito una operazione non valida e sarà terminato» anche se a mio avviso sarebbe stato meglio «Questo programma ha CERCATO di eseguire una operazione non valida ed è stato terminato». Ma forse si tratta di una imprecisione semantica, magari avvenuta durante la localizzazione della lingua. Probabilmente il senso del messaggio era proprio «Voleva farlo e gliel'ho impedito».
Il che comunque non spiega perché solitamente, dopo tale messaggio, il sistema operativo comincia comunque a sbarellare.

Poi c'è il fatto che una larga parte di questi errori non è riproducibile. Se sto massimizzando una finestra e il computer si blocca, dovrebbe succedere sempre, ogni volta che ingrandisco una finestra. O almeno quella finestra! Ripetendo ogni volta le stesse, identiche operazioni.
Eh ma il sistema operativo non fa solo quello! Magari, mentre tu giochi con le finestre lui ottimizza la memoria virtuale e porta a termine altre trenta cose. Beh, non è una giustificazione, quindi significa che non è nemmeno colpa mia! Non è la mia finestra che lo fa impazzire, è lui che si impiccia da solo.
Andiamo bene…

E pensare che dal discorso ho volutamente tenuto fuori tutto ciò che è meccanico. Perché aggiungendo pure quella variabile stiamo freschi: chip che si scaldano, componenti che per azione della dilatazione termica modificano il proprio funzionamento, vibrazioni esterne, magari anche onde elettromagnetiche che, per quanto minime, magari contribuiscono al fenomeno. O la solita maledetta farfalla di Bradbury che, col suo fottuto battito d'ali, scatena trombe d'aria e tempeste sui computer dei giapponesi.

L'unica cosa certa è che viviamo in una società imperfetta e, purtroppo ci stiamo abituando. L'esempio più immediato ce lo forniscono i cellulari. I primi modelli, per quanto poco ergonomici, funzionavano alla perfezione. Telefonavi, ricevevi chiamate, giocavi con gli SMS. Eravamo felici? No. Ci mancava il cronometro, gli screensaver animati, i giochini Java da scaricare dalla rete.
Risultato? Adesso si passa il tempo a fare lo slalom tra i bug che le ultime generazioni si portano dietro. E non casi sporadici, che si verificano quando Nettuno entra nel Leone con tutti gli altri pianeti allineati. No, a volte basta rifiutare una chiamata o cancellare un numero dalla rubrica per dover riavviare pure lui.

Si dice che non esistano più i beta tester, che costino troppo, che siano superflui, che tanto la gente compra lo stesso. A questo punto mi sto convincendo che sia davvero così. Non serve fare dispositivi perfetti, basta che funzionino alla buona. Perché perdere tempo a perseguire la perfezione se tanto sono cose destinate a qualcuno che perfetto non lo è nemmeno lontanamente?
Il mercato muove il mondo e, se il mondo gira così, significa che in fondo sta bene a tutti. Vedrete che arriveremo a pubblicità del tipo:

«Cambierebbe il suo Dixan per due cazzotti in faccia?»
«Ma certo, anche per tre!»

E poi, forse un giorno non troppo lontano, così come magicamente si è formato, l'intero universo non si spegnerà, non collasserà, non imploderà. Semplicemente andrà in crash e resterà lì, con una immensa schermata blu notte, immobile per l'eternità.
O magari l'ha già fatto. E noi siamo proprio quegli errori che, immuni a qualunque comprensione, lampeggiano sul dis#°%£$"!!!111111…

?SYNTAX ERROR
OK

Nota: durante la scrittura del post il mio Windows 2000 Server è incappato in un Memory Dump. Caso? Coincidenza? Punizione divina?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Translate »