2. SOFTWARE

2.3 Software

Science, 13 Aug 93, Vol. 261, pg, 849 - M. Mitchell Waldrop - Si va affermando la nuova tecnica di programmazione detta OOP (Object Oriented Programming) che facilita la stesura di programmi complessi introducendo nella codifica la definizione di oggetti che hanno in comune generiche proprietà. Ciò rende i programmi più facili da capire, da scrivere, da correggere e da riusare in altre applicazioni. La filosofia OOP è stata applicata negli anni 80 nel linguaggio C nella versione C++; nel 1990 alcune caratteristiche OOP sono state aggiunte nell’ultima versione del Fortran.

Science, 6 Sep 96, Vol. 273, pg. 1341 - Random Samples - L’avvicinarsi dell’anno 2000 preoccupa programmatori e gestori dei centri di calcolo per il semplice motivo che i calcolatori non sono in grado di riconoscere il prossimo secolo. Infatti i programmatori degli anni ‘60 e ‘70 avevano riservato alla data solo due digit e, poiché dopo il 99 viene lo 00, il calcolatore interpreterà il 2000 come 1900. I primi programmatori erano giustificati perché pensavano che presto sarebbero stati superati da nuovi programmi, ma l’abitudine è rimasta e anche il calendario del Windows 95 non va oltre il 1999. Senza una modifica tutti i programmi legati alle date daranno un risultato errato o si bloccheranno. La modifica è complessa perché implica il controllo di milioni di linee di codice, può coinvolgere anche l’hardware e deve essere alla fine testato. Si prevede che questo problema costerà al governo USA da 20 a 30 miliardi di US$.

Science, 7 Aug 98, Vol. 281, pg. 792 - Lov K. Grover - Dopo che, 15 anni fa, Feynman ed altri ipotizzarono la realizzazione di un computer basato sulle leggi della meccanica quantistica con una struttura di calcolo completamente diversa, nel 1994 Shor scoprì un algoritmo quanto meccanico di fattorizzazione che destò grande interesse perché gli attuali sistemi di codici crittografici sono basati sull’assunzione che non esista un tale algoritmo. Dopo 2 anni, nel 1996, l’autore scopre un algoritmo quanto meccanico per trovare una singola voce in un database di N voci con un numero di step pari alla radice quadrata di N mentre qualunque algoritmo classico, deterministico o probabilistico, richiede N passi, questo perché un computer quantistico esamina contemporaneamente più strade. Uguale vantaggio si ha nei problemi statistici. Ci sono però anche problemi per i quali il computer quantistico non è molto utile come per il problema di parità di una funzione binaria cioè determinare se il numero di volte che la funzione assume il valore di 1 in un certo dominio è pari o dispari. Un computer classico deve calcolare tutti i punti, uno quantistico è al più due volte più veloce. Un’altra importante categoria di problemi è quella degli “NP complete”, come quello del commesso viaggiatore che deve visitare N clienti senza ripassare nello stesso luogo, per i quali non ci sono ancora soluzioni efficienti. Per un computer quantistico non sono state fatte molte indagini, ma si potranno avere delle sorprese.

Science, 11 Dec 98, Vol. 282, pg. 1976 - Joseph Alper - Nella lotta fra Microsoft e Dipartimento di Giustizia USA circa il monopolio sui sistemi operativi, si affaccia una nuova competizione. Si tratta di Linux (www.linux.org) un sistema operativo, variante di UNIX, usato dai server di Internet che gestiscono il traffico della rete WEB che sembra voler entrare nel mondo delle workstation e dei personal computer. Linux è potente e veloce ed è disponibile libero, rappresenta uno dei successi del movimento di open-source software (OSS) iniziato nel 1983 nel MIT. Questo modello, che ora è seguito anche dal gigante Netscape, rende disponibile il software non solo gratuitamente, ma anche accompagnato dal suo codice di sorgente in modo che gli utilizzatori possano capirne il funzionamento e proporre modifiche e correzioni. Il programma Linux è stato creato nel 1991 da Linus Torwalds dell’università di Helsinki che lo mise a disposizione su Internet; i programmatori cominciarono ad inviargli correzioni e migliorie subito incorporate; nel marzo 1994 uscì la versione 1.0 e nel giugno 1996 la versione 2.0. Ora il cuore del programma ha 400000 linee di codice (dalle 10000 originarie) tutte create dai volontari ed è usato da circa 10 milioni di computer, soprattutto workstation e server di Internet. I programmi Apache e quelli dei server di Internet corrono su Linux. Presto si annunzia la sfida diretta al software commerciale con la versione GNOME che dovrebbe trasformare Linux nell’equivalente di Windows 98. GNOME non può fare funzionare software configurato per Windows 98, ma con dei filtri può fare funzionare varie applicazioni Microsoft come Word ed Excel. La forza di Linux è che sfrutta il vantaggio degli sforzi di migliaia di persone in tutto il mondo. Il movimento OSS ha avuto altri seguaci; molti programmi di utilità come gli Zip ed i file readers di Ghostview sono nati con esso. Anche Netscape è entrato in questo movimento rilasciando lo scorso marzo il codice di sorgente dell’ultima versione del Communicator.