Le applicazioni future devono diventare intelligenti
La storia del multiprocessing è simile alla famosa domanda "Venne prima l'uovo o la gallina?". Con la diffusione di molti sistemi multi-processore o multi-core, gli sviluppatori di software hanno un motivo per concentrarsi sullo sviluppo di nuove applicazioni. Per ora non si è ancora in questa condizione, ma perché una piccola o media software house dovrebbe concentrarsi su questa tipologia di sviluppo?
Abbiamo già menzionato come alcuni servizi possono essere considerati essenziali, come un anti-virus o un firewall che permettono di proteggere l'integrità dei sistemi. Un computer desktop di media potenza solitamente fa funzionare non meno di 5-10 servizi non Windows. Tra questi troviamo le utility della scheda grafica, task bar per software audio o video, utility di monitoraggio, di rete, etc. Ogni icona che vedete nella task bar rappresenta un servizio che consuma un po' di memoria e potenza i calcolo. Considerando le prestazioni delle CPU future, vorremmo che questi servizi possano funzionare senza impattare sulle prestazioni del sistema.
Tuttavia, questa considerazione non risponde alla domanda "Cosa potremo fare con le performance offerte da un processore dual core". Bene, facciamo un esempio. Ricordo che Intel iniziò a parlare del riconoscimento vocale quando fu presentato il primo Pentium III a un Gigahertz, ma successivamente questa pratica non fu mai ampiamente adottata. Come è possibile comandare un computer semplicemente parlandoci assieme? Come è possibile limitare l'accesso solo alla vostra voce? O come è possibile convertire le vostre parole in testo ?
Pensiamo ora ai giochi. Avete mai giocato a un gioco dotato di intelligenza artificiale tale da essere praticamente identica a quella di un giocatore umano? Ne dubito. Una valutazione probabilistica, calcolo di complesse strategie e attitudine all'apprendimento potrebbero rendere il computer un opponente più al vostro livello.
La nuova versione di Windows, Longhorn, è un altro esempio di quello che un computer dovrebbe essere in grado di fare. Il sistema operativo deve occuparsi di una gestione intelligente, dell'organizzazione e della visualizzazione dei dati, eccedendo i limiti dell'organizzazione gerarchica. Per esempio, se io ricevo una mail o creo dei file, vorrei che il sistema sia in grado di riconoscere le informazioni chiave contenute nei file in maniera tale da semplificarmi la vita. Non vorrei spendere nemmeno un secondo per pensare a dove immagazzinare un file audio, se creare una cartella per artista o per tipologia di musica.
Come potete vedere, tutto ciò va in una specifica direzione. Quello di cui abbiamo bisogno è che i computer diventino più intelligenti, in maniera tale da aumentare l'interattività e l'efficienza. Vogliamo inoltre che la cosiddetta "digital lifestyle", lo stile di vita digitale di cui si parla molto, diventi una realtà, considerando che per molti non è solo una visione ma una vera necessità. Provate a pensare a quanti file MP3, documenti, grafici, presentazioni, immagini o altri contenuti avete immagazzinati nel vostro hard disk. Penso che siano in numero sufficiente da non farvi star bene all'idea di riorganizzarli tutti…