[trashware] Richiesta di aiuto .. DATI EMPIRICI sull'evoluzione dei codici dei Software

Giorgio Zucchetti giorgiozucchetti@fastwebnet.it
Dom 5 Giu 2005 18:48:11 CEST


Ciao, 
sto cercando di laurearmi per il 23 giugno ma sono un po indietro con le conclusioni della mia tesi. 
L'argomento è la legge formulata da Moore nella quale prevedeva che il numero di transistor per circuito integrato sarebbe raddoppiato ogni 18 mesi. 
Mi preoccupo di analizzare le implicazioni di questa vision nella struttura dei vari mercati degli hardware che seguono questa evoluzione: RAM, microprocessori ...... insomma l'idea di base è che sistematicamente abbiamo strumenti hardware più veloci e meno costosi. 

Dopo una lunga revisione della storia dei semiconduttori, delle varie versioni della Legge di Moore e una analisi empirica di confronto con l'effettivo andamento dei semiconduttori, nella fase conclusiva mi piacerebbe analizzare le implicazioni di questa evoluzione dell'hardware nel software: partendo con l'analisi della strategia di Microsoft di sprecare i transistor, mi piacerebbe concludere con il confronto tra due casi di software che hanno seguito evoluzioni diverse. Mi piacerebbe vedere come l'inefficenza nella programmazione dei programmi sia molto diversa se mettiamo a confronto le diverse versioni di un videogioco come Quake per esempio o quelle di un programma con caratteristiche di mercato molto diverse come word, excel ... 

Non sono un esperto ma cerco sostanzialmente un indice di "efficienza di programmazione" (che al limite potrebbe anche essere il numero di righe di programmazione anche se immagino che sia una misura un po impropria ..) che possa mettere in evidenza l'andamento della programmazione rispetto all'andamento delle potenzialità dischiuse dall'hardware. 
Una evidenza empirica NON TROPPO SOFISTICATA che possa supportare la mia tesi 

Mi aspetto che il rapporto tra evoluzione delle potenzialità offerte dall'hardware e lunghezza dei codici vadano nella stessa direzione, più ho PC potenti più i programmatori possono fare software "pesanti" col fatto che non sempre tale pesantezza è giustificata da un effettivo incremento delle funzioni offerte. 

Oltre a fare considerazioni generali mi piacerebbe proprio trovare il modo di supportare questa analisi con dei dati (almeno un po) empirici sull'evoluzione dei codici di programmazione rispetto alla rilevanza dei benefici offerti dalle nuove versioni. 

Vi allego un pezzo di quanto ho già iniziato a scrivere sulla conclusione per cercare di chiarirvi un po le idee. 
Grazie mille 
Giorgio Zucchetti 


P.S. 
Commenti, suggerimenti etc ..... sono molto ben accetti 









I software mettono in luce la dimensione non tecnica della legge di Moore. Nella prima era dei computer, quando la memoria interna era una risorsa scarsa, i software di sistema dovevano confrontarsi con questo problema con un uso molto efficiente dei codici di programmazione. Con l'avvento della tecnologia MOS (metal oxide semiconductor), le memorie interne oggi sottostanno alla legge di Moore e quindi la dimensione media della memoria dei PC cresce a un tasso esponenziale. La diretta conseguenza è che il software non è più obbligato a ottimizzare lo spazio, sono subito comparse così milioni di stringhe di codice. 

Nathan Myhrvold, Direttore dell'Advance Technology Group di Microsoft, condusse uno studio sui prodotti Microsoft contando le linee di codici delle release degli stessi pacchetti software. Basic aveva 4000 linee di codici nel 1975 e più di mezzo milione venti anni dopo. Microsoft Word aveva 27000 linee di codice nella prima versione del 1982 e nei venti anni successivi è cresciuto di circa 2 milioni. Myhrvold ha fatto un parallelo con la legge di Moore: "So we have increased the size and complexity of software even faster than Moore's Law. In fact, this is why there is a market for faster processor. Software people have always consumed new capability as fast, or faster, than the chip people could make it available". 



Software sempre più complessi richiedono anche maggiore memoria e più capacità, questo è un caso di network reinforcement multiplier effect che è osservabile nel settore dei computer e nei prodotti connessi. In tali settori è fortemente enfatizzato questo effetto perché i soli computer rappresentano circa il 60% della domanda di semiconduttori, seguiti dalla telefonia 10% (Hutcheson and Hutcheson 1996, Economist 1996). Come abbiamo già visto nei software, così come nei semiconduttori, anche la complessità sta crescendo esponenzialmente; il tasso con il quale aumenta la complessità del software sembra superare quello dell'hardware che supporta il software. Gilder nel 1995 formulò due nuove leggi di Parkinson per i software:"il software si espande per sfruttare la memoria disponibile" e "il Software diventa più lento più velocemente di quanto l'hardware diventa più veloce". Quindi i nuovi programmi vanno più lentamente delle loro precedenti versioni (ES: WordPerfect 6.0 per Windows rispetto a WordPerfect 5.1 per DOS). Microsoft, soprattutto con Windows e Wintel, standard de facto, deve gran parte del suo successo alla scaltrezza con la quale sfrutta le nuove potenzialità dell'hardware (Gilder 1995, 1989). "[Bill] Gates travels in the slipstream behind Moore's Law, following a key rule of the microcosm: Waste transistors ... Every time Andy [Grove] makes a faster chip, Bill uses all of it. Wasting transistors is the law of thrift in microcosm, and Gates has been its most brilliant and resourceful exponent." (Gilder, 1995). 
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.linux.it/pipermail/trashware/attachments/20050605/3cda9fc8/attachment.htm


Maggiori informazioni sulla lista trashware