Gandalf.it/ La leggenda di Moore

di Giancarlo Livraghi. Alle parole di Moore si sono attribuiti significati e conseguenze che non hanno mai avuto. Insomma più che di una legge si tratta di una leggenda

Gandalf.it - di Giancarlo Livraghi - La cosiddetta "legge di Moore" non è una legge. Cioè non è un principio scientifico che sia stato enunciato come tale - o che abbia conferma nell'osservazione dei fenomeni.

È una delle tante affermazioni che circolano (sull'informatica come in altre materie) trattate universalmente come "verità rivelata" e continuamente ripetute senza verificarne l'attendibilità. E, per di più, interpretate in vari modi che nulla hanno a che fare con il loro reale significato.

Ci sono state, e ancora ci sono, parecchie distorsioni di questo genere anche per quanto riguarda l'internet. Come, per esempio, la leggenda della "crescita esponenziale" e la diffusione di un'infinità di dati immaginari, poco attendibili o male interpretati (vedi Verifica su alcune "proiezioni" a proposito dell'internet).
L'affermazione di Gordon Moore (che risale al 1964) era intelligente e ragionevole; ma non era quella di cui oggi si parla ("la velocità dei processori raddoppia ogni 18 mesi"). L'analisi dei fatti non dimostra che ciò che accadeva nel 1964 sia continuato negli anni seguenti. Inoltre, alle parole di Moore si sono attribuiti significati e conseguenze che non hanno mai avuto. Insomma più che di una legge, si tratta di una leggenda.

Il concetto di quell'affermazione, nel modo "semplificato" in cui si è diffuso e continuamente ripetuto, è tutt'altro che chiaro. Come vedremo poco più avanti, non è semplice definire che cosa si intende per "velocità" o "potenza" - quindi quale sia l'unità di misura con cui definire il presunto "raddoppio". Inoltre l'immaginaria "legge" (che è diversa dall'osservazione di Moore) si è rivelata falsa. Se nel 1964 si poteva parlare di "raddoppio" ogni 12 mesi, che poi sono diventati 18... ora siamo a 24 o forse 30.

Ma anche così l'aumento "possibile" di "velocità" dei processori non corrisponde a reali esigenze della stragrande maggioranza degli utenti. In un mercato "ragionevole" avere prezzi più bassi a parità di prestazioni (anziché macchine più "potenti" allo stesso prezzo) potrebbe favorire la diffusione dei computer in quelle categorie che oggi non se li possono permettere (miliardi di persone nel mondo - milioni in Italia). E anche di evitare spese inutili a chi "se lo può permettere" ma non per questo deve spendere male i suoi soldi.

Inoltre... un computer - con capacità comunque molto superiori a ciò di cui abbiamo realmente bisogno - dovrebbe poter durare dieci o vent'anni o forse più (sempre che sia sufficientemente "robusto" e affidabile in tutte le sue componenti). Invece si continuano a sovraccaricare funzioni, spesso inutili, per creare un'altrettanto inutile esigenza di maggiore velocità di calcolo (reale o presunta) e così "forzare" continui quanto insensati "aggiornamenti" di software e hardware.

Ovviamente non si tratta solo di processori. Se vent'anni fa con 64 kilobyte di memoria (Ram) avevamo macchine efficienti - e dieci anni fa 640 k sembravano fin troppi - oggi ci sono software paurosamente inefficienti (o intenzionalmente e perversamente concepiti per "consumare troppo") che rendono "lento" un personal computer con 64 megabyte di memoria. E considerazioni analoghe si potrebbero fare su altre componenti e funzioni.

In sostanza, è vero che la tecnologia può produrre sistemi di elaborazione sempre più veloci. Ma è falso che da ciò derivi "necessariamente" l'obbligo di mettere fuori uso macchine ancora efficienti solo perché esistono sul mercato nuovi prodotti con una "potenza" superiore.

Oltre alla falsificazione di mercato ("obsolescenza forzata") ci sono anche falsificazioni culturali; perché dall'inesistente o male interpretata "legge di Moore" si traggono conseguenze che nulla hanno a che fare con quel concetto - come ipotetiche (e irreali) "velocità" di evoluzione di comportamenti umani e fenomeni sociali, culturali ed economici (vedi anche Elogio della lentezza).

A questo proposito mi sembra interessante citare un articolo di Lucio Bragagnolo pubblicato nell'aprile 2001. Eccolo di seguito.
16 Commenti alla Notizia Gandalf.it/ La leggenda di Moore
Ordina
  • Chi è questo? Ah, tale Gianfranco Livraghi!
    Ecco: ha detto tutte cose tremendamente vere
    e con le quali personalmente combatto da anni.
    Non mi piacciono i memory hogs (programmi
    spendaccioni in termini di memoria) e detesto
    la tendenza all'alto livello manifestata oggi!
    Assolutamente la detesto, e in Italia siamo
    davvero nei peggiori casini: nessuno sembra
    disposto a programmare a livello relativamente
    basso, tutti imparano il VB6 e roba simile,
    per poi partorire applicazioni lente,
    inefficienti, che consumano molto più del dovuto
    sia come tempo di CPU che come quantità di
    memoria. A parte che le cose potrebbero non
    reggere se va avanti così, in Italia stiamo
    facendo la parte degli imbecilli.
    Mai visto un programma italiano che funzionasse
    abbastanza bene: raramente ho visto qualcosa
    di diverso dalle "enciclopedie multimediali",
    che non vengono programmate ma "assemblate" dai
    cosidetti "publishing tools".
    La cosa si riflette anche su Internet: la voglio
    dire tutta, già che ci sono... ci sono un mucchio
    di siti italiani che gettano a piene mani:
    1) "tecnologia" Flash
    2) Java e Javascripts
    senza nemmeno pensare che sarebbero meglio:
    1) ASP e PHP
    2) perl
    questi "imbecilloidi multimediali" ignorano,
    forse, che un buon 40% di utenti disattiva i
    javascripts perché sono un serio pericolo per
    la sicurezza del proprio PC.
    E del resto, flash e java non sono supportati,
    spesso, dai browser per disabili. Non hanno
    evidentemente mai provato a far analizzare il
    loro HTML...
    No, molti siti semplicemente vogliono "far colpo"
    e non si rendono conto che il valore di un sito
    sta nei contenuti e nell'efficienza dei servizi,
    e NON nel modo in cui vengono presentati, che
    "più bello è, più bugs e problemi causa" -
    chiamatela se volete la legge di "Alex.tg"...
    non+autenticato
  • Scusa se interrompo, ma sono un programmatore VB e VC++ ,ma non sono completamente daccordo con te, ma obbietto su un punto: ASP e PHP sono ormai i piu utilizzati , circa il 60% usa ASP & PHP, ma la vera lentezza sai dove sta? quando i server usano cookie e database... gran comodità ma anche scomodi. Io un giorno ho trovato circa 7000 cookie dopo un mese di lavoro...
    Comunque sulla velicità del VB hai ragione, ma alcuni programmatori Italiani sono in gambissima , tipo un gioco della superbike; Fatto INTERAMENTE DA ITALIANI. Niente bugs, errori e via elencando...

    Quello che dovrebbe esserci è un linguaggio semplice come il vb, potente e veloce come il c , ma allo stesso tempo leggero come l'html , ma non c'è... il piu vicino è l'asp , ma anche lui è pericoloso, almeno quanto gli altri usuali programmi (basta che cancellino qualcsa che non devono ed ecco che il sistema si inchioda)
    non+autenticato
  • > Quello che dovrebbe esserci è un linguaggio
    > semplice come il vb, potente e veloce come
    > il c , ma allo stesso tempo leggero come
    > l'html
    A parte che non ho capito come puoi confrontare C con l'html... cmq quello che hai descritto è il C, anche se non lo sai!Sorride

    > , ma non c'è... il piu vicino è l'asp
    Argh! Ma dico, sei pazzo?Occhiolino
    Un programma e/o un gioco non lo puoi scrivere con asp, html o php!

    Ripassa meglio il C che è meglioOcchiolino

    p.s. scherzi a parte concordo con te che in Italia di gente in gamba se ne può trovare, solo che le aziende non sanno valutarle... e molto spesso sono obbligati a scappare all'estero.
    non+autenticato
  • - Scritto da: Sparalesto
    > Scusa se interrompo, ma sono un
    > programmatore VB e VC++ ,ma non sono
    > completamente daccordo con te, ma obbietto
    > su un punto: ASP e PHP sono ormai i piu
    > utilizzati , circa il 60% usa ASP & PHP, ma
    > la vera lentezza sai dove sta? quando i
    > server usano cookie e database... gran
    > comodità ma anche scomodi. Io un giorno ho
    > trovato circa 7000 cookie dopo un mese di
    > lavoro...

    Non è solo un problema di lentezza, magari fosse.
    E' anche un problema di inaffidabilità: sia le
    applet Java che i siti in Flash, almeno secondo
    quanto ho visto, e non solo sul mio PC, si
    piantano allegramente con una discreta frequenza
    per via, soprattutto, della loro intrinseca
    complessità: il design di certi linguaggi di
    programmazione e di definizione (es. HTML) è
    fondamentalmente troppo inutilmente complesso.
    Per eseguire una applet Java il computer deve
    attivare un compilatore locale (diversamente da
    PHP che è server-based come saprai), ed è strano
    che nessuno abbia pensato che un sistema del
    genere produrrà sempre un'enormità di problemi
    di compatibilità, perché gli standards vengono
    raramente rispettati... poi ci sono un sacco
    di altre difficoltà insite, tutte però facilmente
    immaginabili, per cui mi verrebbe da chiedere in
    primis perché abbiano inventato cose come il Java
    o il Flash; in secondis perché, ancora più
    stupidamente, i webmasters gli diano corda usando
    questi sistemi. Sarà la forza della pubblicità...

    > Comunque sulla velicità del VB hai ragione,
    > ma alcuni programmatori Italiani sono in
    > gambissima , tipo un gioco della superbike;
    > Fatto INTERAMENTE DA ITALIANI. Niente bugs,
    > errori e via elencando...

    Mi verrebbe da dire "eccezioni che confermano
    la regola", però devo ammettere che non ne sapevo
    niente di questi tizi.

    > Quello che dovrebbe esserci è un linguaggio
    > semplice come il vb, potente e veloce come
    > il c , ma allo stesso tempo leggero come
    > l'html , ma non c'è...

    Questo è impossibile.
    E' un'impossibilità teorica, oltre che pratica.
    Se devi fare un buon programma che sfrutti le
    caratteristiche dell'hardware a basso livello,
    permettendo al programmatore di controllare tutti
    gli aspetti dell'esecuzione (il ché, in pratica,
    significa usare un ambiente di programmazione
    "potente"), il linguaggio di programmazione non
    può, ripeto NON PUO', essere semplice. Pensa a
    una funzione, o meglio a una SUB del VB: più
    parametri metti, più il programma chiamante può
    "personalizzarsi" il servizio offerto dalla SUB,
    ma più parametri metti, più complesso diventa
    l'uso della SUB stessa. Lo stesso si applica ai
    linguaggi di programmazione.

    Per contrasto, il linguaggio che fornisce più
    "libertà" è quello concettualmente più semplice,
    quello composto dai soli "mattoni fondamentali":
    in altre parole, l'assembly.

    Io ho creato un ambiente di programmazione nuovo,
    se t'interessa, magari per curiosità: si chiama
    LINOLEUM e, terra-terra, è una specie di assembly
    ad alto livello e multi-piattaforma. Lo so che
    sembra un colossale paradosso, ma funziona.

    http://members.designheaven.com/~44/lino/

    > il piu vicino è l'asp
    > , ma anche lui è pericoloso, almeno quanto
    > gli altri usuali programmi (basta che
    > cancellino qualcsa che non devono ed ecco
    > che il sistema si inchioda)

    Bè, la sicurezza assoluta non esiste, ma ci si
    può avvicinare il più possibile compattando il
    sistema: rendendolo meno ingombrante, meno
    complesso, e anche meno vulnerabile.
    Meno files di sistema=meno files che è pericoloso
    cancellare... insomma.

    Le applicazioni LINOLEUM sono stand-alone,
    per esempio. E mentre sono in esecuzione non
    si possono cancellare da sole, per sbaglio...
    non+autenticato
  • Con Linoleum si può lanciare e chiudere programmi in successione ? Se sì, quale è il codice ?
    Grazie.
    Ciao.
    non+autenticato
  • L'ho comprato nel 1997.Uso Windows 95 e ho 32 mega di ram.Navigo in internet,lavoro con office 97, uso flash, dreamwaver, photoshop 5.0, illustrator..le uniche applicazioni precluse quelle 3d dal momento che non ho un accelleratore grafico.Il tutto scorre via velocemente e senza attese o rallentamenti di sorta. Ho anche un Notebook Pentium III a 1000Mhz con 180 mega di ram e windows millenium...E spesso mi chiedo..ma un utente medio..che se ne fa...di tutte questa potenza di calcolo?I lettori DVD e le console dei giochi sono molto piu pratiche e comode da usare per le applicazioni multimediali...
    non+autenticato
  • il reale bisogno è che si faccia funzionare come si deve quello che c'è.

    Chi ha mai avuto tanti problemi con un c-64?

    Eppure con quel pc (hc?) i programmatori cavavano fuori di tutto...
    adesso si programma "ad alto livello" ... mi sta anche bene per la progettazione... ma l'ottimizzazione oggi - quella vera - non si fa!

    Quali programmi sfruttano i processori?

    E le compatibilità?

    La velocità con cui il commercio butta fuori roba non può permettere di approfonodire veramente, di trovare soluzioni migliori... quando hai imparato qualcosa su questo tal processore, lo stanno già modificando...

    un po' di tempo fa (non si può certo dire "una volta") era davvero un vero buon lavoro programmare... ora è vero, esiste la cosiddetta ingegnerizzazione... ma c'è solo questo, solo buona organizzazione tra i programmatori.
    Per fare questo però, mentre si costruisce un programma, si devono lasciare aperte mille possibilità per la modularità, per il successivo upgrade, per integrara con questo o quel cazzo che forse prevede redmond.

    L'ottimizzazione ZERO.

    Chi costruisce videogames dovrebbe saperlo bene... i pc per giocare sono i più "succhia risorse" che ci siano.
    Da tempo non giocavo più a nulla... ma mi sono imbattuto nel pc di un "giocatore folle".
    Ebbene il suo pc è , se così possiamo definire in maniera grossolana, il "quadruplo" in tutto, rispetto al pc con cui lavoro io tutti i giorni.
    Ed è comunque "il doppio" di quello che usa un ufficio progettazione vicino ai nostri stabilimenti...
    Gente che lavora, che non può avere molti problemi di velocità.

    Ebbene un simpatico giochino nuovo gli diceva che la sua scheda grafica faceva schifo, che la sua scheda sonora gli permetteva solo certe features e pure il processore.
    Ma il processore che gli richiedeva era uscito 4 mesi prima!!!!!!!!!!!
    4 mesi!!!!!!!!!!!

    Eppure certi giochi che ho visto su pc (tra i primi, a dire la verità) esistevano decenni prima sul C64.
    il c64 aveva 64K di memoria. E BASTA.
    Nietne estesa, espansa ecc.

    E come riportato da PI, qualcuno OGGI lo fa girare su internet.

    QUESTO è saper programmare, saper sfruttare la tecnologia.

    L'amiga faceva quello che oggi devi fare con un sacco di schede aggiuntive.

    non+autenticato


  • - Scritto da: Tecnosauro Melomane

    > L'ottimizzazione ZERO.


    vero

    > Chi costruisce videogames dovrebbe saperlo
    > bene... i pc per giocare sono i più "succhia
    > risorse" che ci siano.

    cìerano (e ci sono) le debite eccezioni: sai che pretese hardware aveva il mitico Civilization?
    non+autenticato
  • - Scritto da: Salkaner
    > - Scritto da: Tecnosauro Melomane
    > > Chi costruisce videogames dovrebbe saperlo
    > > bene... i pc per giocare sono i più
    > "succhia
    > > risorse" che ci siano.
    >
    > cìerano (e ci sono) le debite eccezioni: sai
    > che pretese hardware aveva il mitico
    > Civilization?

    Aggiungo il mio buon vecchio Noctis.
    Scaricabile da:
    http://members.designheaven.com/~44/noctis.html
    Usa solo 550K di memoria in ambiente MS-DOS.
    Ma funziona anche con Winzozz...
    non+autenticato
  • >L'ottimizzazione ZERO.
    Vero, il mondo del software commerciale è ormai una schifezza... ma da tre anni ho scoperto l'Open Source dove ancora i programmatori si sbattono per creare applicazioni incredibilmente ottimizzate. Con Linux riesco a giocare a Quake 3 e a masterizzare con un Pentium Pro 200Mhz e una voodoo2... e nota che ho un muster senza "burn proof".

    p.s. nota anche che Quake 3 non è ottimizzato un gran chè, ma quello che spinge è il kernel (da me ricompilato) e le glide che ho ricompilato includendo le ottimizzazioni per P6

    byeZ!
    non+autenticato
  • Moore pensava ci sarebbe stato prevalentemente unix, non sapeva che purtroppo sarebbe stato cagato windows.
    non+autenticato
  • Un papiro trovato nel deserto del Nevada (cercando gli Ufo fuori dall'Area 51), si è rivelato essere una nota interna Intel del '63 che pone le basi per l'enunciazione della Legge di Moore.

    Essa recitava:

    "Gli acquirenti dei nostri processori non vorranno comprare un nuovo chip prima di minimo 5 anni dall'ultimo acquisto, noi (la Intel) vogliamo che ne comprino uno ogni 6 mesi. Occorre inventarsi una balla pseudo-scientifica per sostenere i nostri interessi in tal senso".

    In sostanza, al contrario di quanto si desume dai vari articoli, credo che Moore non sia il povero scienziato "frainteso" da giornalisti ed uomini del marketing, nè tanto meno che sia stao strumentalizzato: è il co-fondatore della Intel, la sua "legge empirica" è pensata a tavolino per attirare attenzione su una tecnologia all'epoca nuova e poco nota, e farci magari qualche billione di dollari. C'è riuscito.
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 7 discussioni)