Orme sulla neve
Riflessioni dovute a Mac OS X 10.6, Snow Leopard, ormai imminente
Lucio Bragagnolo ed io siamo molto impegnati, in questo periodo, nella scrittura del nostro libro su Mac OS X 10.6 "Snow Leopard" che dovrà essere in libreria nello stesso periodo in cui il nuovo sistema operativo raggiungerà gli scaffali dei negozi d'informatica. Tutta questa concentrazione su OS X mi ha messo in testa una considerazione: vent'anni fa o giù di lì, "Macintosh" significava un calcolatore fisicamente diverso dai PC, con un sistema operativo ben differente dal DOS di Microsoft e applicazioni distinte (loro disegnavano con CorelDraw e noi con Photoshop, loro archiviavano con Access e noi con FileMaker, loro giocavano con Ultima 6 e noi con Return to Dark Castle..)
Oggi solo la seconda distinzione -- il sistema operativo -- rimane ben netta.
Una volta le differenze tra sistemi operativi si concentravano su cosa si poteva o non si poteva fare con questo e con quello. Oggi evidentemente non è così, tanto che sia Apple che Microsoft si propongono di non aggiungere quasi nessuna funzionalità con i prossimi rilasci. Ma le differenze, ancora oggi, sono maggiori delle somiglianze. Apple, ogni pochi anni, reinventa la ruota nel tentativo di farla correre meglio: abbiamo avuto il passaggio dal microprocessore Motorola 68000 al PowerPC IBM e poi al Core di Intel; abbiamo assistito alla rivoluzione copernicana del cambiamento tra Mac OS 9 e OS X; e recentemente Apple ha deciso di abbandonare lentamente il sistema Carbon di programmazione per favorire Cocoa, tanto che in OS X 10.6 tutte le applicazioni fornite col sistema operativo sono Cocoa (quelle basate su Carbon, come Microsoft Office, continueranno a girare senza problemi di performance se installate dall'utente).
Microsoft, all'opposto, recita il mantra della compatibilità: il microprocessore dei PC appartiene ininterrottamente alla medesima famiglia dal 1981; ancora oggi potete lanciare sotto la più recente versione di Windows un'applicazione concepita ai tempi di Win 3.1 con decenti possibilità che giri. Quanto ai metodi di programmazione, che in gergo si chiamano API, il discorso è più sottile ma altrettanto netto.
Microsoft ha sempre aggiornato senza mai rinnovare: il passaggio da Windows a 16 bit attraverso Windows a 32 bit per arrivare a .NET e ai 64 bit è sempre stato improntato a un conservativismo che alla lunga sta nuocendo gravemente alla stabilità e all'efficacia della piattaforma. Quando un programmatore fa una richiesta al sistema operativo (per esempio, "creami una nuova finestra") deve indicare parametri operativi (per esempio, "la voglio di queste dimensioni in quel punto dello schermo") si aspetta delle risposte (per esempio, se la finestra sia parzialmente fuori dal monitor) e degli effetti collaterali magari non documentati (siccome la nuova finestra può coprirne altre pre-esistenti e portarle in secondo piano, arriveranno messaggi in questo senso a cui bisogna reagire). Negli anni, gli sviluppatori di soluzione Windows hanno imparato a fare grande affidamento sugli effetti collaterali e Microsoft non ha mai voluto rompere le consuetudini. Non per irrobustire il sistema, non per velocizzarlo o per ammodernarlo: tutto questo è stato sacrificato all'altare della massima compatibilità col software esistente -- a cominciare dal proprio. Piccoli attriti, microscopiche ruggini e compromessi marginali che collettivamente nel tempo hanno reso Windows un sistema mastodontico, legnoso e davvero molto insicuro. Per ammazzare definitivamente tutti i virus che infestano Windows, a Microsoft basterebbe tappare cinque difetti ben conosciuti, accettando il fatto che questo impedisca il funzionamento di un bel numero di vecchie applicazioni: ma è una decisione che Redmond non ha alcuna intenzione di prendere. Al contrario, Apple non garantisce il funzionamento del suo FileMaker 8.5 (la versione corrente è la 9.0) sotto OS X 10.5.
Apple è unicamente ben piazzata, con le nuove API di Snow Leopard, per sfruttare il massiccio parallelismo che Intel e concorrenza stanno progettando nei microprocessori. Quando dico massiccio voglio dire che alcuni ingegneri oggi immaginano un milione di nuclei al lavoro -- il record attuale in un supercomputer è 129.600. Come te la caverai stavolta, Microsoft?
Originariamente pubblicato in data 11/01/2009