Autore Topic: Meditate, gente... meditate...  (Letto 932 volte)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Meditate, gente... meditate...
« il: 21 Ottobre 2010, 22:12:20 »
Come saprete, negli ultimi tempi mi ha preso moltissimo la Wikipedia. Negli ultimi giorni stavo risistemando le voci dei computer Sinclair ZX80 e ZX81.... per chi fosse nato negli anni '90 e con la memoria non va oltre l'Amiga, quelle macchinette furono costruite  tra la fine degli anni '70 e l'inizio degli anni '80. Erano basate su uno Z80 della Zilog ed integravano (udite udite) 1 KB di RAM!!  :o
Cito un commento trovato in rete su tale quantitativo:
Citazione
Perhaps the best known spec of the ZX81 was that it had 1K of RAM. That’s 1,024 bytes, or a whopping 8,192 bits. That people were able to write any functioning programs given this limitation was impressive. That somebody managed to get the 1K model to play chess was a miracle.
Citazione
Probabilmente  la caratteristica più nota dello ZX81 era che esso aveva 1 KB di RAM. Che sono 1.024 byte, o ben 8.192 bit. Che delle persone fossero capaci di scrivere dei programmi funzionanti con quella limitazione era già impressionante. Ma che qualcuno riuscì a far giocare a scacchi il modello da 1 KB fu un miracolo.

Sì, qualcuno scrisse un gioco di scacchi (minimale) per lo ZX81 da 1 KB, incredibile vero?
Oggi 1 GB di RAM è la configurazione MINIMA di tanti computer, compresi i netbook. Ed una scheda grafica ha come minimo altri 512 MB di VRAM.... eppure all'epoca si usavano tali macchine! E ci si faceva anche tanta roba! Oggi per caricare un sistema operativo con GUI servono decine e decine di MB (rimanendo in ambito Linux), allora si accendeva la macchina, questa ti dava il benvenuto con una scritta, ed eri già pronto ad usare il sistema.

Ah, dimenticavo: in quei 1.024 byte ci doveva stare anche il buffer video quindi andavano tolti diversi byte per tenere l'immagine in memoria... quindi l'ottimizzazione era la parola d'ordine. Si risparmiava ogni singolo byte. Oggi scialacquiamo byte come fossero noccioline: non ci preoccupiamo se OpenOffice ti prende mezzo giga sul disco o 200 MB di RAM quando viene avviato.
Il mio primo computer è stato il C16: aveva 16 KB di RAM, ma all'utente ne "arrivavano" solo 12. Di questi, 10K sparivano se si "osava" utilizzare la modalità grafica. Eppure in 2 K si riusciva a mettere dentro un sacco di cose. Oggi 2K tra poco non bastano neanche per il driver che gestisce i led della tastiera, per dire...

Meditate, gente... meditate...
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Meditate, gente... meditate...
« Risposta #1 il: 21 Ottobre 2010, 23:22:41 »
Vorrei precisare una cosa: se la coperta è corta da dove la tiri tiri, lasci sempre una parte scoperta.....

Il potenziamento dei personal computer ha portato alla nascita dei linguaggi interpretati che gravano più sulla macchina per non gravare sul programmatore....Ora programmare è più facile (Gambas ne è un esempio) ma da qualche parte questa semplicità la devi pur pagare....

Hai mai provato assembly? credo di si....Un disastro. Riesci a tarare tutto ma devi bruciarti i neuroni per starci dietro....

Onestamente sono uno di quelli che cerca di sfruttare al meglio il sistema in cui opera (che sia un computer o sia l'ambiente). Amo sfruttare tutto quello che posso senza sprechi. Se oggi dovessimo programmare su sistemi con 24KB di memoria lo farremmo ma visto che abbiamo i vestiti larghi godiamoceli, no?  ;)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Meditate, gente... meditate...
« Risposta #2 il: 22 Ottobre 2010, 00:34:42 »
Con l'assembly facevo virus sul C16 e sul DOS....  :coder:
Era pazzesco ma tiravi fuori il massimo dalla macchina. Oggi se vuoi programmare usi un linguaggio interpretato, che si appoggia ad un interprete che converte il tuo programma in qualcosa di simile ad uno pseudo-codice, il quale viene poi parsato da un software che lo esegue, che intanto richiama la libreria per disegnare l'interfaccia grafica del programma, la quale richiama il driver di gestione del mouse per vedere cosa fa l'utente, il quale driver interroga il sistema per avere la lettura della porta usb, dato che da solo non ci può accedere. Il kernel mette in coda la chiamata del driver del mouse e la esegue a tempo debito. Intanto ha fatto altre 7.567.934 cose, tanto per non restare disoccupato.  :rolleyes: :rolleyes: :rolleyes:

E le dimensioni crescono....
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Meditate, gente... meditate...
« Risposta #3 il: 22 Ottobre 2010, 00:51:04 »
Con l'assembly facevo virus sul C16 e sul DOS....  :coder:
Era pazzesco ma tiravi fuori il massimo dalla macchina. Oggi se vuoi programmare usi un linguaggio interpretato, che si appoggia ad un interprete che converte il tuo programma in qualcosa di simile ad uno pseudo-codice, il quale viene poi parsato da un software che lo esegue, che intanto richiama la libreria per disegnare l'interfaccia grafica del programma, la quale richiama il driver di gestione del mouse per vedere cosa fa l'utente, il quale driver interroga il sistema per avere la lettura della porta usb, dato che da solo non ci può accedere. Il kernel mette in coda la chiamata del driver del mouse e la esegue a tempo debito. Intanto ha fatto altre 7.567.934 cose, tanto per non restare disoccupato.  :rolleyes: :rolleyes: :rolleyes:

E le dimensioni crescono....

Ci piace stampare nel terminale con un semplice PRINT "ciao"? E allora dobbiamo vedere le memorie crescere......

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Meditate, gente... meditate...
« Risposta #4 il: 22 Ottobre 2010, 07:41:53 »
@leo

io ero matto per Amiga, ho iniziato con quello, in ritardo, mio fratello, ora ing. delle reti virgilio, piu' piccolo, gia' smacchinava col sinclair...pero io avevo gia' il framegrabber, costato un milione di lire..

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Meditate, gente... meditate...
« Risposta #5 il: 22 Ottobre 2010, 09:34:28 »
Ci piace stampare nel terminale con un semplice PRINT "ciao"? E allora dobbiamo vedere le memorie crescere......

No, quello che vorrei far capire a chi è della generazione MB (Megabyte) è che nessuno pensa più ormai ad ottimizzare il proprio codice.
Una volta si studiavano bene le istruzioni assembly perché potevano farti risparmiare qualcosa: una stessa operazione poteva essere eseguita con un'istruzione unica che impiegava, ad esempio, 5 cicli macchina, oppure con 2 che ne impiegavano 4. Se volevi risparmiare spazio usavi la prima, se volevi avere la massima velocità usavi la seconda.

Oggigiorno nessuno ottimizza il codice, né per dimensione né per velocità. Quanti di voi sanno che Gambas ha istruzioni più o meno lente?
Provate il programmino in oggetto e vedrete la differenza. Come nessuno ottimizza il codice per la velocità, nessuno lo fa per le dimensioni, fregato in parte anche dal fatto che oggi bisogna usare framework o librerie grafiche varie altrimenti, come dici tu, non si andrebbe da nessuna parte.

Visita il mio sito personale: http://www.leonardomiliani.com