12.12.2012 Views

4 Creare contenuti per il web - Andrea Giachetti

4 Creare contenuti per il web - Andrea Giachetti

4 Creare contenuti per il web - Andrea Giachetti

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Computer ed informazione digitale 9<br />

stessa cosa: un dispositivo capace di memorizzare ed elaborare dati digitali sulla base di<br />

sequenze di comandi preordinati. Nel corso degli anni, <strong>per</strong>ò, sono cresciute in modo<br />

esponenziale la potenza di calcolo delle CPU, la quantità di spazio a disposizione <strong>per</strong><br />

memorizzare i dati e le velocità di trasferimento degli stessi all'interno ed all'esterno della<br />

macchina. Questo ha consentito di cambiare radicalmente le modalità di interazione con la<br />

macchina.<br />

E' probab<strong>il</strong>mente nota a tutti la famosa “legge di Moore”, un'ipotesi avanzata negli anni 60 da<br />

Gordon Moore, co-fondatore di Intel (nota casa produttrice di microprocessori) che prevedeva<br />

una crescita esponenziale (cioè un raddoppio ogni 18 mesi) del numero di transistor dei<br />

processori (e quindi un sim<strong>il</strong>e incremento delle capacità di calcolo) e che si è sostanzialmente<br />

rivelata esatta fino al nuovo m<strong>il</strong>lennio. Oggi acquistiamo normalmente <strong>per</strong>sonal computer con<br />

CPU che lavorano a frequenze intorno ai 2 GigaHertz, <strong>il</strong> ché significa che in un secondo<br />

vengono eseguiti in esse due m<strong>il</strong>iardi di o<strong>per</strong>azioni elementari sincronizzate dai cicli del clock,<br />

cioè dell'orologio che scandisce i tempi dell'attività della CPU stessa. Questo fa capire come un<br />

moderno calcolatore possa interagire in tempo reale con l'utente (nel tempo in cui inseriamo un<br />

dato o ci accorgiamo di un cambiamento sullo schermo, dell'ordine del decimo di secondo, la<br />

CPU ha tempo di accorgersi dell'azione dell'utente, eseguire m<strong>il</strong>ioni di o<strong>per</strong>azioni di calcolo,<br />

cambiare la rappresentazione sullo schermo, e così via.<br />

Un moderno PC ha, poi, una memoria RAM dell'ordine dei Gigabyte, cioè m<strong>il</strong>ioni di m<strong>il</strong>ioni di<br />

byte. Questo consente, ad esempio, di elaborare dati digitali che non rappresentano solo numeri<br />

o caratteri di testo, ma codificano anche grandezze fisiche come suoni ed immagini,<br />

consentendo le moderne applicazioni multimediali (anche grazie allo sv<strong>il</strong>uppo di efficienti<br />

tecniche di codifica e compressione che <strong>per</strong>mettono di rappresentare i dati multimediali<br />

ut<strong>il</strong>izzando una quantità ridotta di memoria e di cui parleremo nel capitolo 5).<br />

I calcolatori moderni sono inoltre dotati di dispositivi di memorizzazione di massa (cioè<br />

memorie che mantengono i dati <strong>per</strong>manentemente a macchina spenta) di grandissima capacità,<br />

ovvero dischi rigidi che oggi arrivano al Terabyte, cioè m<strong>il</strong>ioni di m<strong>il</strong>iardi di byte, ma anche<br />

CD, DVD, Blu-Ray, memorie flash, che <strong>per</strong>mettono di salvare <strong>per</strong>manentemente tali dati e<br />

averli accessib<strong>il</strong>i all'occorrenza.<br />

1.2 Algoritmi e programmi<br />

L'incredib<strong>il</strong>mente grande capacità di calcolo e memorizzazione (ossia la potenza dell'hardware)<br />

non basta, <strong>per</strong>ò, a capire come mai i calcolatori siano diventati strumenti così versat<strong>il</strong>i ed<br />

ut<strong>il</strong>izzati <strong>per</strong> le più disparate applicazioni.<br />

Per capirlo dobbiamo considerare quindi anche l'evoluzione del software, cioè dei programmi<br />

che vengono fatti eseguire ai calcolatori e dei dati che questi elaborano. I primi calcolatori<br />

venivano ut<strong>il</strong>izzati <strong>per</strong> compiere o<strong>per</strong>azioni ripetitive su dati <strong>per</strong>lopiù numerici oppure risolvere<br />

automaticamente problemi matematici di cui sia nota la metodologia di soluzione (ad esempio<br />

risolvere un'equazione di secondo grado dati i coefficienti o trovare <strong>il</strong> volume di un solido dati i<br />

parametri geometrici): sebbene la complicazione tecnica sia notevole, <strong>il</strong> fatto che tali compiti si<br />

possano realizzare con lo strumento elettronico è intuitivo. Basta infatti avere una<br />

rappresentazione binaria dei dati di interesse e tradurre le o<strong>per</strong>azioni necessarie a completare<br />

l'elaborazione richiesta in una serie di azioni eseguib<strong>il</strong>i dalla CPU. Svolgere questo compito è<br />

quello che in informatica si dice implementare (cioè realizzare in pratica) un algoritmo,<br />

creando un programma eseguib<strong>il</strong>e. Nei primi modelli di calcolatore questo comportava un<br />

enorme lavoro di codifica, dato che era necessario scrivere direttamente <strong>il</strong> programma nel

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!