Introduzione al computer 1p
Transcript
Introduzione al computer 1p
Un giorno le macchine potranno risolvere tutti i problemi; ma nessuna di esse potrà mai porne uno. Albert Einstein Non posso pretendere che la mia matita da sola risolva i problemi che non so risolvere io. I computers sono come la mia matita: strumenti neutri dalla potenzialità illimitata in mano alle capacità degli uomini per usarli nel miglior modo possibile. Albert Einstein Introduzione al Computer Massimo Bucchi Prefazione Mi capita spesso, parlando con amici, parenti o conoscenti, di sentire discorsi e domande sui computers, sul loro utilizzo, sulle varie capacità e possibilità, sugli ultimi sviluppi tecnologici o domande meno tecniche come l'impatto socioeconomico, se possono modificare il nostro modo di pensare e di esistere, se nuocciono ai bambini, se servono veramente. Questo testo vuol essere una risposta ad alcune delle tante domande senza per questo voler diventare uno specifico manuale. Come dice lo stesso titolo, "Introduzione al Computer" vuole essere un testo divulgativo, uno strumento d'approccio a questa macchina elettronica per comprenderne gli utilizzi e le possibilità, ma anche per vederla per quello che realmente è: una macchina, precisa, interessante, particolare ma pur sempre una macchina che aiuta l'uomo in alcuni lavori. Purtroppo, in passato, si sono create intorno al computer storie fantastiche che la stessa fiction televisiva ha trasmesso a tutti coloro che sono cresciuti negli anni '50-'60 travisando la reale essenza dei computers e mostrandoli spesso come esseri super intelligenti o distruttivi o condizionanti della vita dell'uomo in un ipotetico futuro. Questo ha causato, in molte persone, una sorta di rifiuto psicologico e paura di tale apparecchiatura che non trova riscontro in analoghi e a volte più sofisticati strumenti come telefoni cellulari, HI-FI, ricevitori satellitari, GPS, ecc. o nei più comuni televisori e videoregistratori. Il testo è, per comodità, diviso in cinque capitoli in cui si parla della storia del computer, dell' hardware, del software, delle reti ed Internet, con un ultimo capitolo dedicato ad un glossario che permetta di comprendere i termini spesso misteriosi dell’informatica. Per quanto riguarda i 1 Introduzione al Computer Massimo Bucchi linguaggi e i vari programmi applicativi citati in questo testo, si invita a consultare gli specifici manuali forniti con i programmi stessi o manuali tecnici ad essi rivolti, tenendo presente che spesso molti manuali sono distribuiti in forma elettronica internamente ai programmi stessi, sotto forma di Help (aiuto), oppure è possibile trovarli ad uno specifico indirizzo internet senza spendere nulla. La terminologia, per quanto semplice, include necessariamente parole inglesi o da esse derivate non essendo in molti casi termini traducibili. Questi termini sono spiegati nel testo ma anche ripetuti nell'appendice Glossario in fondo al volume. Un piccolo consiglio per tutti coloro poco propensi all'uso del computer è quello di seguire un breve corso di base di informatica e per alcuni anche un piccolo corso di base di lingua inglese, specialmente se intendete usare Internet, ma soprattutto di acquistare un personal computer da tenere in casa per imparare ad usarlo e magari divertirsi un po’. Il divertimento o più genericamente il gioco è il metodo migliore per apprendere nozioni su argomenti ritenuti utili solamente per il lavoro. Ed ora non perdete tempo ed iniziate a leggere la prossima pagina che vi condurrà nel mondo dei computers. 2 Introduzione al Computer Massimo Bucchi Cenni storici Sin dalla più lontana antichità gli uomini hanno cercato di ridurre la laboriosità dell'esecuzione dei calcoli. I pallottolieri erano noti in Cina nell'VIII sec. a.C.; alla scuola pitagorica si deve la tavola di moltiplicazione detta pitagorica; l'uso degli abachi era diffuso nella Roma precristiana e strumenti analoghi erano usati dai Cinesi; tabelle di calcolo erano d'uso comune nel medioevo. Abaco La prima macchina degna di questo nome, ossia capace di eseguire addizioni e sottrazioni con ripresa automatica dei totali, è la macchina aritmetica di Wilhelm Schickard (1624) seguita nel 1642 da quella di Pascal. Macchina di Pascal 3 Introduzione al Computer Massimo Bucchi Trent'anni dopo Pascal, Leibniz realizzò la prima macchina moltiplicatrice, fondata sul principio di addizionare successivamente il moltiplicando tante volte quante sono le cifre del moltiplicatore, con avanzamento del primo verso la sinistra, nella successione delle ruote dentate, a ogni cambiamento di cifra del secondo. Per quanto geniali fossero queste prime macchine (fra le quali è da citare quella del veneziano G. Poleni, del 1709), esse ebbero nella loro epoca successo solo come curiosità. Occorre giungere alla seconda metà del XIX sec. e l'inizio del XX per trovare un perfezionamento e un'utilizzazione industriale delle macchine calcolatrici. La macchina di Roth (1841), l'aritmometro di Thomas (1849), le macchine di Dactyle, Monroe, Burroughs apportarono miglioramenti al funzionamento dell'organo di impostazione e al totalizzatore. Il sistema a leve dell'organo di impostazione risale al 1885 (comptometer di Felt). I dispositivi di moltiplicazione furono perfezionati da Thomas nel 1820, Cebyšev nel 1882, Ordhner nel 1875 e Monroe nel 1911. Un sistema per la divisione venne messo a punto da Bollée nel 1889; la sua macchina, particolarmente ingegnosa, utilizzava una tavola pitagorica realizzata in modo che la macchina potesse leggere il dividendo e il divisore automaticamente. La macchina concepita dall'inglese Babbage, realizzata tra il 1842 e il 1867, doveva consentire di effettuare le quattro operazioni fondamentali su mille numeri di cinquanta cifre, contenuti in una memoria. Macchina di Babbage Babbage 4 Introduzione al Computer Massimo Bucchi Con l'apparizione della prima macchina a schede perforate, la registrazione manuale dei numeri fu sostituita dalla lettura automatica di elementi perforati; il pannello di connessioni, d'altra parte, conferiva una certa flessibilità alla programmazione dei calcoli. Modificazioni apportate a questa macchina di calcolo commerciale, e l'aggiunta di un dispositivo di stampa, permisero la creazione, nel 1929, di un laboratorio specializzato di calcolo scientifico presso l'università Columbia, USA. I perfezionamenti successivi apportati a questa famiglia di macchine sfociarono nella costruzione, tra il 1936 e il 1942, da parte del professore H. H. Aiken dell'università Harvard dell'Automatic Sequence Controlled Calculator, o Mark I. Questa gigantesca macchina (18 m di lunghezza e 2,50 di altezza) conteneva solo settantadue numeri di ventitré cifre ed eseguiva solo dieci operazioni al secondo. Le possibilità pratiche dei dispositivi elettromagnetici si fermavano qui; l'elettronica portò un radicale progresso nella relativa lentezza della macchina. Già esistevano il diodo (1905), il triodo (1906), e il multivibratore bistabile di E. Jordan (1919), tutti di estrema importanza a condizione di sostituire l'aritmetica binaria a quella decimale. Nel 1946 uno studio teorico degli americani A. W. Burks, H. H. Golstine e J. von Neumann precisò il nuovo concetto di programma interno. Il calcolatore IBM «603», nel 1946, il calcolatore «604» nel 1948, che utilizzavano ancora i tubi elettronici come organi di calcolo e di memoria, e il calcolatore Bull «Gamma» nel 1952, che utilizzava linee di ritardo come organi di memoria, diodi a cristallo e resistori come organi di calcolo, costituiscono le prime applicazioni pratiche dell'elettronica e dei nuovi concetti al calcolo commerciale. 5 Introduzione al Computer Massimo Bucchi Nel campo delle macchine a calcolo scientifico, la prima realizzazione fu quella dell'ENIAC (Electronic Numerical Integrator and Computer) costruito con 18.000 tubi elettronici, dalla Moore School of Engineering, dal 1943 al 1947. Alla costruzione dell'ENIAC seguirono quelle del Selective Sequence Electronic Calculator, costruito dall'IBM nel 1948; dell'EDSAC costruito dall'università di Cambridge nel 1949; del Manchester Electronic Computer (con memorie a tamburo magnetico), costruito da Ferranti nel 1949; dell'UNIVAC, costruito dalla Remington Rand (memorie a mercurio) nel 1951; degli elaboratori «701» (con memorie a tubi catodici) e «704» (con memorie a tamburi magnetici), costruiti nel 1953 e 1955 dall'IBM; delle macchine matematiche «402» e «405», costruite da Elliot nel 1953 e 1954; dell'Elea costruita nel 1955-1957 dall'Olivetti in collaborazione con l'università di Pisa, ecc. ENIAC Interno di elaboratore Nel 1955 apparvero i calcolatori che utilizzano i transistor come organi di calcolo, e tamburi magnetici come memorie. Successivamente, la fabbricazione dei calcolatori ed elaboratori si orientò verso l'utilizzazione generalizzata dei transistor e quindi verso i circuiti integrati (ICI), che raggruppano in spazi estremamente ridotti un numero considerevole di circuiti a transistor. 6 Introduzione al Computer Massimo Bucchi Grande impulso alla realizzazione di elaboratori sempre più potenti venne dal settore militare e da quello delle Amministrazioni Statali. Successivamente anche le industrie e le attività commerciali favorirono lo sviluppo e la diffusione di tali macchine. Sala computers e stampanti di grande Azienda E arriviamo finalmente ai favolosi anni '80 con un incredibile boom informatico in gran parte determinato dalla scoperta di nuove tecnologie elettroniche ma anche da una sana concorrenza tra i diversi produttori di computers. In questa fase si è privilegiato lo sviluppo informatico verso le piccole e medie imprese e verso i privati cittadini, determinando una nuova visione dell'utilità di un computer e dividendo i vari elaboratori in più fasce a partire dai più sofisticati detti calcolatori o mainframe, i minicalcolatori, i microcalcolatori, gli "small business systems", i "personal computers" e gli "home computers". Mainframe 7 Introduzione al Computer Massimo Bucchi Nel 1981 la IBM lanciò sul mercato il PC IBM presto seguito da concorrenti con pc compatibili o veri e propri cloni. Pc IBM del 1981 La grande varietà di dotazione dei vari sistemi cosiddetti "personal" e "home" e il loro continuo sviluppo ha reso sempre più indefinito il confine tra le varie fasce di computers. Tali modelli si rivolgono solitamente a piccole imprese, a studi professionali o ad un utilizzo casalingo sia per applicazioni commerciali o tecniche, sia per applicazioni ludiche. Tra i vari produttori che si sono cimentati nella costruzione di computers per tale grande fascia di utenza troviamo nomi famosi, ma anche ditte nuove e sconosciute che hanno però svolto un ruolo importante nella disgregazione dei monopoli di mercato e nell'introduzione di novità a costi contenuti. Personal computer Computers shop 8 Introduzione al Computer Massimo Bucchi Troviamo quindi produttori come la Texas Instruments (calcolatrici programmabili), la Sinclair (ZX80, ZX81, ZX Spectrum), la Commodore (VIC20, C64, C128, PC), l'ATARI, ecc. a fianco di colossi come l'IBM (PC), l'APPLE (AppleII, MacIntosh), l'AST, la Bull, la Dell, la Digital, la Compaq, l'Hewlett Packard, la SUN, l'Olivetti (M20, M24), la Toshiba, la Canon, l'Epson, ecc. Tutti questi produttori, alcuni dei quali ancora oggi presenti sul mercato, hanno ingaggiato tra loro una corsa allo sviluppo ed al lancio di novità sempre maggiori per quanto riguarda la potenzialità delle strutture materiali degli elaboratori elettronici e dei vari accessori, che possiamo anche esprimere con una singola parola che è “hardware” e che ci permette di introdurre il prossimo capitolo. Il sottoscritto in una pessima immagine del secolo scorso 9 Introduzione al Computer Massimo Bucchi L'HARDWARE Qual è la differenza tra un computer ed una lavastoviglie? Questa è sicuramente la classica domanda che viene rivolta in ogni libro o trasmissione televisiva che tratta di computers e la risposta è sempre la stessa: non vi è nessuna differenza! Bene, questa risposta è sbagliata. A costo di andare controcorrente nella moda delle risposte facili, sono costretto a spiegarvi alcuni particolari che ci porteranno via un pò di tempo, ma che dimostrano in modo inequivocabile come le due macchine siano diverse. È pur vero che entrambe hanno parti fisiche ben visibili, il famoso hardware, ed è anche vero che se vi cascano su un piede entrambe fanno un gran male, ma la loro somiglianza termina qui. Infatti, una lavastoviglie è composta per la maggior parte da circuiti elettromeccanici e pochi circuiti elettronici; ha molte parti fisiche in movimento (motore, pompe, valvole, spruzzatori di acqua, ecc.) e poche parti logiche o di memoria. Al contrario un computer è composto da molti circuiti elettronici e poche parti mobili tranne che per alcuni specifici accessori collegabili al computer come le stampanti, le tastiere, ecc. Una particolarità, questa della modularità ed espansibilità dei computers, quasi esclusiva di queste macchine. In questi ultimi anni la grande diffusione in luoghi domestici di computers hanno determinato un ulteriore particolare che li accomuna ad altre macchine: l’uso improprio del termine elettrodomestico. Ma vediamo quali sono le componenti fisiche di un computer, il cosiddetto hardware. Senza entrare nei dettagli tecnici che sarebbero estremamente difficili da spiegare ed inutili in quanto continuamente in evoluzione (ogni mese vengono creati nuovi circuiti e nuove periferiche) cerchiamo di capire come funziona un computer. Le parti fondamentali si trovano all’interno di una scatola, detta anche cabinet, facilissima da aprire. Troppo facile da aprire, tant’è che nonostante le assicurazioni dei costruttori sulla facilità 10 Introduzione al Computer Massimo Bucchi di aggiunta o sostituzione di schede ed altri accessori, è molto più facile fare danni di quanto ci si immagini. Improvvisare è una parola che non esiste nel vocabolario di elettronica. Occorrono precise istruzioni, una necessaria serie di utensili e soprattutto un pò di esperienza. Spero quindi che non vi venga in mente di smontare un computer, con la scusa di doverci guardare dentro per meglio seguire questo manuale. Il nostro, infatti, sarà un viaggio puramente virtuale. Alcuni utensili Ah, dimenticavo di dire che altro metodo errato è quello di dare pugni sopra al cabinet quando il computer non funziona, come si faceva molti anni fa con i televisori a valvole per ‘sollecitarne’ il funzionamento. Cabinet All’interno del cabinet troviamo delle schede con saldati sopra tanti strani insetti. Questi insetti, cui sono stati dati nomi stravaganti come resistenze, diodi, condensatori, transistor, circuiti integrati, ecc. sono in realtà i componenti dei nostri circuiti. 11 Introduzione al Computer Massimo Bucchi Vari componenti La scheda principale di un computer prende il nome di piastra madre, la quale oltre ad ospitare molti dei suddetti insetti, si presenta anche con importanti elementi come il microprocessore, la memoria e le porte di comunicazione. Piastra madre Il microprocessore detto anche CPU, acronimo di Central Processing Unit, rappresenta il cuore del sistema. Viene spesso indicato con sigle strane: Intel 80286, 80386, 80486, Pentium, PII, PIII, Cyrix, AMD K5 o K6, Celeron, ecc. A queste viene normalmente aggiunta la sigla che identifica la velocità del microprocessore ovvero la ‘frequenza di clock’ espressa in hertz, cosicché 12 Introduzione al Computer Massimo Bucchi leggendo Pentium III 600 sappiamo che la velocità teorica di questo microprocessore è di 600 Megahertz (600 milioni di cicli al secondo). È interessante considerare che le CPU dei primi personal computer come l’IBM PC (1981) avevano una velocità di circa 4 Megahertz. Microprocessore Insieme alla CPU, la piastra madre ospita le porte di comunicazione verso l’esterno; attraverso di esse i dati possono raggiungere periferiche come la stampante, la tastiera, il mouse, lo schermo, il modem, gli altoparlanti, ecc. che vedremo tra breve. Un’altra componente fondamentale della piastra madre è senza alcun dubbio la memoria. Per semplicità potremmo dire che la memoria di un computer è divisibile in due grandi tipologie: la memoria istantanea o residente detta RAM (Random Access Memory) e la memoria di massa o esterna come i floppy disk, gli hard disk, i CD-ROM, i DVD, ecc. Memoria RAM La RAM è una memoria residente, istantanea e volatile. Ci permette cioè di utilizzare programmi e dati di un computer per un’elaborazione temporanea velocissima conservandoli sotto forma di potenziali elettrici. Se spegniamo il computer o la corrente va via i dati verranno persi. Per evitare ciò è necessario, prima di spegnere un computer, registrare i dati su una memoria di massa 13 Introduzione al Computer Massimo Bucchi che secondo le necessità potrà essere un dischetto (floppy disk) o un disco di maggiori capacità come il disco fisso (hard disk) che memorizza i dati in modo permanente in forma magnetica. Esiste in verità anche un altro tipo di memoria, quasi mai citato, che prende il nome di ROM (Read Only Memory), molto simile alla RAM ma che è di tipo non volatile. Questo genere di memoria viene normalmente utilizzato per conservare le informazioni speciali delle configurazioni del computer e di come questo debba comunicare con i vari dispositivi, cioè il cosiddetto BIOS (Basic InputOutput System). Talvolta questo particolare tipo di memoria viene utilizzato in quei computer portatili come i computer palmari che per peso, dimensioni ed altro non posseggono dispositivi di memoria di massa, per registrare oltre alle informazioni prima citate anche il sistema operativo, i programmi ed i dati. È questo il caso ad esempio delle agende elettroniche tascabili. Le attuali RAM contengono quantità enormi di dati che partono da 32, 64 o 128 MB mentre solo qualche anno fa i computers possedevano memorie da 1, 8, 16, 32 KB. Mi pare opportuno precisare a questo punto cosa significano le sigle MB o KB. Come avviene in altri campi, si rendeva necessario creare un’unità di misura anche per la memoria, così come esiste per le lunghezze, i pesi, ecc. Fu quindi inventato il byte come unità di misura della memoria, corrispondente ad un simbolo della tastiera: ad esempio una pagina di 1800 battute (lettere e simboli) corrisponde ad un’occupazione della memoria di 1800 byte. Naturalmente erano necessari anche i multipli e quindi così come il multiplo del metro è il chilometro (1000 metri) per il byte sono stati individuati il kilobyte o KB (1024 byte), il megabyte o MB (1024 KB) ed il gigabyte o GB (1024 MB). Per i più furbi che credono di aver scoperto l’ennesimo refuso, ribadisco che si tratta proprio di 1024 e non 1000, anche se la spiegazione di tale ‘mistero’ la rimandiamo al capitolo sul software. Anche nei dispositivi di memoria di massa si utilizza come unità di misura il byte. Questi dispositivi possono essere divisi in due tipi: magnetici e ottici. Tra i magnetici i più diffusi e conosciuti sono i floppy disk (dischetti) che nel tempo hanno subito grandi mutamenti, sia per le 14 Introduzione al Computer Massimo Bucchi dimensioni, passate da 8” (8 pollici) a 5”1/4 ed infine a 3”1/2, sia per le caratteristiche di densità di memorizzazione. Gli attuali permettono la memorizzazione di 1.44 MB di dati con dimensioni di appena 3”1/2. Esistono in realtà anche supporti simili ai floppy disk che contengono 100 MB o 250 MB ma poco diffusi; stiamo parlando dei dischi ZIP prodotti dalla Iomega. Molto importanti sono invece gli hard disk (dischi rigidi), anch’essi mutati nel tempo per capacità, dimensioni e velocità. Mentre poteva essere considerato un lusso (per alcuni addirittura uno spreco), possedere vent’anni fa un HD da 10 MB, oggi esistono a prezzi popolari hard disk da oltre 30 GB (30 miliardi di caratteri!) in continua evoluzione. Magnetici sono anche i DAT che consentono di memorizzare su nastro, invece che su disco, oltre 4 GB di dati alla volta. Ma il vero salto di qualità lo si è ottenuto con la tecnologia ottica: le informazioni vengono memorizzate non più con metodi magnetici ma incidendo la superficie di un disco con un raggio laser. Le informazioni che possono essere memorizzate vanno a seconda del formato da 650-800 MB per i CD-R o CD-RW fino a 4.7-17 GB per i DVD. È sicuramente inutile ricordare quali sono i possibili pericoli per i supporti di memoria, ma è meglio ripeterlo. Per quanto riguarda le memorie RAM e ROM il pericolo sussiste solamente quando queste vengono toccate per rimuoverle dal computer o per aggiungerle. Infatti, oltre al possibile rischio meccanico (eccessiva pressione sugli elementi, urti per cadute, martellate del pupo mentre siete distratti, ecc.) esiste anche un rischio invisibile ma ben conosciuto: l’elettricità statica. Evitate quindi di toccare direttamente i chip di memoria ed eventualmente prima di farlo toccate una messa a terra come ad esempio un rubinetto dell’acqua o un termosifone (non una presa di corrente che vi renderebbe molto elettrici). Per i floppy disk, i nastri, gli hard disk e tutti gli altri supporti di tipo magnetico (compreso il bancomat, le carte di credito, le tessere telefoniche o il badge del dipendente) il maggior pericolo è rappresentato da fonti magnetiche, come le grosse calamite, i motori elettrici e tutti gli strumenti che generano campi magnetici di una certa intensità oltre alle condizioni climatiche (umidità, temperatura, polveri, denti del cane, ecc.). Invece per i 15 Introduzione al Computer Massimo Bucchi dischi ottici (leggi Cd, Dvd) non esistono grossi pericoli ad eccezione di quelli meccanici (rigature della superficie) e del solito pupo col martello. Vediamo ora quali sono le principali periferiche e le relative porte di comunicazione che permettono alla piastra madre di comunicare con queste. Guardando dietro il computer, possiamo vedere che vi sono un certo numero di prese, dette porte, da cui partono dei cavetti collegati con connettori alle varie periferiche. Le più comuni e presenti su quasi tutti i nuovi modelli sono la porta parallela (per stampante, dischi Zip, scanner), le porte seriali (per modem, mouse o collegamenti ad altri computer), le porte PS/2 (per mouse e tastiera), la porta joystick (per joystick, gamepad, interfaccia MIDI), le porte USB 12 Mbit/sec (permettono di collegare fino a 127 periferiche collegate a cascata anche con computer acceso), le porte firewire 400 Mbit/sec (simili alle USB collegano fino a 63 periferiche esterne e sono utilizzate in particolare per videocamere), la porta video (per monitor, TV o videoregistratore), le porte audio (per microfono, diffusori acustici, fonti sonore esterne), la presa line-phone (per collegarsi alla linea telefonica) e naturalmente la presa di alimentazione (220V). Alcune porte di comunicazione 16 Introduzione al Computer Massimo Bucchi Come ben si può capire non esiste una porta specifica per ogni singola periferica ma sono spesso intercambiabili. Accade così che la stampante potrebbe voler il collegamento alla porta parallela o alla porta seriale o alla porta USB. Lo stesso accade per altri dispositivi, che vediamo qui di seguito, e che per semplicità dividiamo in dispositivi di input (ingresso dati) e di output (uscita dati). I più comuni dispositivi di input sono: la tastiera, il mouse, la trackball o il touchpad (utilizzati in particolare sui pc portatili), il joystick o il gamepad (utilizzati per i giochi di movimento), lo scanner (per lettura di foto e documenti), la tavoletta grafica (per disegnare a mano libera), il microfono (per registrare suoni), la videocamera, la webcam, la macchina fotografica digitale, il lettore di Cd-Rom o Dvd, il lettore di codici a barre, ecc. I più comuni dispositivi di output sono: il monitor, la stampante, il plotter, i diffusori acustici, la TV, ecc. Esistono però anche dispositivi che hanno entrambe le funzioni di input-output; è il caso del modem, le memorie di massa in genere come i floppy disk, gli hard disk, il masterizzatore, gli strumenti musicali (tramite porta MIDI), il videoregistratore, i registratori di suoni analogici o digitali (DAT), ecc. Computer con alcune periferiche Questa rapida carrellata non esaurisce tutta la lista di dispositivi che sono tantissimi: da un punto di vista ipotetico sono infiniti poiché qualsiasi apparecchiatura o dispositivo, anche 17 Introduzione al Computer Massimo Bucchi elettromeccanico, opportunamente interfacciato potrebbe essere collegato ad un computer. Vediamo quindi ultimamente come tale idea sia sperimentata non solo nelle industrie, ma anche nelle case o nelle autovetture per interfacciare sistemi di allarme, cucine elettroniche, impianti stereofonici, impianti di riscaldamento, collegamenti telefonici, impianti di telesorveglianza, navigazione satellitare, ecc. fino ad apparecchiature robotizzate ed oltre. Mini Robot Per ‘comandare’ tali apparecchiature, sono necessarie delle istruzioni, che in gergo vengono chiamate programmi o più precisamente con un termine tecnico si utilizza un software. Vediamo quindi insieme che cos’è il “software” e come si utilizza. 18 Introduzione al Computer Massimo Bucchi IL SOFTWARE Abbiamo dunque visto quali sono le parti, i meccanismi, i circuiti, ecc. che costituiscono un computer. Tornando alla nostra lavastoviglie penso che molti di voi fino a questo punto non vedano significative differenze con un computer, al di là dell’apparenza estetica o della diversa circuiteria. Ed è, in effetti, esatto perché non è sull’hardware, ovvero sulle parti fisiche, che si pone la grande differenza esistente tra un computer ed i vari elettrodomestici, ma sul software. Questo termine fantasioso è, in effetti, composto da due parole ware=merce-articoli e soft=morbido-impalpabile utilizzato spesso anche per indicare, in lingua inglese, dei sentimenti figurati come ad es. to have a soft heart = avere un cuore tenero, essere sensibile. Posto in contrapposizione ad hardware dove hard=duro indica qualcosa di toccabile, palpabile ben si comprende che il software non rientra nella normale capacità di valutazione di un elettrodomestico, perché mai per questi si parla di software. Volendo fare un paragone molto alla lontana si potrebbe dire che un computer assomiglia più ad uomo che ad una macchina utensile proprio per questa sua particolarità: come un uomo è composto da parti fisiche, testa, braccia, gambe, cuore, cervello, fegato, ecc. anche un computer come abbiamo visto è composto da più parti fisiche sia interne che esterne. Ma nell’uomo ciò che risalta maggiormente è la sua capacità di ragionare, di creare pensieri, teorie, fantasie, cioè tutte cose che non si toccano ma fanno comunque parte dell’uomo. Analogamente in un computer tale possibilità viene offerta dal software, che non si tocca ma che permette comunque al computer di esprimere pensieri, teorie, ricordi e forse tra non molto anche fantasie (cosa per adesso impossibile). Tale capacità è quindi importantissima e pone il computer come una delle invenzioni principali, dato che permette ad una stessa “macchina” di effettuare tantissimi “lavori” di natura diversa semplicemente cambiando il software cioè il pensiero ovvero le istruzioni per effettuare quel particolare compito. 19 Introduzione al Computer Massimo Bucchi È opportuno ricordare che il software è strettamente connesso all’hardware: così come si dice ‘mens sana in corpore sano’ è per un computer necessario dire ‘buon software in adeguato hardware’. Quindi prima di acquistare od utilizzare un qualsiasi programma o software è necessario conoscere quali sono i requisiti minimi hardware richiesti per un buon funzionamento. Ad esempio se volessimo utilizzare un programma per l’acquisizione di immagini da scanner il requisito essenziale sarebbe quello di possedere uno scanner. Per quanto ciò appaia lapalissiano, mai come programmatore mi è capitato di sentirmi rivolgere come prima domanda: “Quale hardware necessita per far funzionare questo programma?”. Vengono invece rivolte tante altre domande, più o meno utili, come ‘quanto costa?’, ‘a cosa serve?’, ‘come funziona?’, ecc. non rendendosi conto che ogni software necessita di uno specifico hardware. Certo, l’esempio di prima è forse un po’ estremizzato, ma non dimentichiamo che le necessità hardware potrebbero essere anche più sottili, come ad esempio la quantità di memoria necessaria, l’uso di specifico processore, l’uso di specifiche periferiche, ecc. Conoscere l’hardware ed il software è dunque importante ma non sufficiente. È necessario sapere anche quali sono le interconnessioni tra loro. Seppur molti di voi siano già a conoscenza di alcune delle prossime informazioni, mi sento in dovere di rispolverare alcuni concetti di base per poter meglio comprendere ciò che andremo a trattare sul software. È un dato di fatto che i computers per funzionare utilizzino l’energia elettrica. Ciò determina la più importante connessione tra hardware e software. Infatti nei circuiti elettrici e di memoria possono esistere solo due stati fisici, acceso e spento; modalità ripresa anche per gli stati logici definiti come 0 e 1 (zero e uno). Ad essere preciso, quanto sopra detto è la conclusione di un lungo lavoro di studio che ha in passato determinato come più efficace l’uso del numero più ridotto possibile di stati. Tale metodo viene attualmente utilizzato nei sistemi digitali e prende il nome di sistema binario. Ciò non è altrettanto vero in elettronica o in elettromeccanica dove alcuni circuiti 20 Introduzione al Computer Massimo Bucchi sono di tipo analogico e non digitale: utilizzano cioè un valore di energia proporzionale. Volendo cioè costruire, per assurdo, un computer analogico potremmo rappresentare i valori non con due soli stati, acceso e spento, ma con valori proporzionali ad una certa sorgente: ad es. per rappresentare i dieci numeri potremmo utilizzare un circuito spento per lo zero, un circuito a 1 volt per il numero 1, un circuito a 2 volt per il numero 2, e così via fino ad un circuito a 9 volt per il numero 9. Tale metodo, pur possibile, rappresenta comunque una grande difficoltà di costruzione e di utilizzo. Pensate ad esempio quanti circuiti diversi analogici si dovrebbero costruire per rappresentare tutti i simboli della tastiera! Nel metodo digitale, invece, il circuito è uno solo, ripetuto, che esprime un valore rappresentandolo, come vedremo, da tanti stati logici 0 e 1. Il funzionamento basato su due soli stati fisici permette inoltre di utilizzare per la progettazione dei dispositivi digitali i formalismi di un particolare tipo di algebra, detta algebra booleana, nella quale le variabili possono assumere alternativamente due valori, chiamati vero e falso, oppure 0 e 1. Le relazioni tra le variabili binarie sono espresse, nell’algebra booleana, da operatori definiti da proposizioni logiche sulle variabili stesse. Gli operatori vengono tradotti concretamente in dispositivi chiamati porte logiche, in grado di realizzare in termini fisici le suddette proposizioni. Tutti i dispositivi digitali elettronici, dal più semplice al più complesso, sono costituiti, a livello fondamentale, da entità (le porte logiche) in grado di compiere semplici passaggi logici. Il numero elevatissimo di tali entità e la complessità delle loro interconnessioni consentono le numerose funzioni dell’informatica. Le cifre binarie 0 e 1 rappresentano dunque la più elementare unità di informazione in un sistema digitale e prendono il nome di bit (binary digit). I singoli bit vengono raggruppati in sequenze a formare numeri binari di lunghezza variabile che, tramite opportune codifiche, possono rappresentare virtualmente qualsiasi elemento: numeri interi, numeri reali, caratteri alfanumerici, ecc. Con solo 8 bit è possibile rappresentare ben 256 caratteri cioè 28=256. Infatti se considerate di poter utilizzare solo due simboli 0 e 1 è facile 21 Introduzione al Computer Massimo Bucchi calcolare quante combinazioni si possono ottenere: ad esempio usando tre posizioni otteniamo 000, 001, 010, 011, 100, 101, 110, 111, cioè otto possibilità che corrispondono a 23=8. Infatti ad ogni bit corrispondono 2 possibilità e quindi la progressione per ogni bit è la seguente: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, ecc. È importante sapere che una sequenza di 8 bit prende il nome di byte. 1 byte rappresenta, ad esempio, un carattere della tastiera, quindi potremmo dire che una pagina dattiloscritta di 2000 caratteri occuperà circa 2000 byte di memoria. Occorre tenere presente che per carattere si intende qualsiasi segno rappresentato sulla tastiera come ad esempio il punto, la virgola, le parentesi, i numeri e tutti gli altri segni compreso lo spazio che anche se non si vede occupa comunque 1 byte. Qui di seguito viene rappresentata una tabella che illustra i 256 elementi del set standard dei caratteri ASCII(American Standard Code for Information Interchange) con i relativi codici decimali ed esadecimali: 22 Introduzione al Computer Massimo Bucchi 23 Introduzione al Computer Massimo Bucchi Pare evidente che tale tabella può variare da computer a computer, soprattutto per alcuni caratteri che vengono rappresentati diversamente in base al tipo di tastiera utilizzata (es. Italiana, USA, Francese, Tedesca, Greca, Cinese, ecc.) e in base ai codici caratteri che vengono caricati dai vari programmi (es. Times New Roman, Arial, Wingdings, ecc.). Vediamo comunque che la lettera ‘A maiuscola’ (da non confondere con la ‘a minuscola’ che ha un altro codice) viene rappresentata dal valore decimale 65, dal valore esadecimale 41, dal valore ottale 101 e dal valore binario 1000001. Facciamo alcune considerazioni: 1. Abbiamo visto che il sistema decimale (su base 10), quello per intenderci comunemente usato dall’uomo, non è l’unico sistema esistente. Infatti ne esistono molti altri alcuni dei quali, più famosi, sono quelli che abbiamo appena citato e cioè il sistema binario (su base 2), il sistema esadecimale (su base 16), il sistema ottale (su base 8), ecc. Esistono, ovviamente, delle tabelle di conversione tra i vari sistemi. 24 Introduzione al Computer Massimo Bucchi 2. Nella tabella vengono riportati anche simboli che non compaiono sulla tastiera. Come possiamo fare per ottenere, ad esempio, le parentesi graffe {} ? Vi svelo un piccolo trucco, spesso usato dai programmatori, per ottenere i simboli ‘stranì. Aprite un programma di videoscrittura ad esempio Wordpad, quindi in una riga qualsiasi tenendo premuto il tasto ALT battete il numero 123 sul tastierino numerico. Rilasciate il tasto ALT e come per magia vedrete comparire la parentesi {. Ripetete la stessa operazione con il numero 125 e vedrete comparire l’altra parentesi }. 3. Come facciamo a capire che il valore binario 1000001 equivale veramente al numero 65 decimale? È necessario utilizzare questa tecnica. Dividiamo il numero 65 per 2 e scriviamo da una parte sempre il resto fino ad arrivare all’ultima divisione: 65:2=32 32:2=16 16:2=8 8:2=4 4:2=2 2:2=1 1:2=0 resto 1 resto 0 resto 0 resto 0 resto 0 resto 0 resto 1 Scrivere il risultato partendo dall’ultimo resto fino al primo e cioè 1000001. Per fare la controprova utilizziamo questa semplice tabella: 128 64 32 16 8 4 2 1 1 64 0 0 0 0 0 0 0 0 0 0 1 1 Si moltiplicano i numeri della prima fila per i numeri della seconda fila ottenendo nella terza fila il risultato di ogni singola colonna. Si sommano quindi i valori di tutte le colonne della terza fila (64+0+0+0+0+0+1) ottenendo in questo modo il numero 65. Non continuerò a tediarvi con la spiegazione delle conversioni di tutti gli altri sistemi sopra citati ma vorrei concludere questo argomento dicendo che, per quanto visto, risulta palese che nei 25 Introduzione al Computer Massimo Bucchi computers a farla da padrona non è la numerazione decimale bensì quella binaria. Pertanto i multipli del byte utilizzando come base il numero 2 saranno così composti: 1 KB (kilobyte) = 210 byte = 1.024 byte; 1 MB (megabyte) = 220 byte = 1.024 KB = 1.048.576 byte; 1 GB (gigabyte) = 230 byte = 1.024 MB = 1.073.741.824 byte; 1 TB (terabyte) = 240 byte = 1.024 GB = 1.099.511.627.776 byte. Le variabili, i numeri, le lettere, i simboli, i numeri negativi, gli alfabeti fonetici, ecc. vengono quindi rappresentati con convenzioni arbitrarie scelte in base alla loro convenienza. Possiamo quindi avere il codice BCD per la rappresentazione di codici a barre, il codice Gray per le conversioni analogico-digitali, il codice ASCII per la rappresentazione convenzionale dei caratteri alfanumerici, il metodo MSB e il metodo di complemento a 2 per la rappresentazione di numeri positivi e negativi, i metodi di espressione degli alfabeti fonetici. Soffermiamoci un attimo su questi ultimi per far comprendere quanto difficile possa essere decidere il metodo migliore da utilizzare in una convenzione. Il codice ASCII con le sue combinazioni è in grado di codificare molte lingue ed alfabeti, da quello latino al cirillico. Tuttavia vi sono civiltà che non hanno sviluppato veri e propri alfabeti fonetici oppure che hanno un numero elevatissimo di simboli: ad esempio il cinese possiede più di 50.000 ideogrammi, mentre l’alfabeto persiano possiede ben 28 caratteri fonetici che cambiano attraverso l’unione di tanti caratteri diacritici e vocali. Per codificare simili casi in sistema binario vi sono tre possibili strade. La prima è creare un alfabeto fonetico semplificato che renda, attraverso combinazioni, tutta la varietà di sillabe e parole espresse in queste lingue. Ad esempio il cinese Pinyin, il coreano Hangul e il Kana giapponese hanno uno schema fonetico simile a quello latino. La seconda tecnica possibile ricorre alla decomposizione degli ideogrammi in un ristretto numero di segni elementari chiamati strokes (tratti); combinando un insieme di cinque od otto strokes si ottiene un numero elevatissimo di ideogrammi. La terza soluzione consiste nell’usare un maggior numero di bit per la codifica, ma ciò renderebbe il lavoro del calcolatore lento e non 26 Introduzione al Computer Massimo Bucchi compatibile con altre applicazioni, progettate per l’uso del byte (8 bit) come unità di misura standard. Tutta l’informatica è dunque per necessità piena di convenzioni, per poter far dialogare i vari computers e le applicazioni presenti su di essi. Vediamo come possiamo, in sintesi, suddividere il software presente nei computers: 1. Sistemi Operativi e drivers; 2. Linguaggi; 3. Programmi applicativi; 4. Database e files di vario tipo. Il Sistema Operativo controlla nel computer l’insieme dei processi d’elaborazione e l’uso delle risorse hardware, agendo da interfaccia tra il computer e l’utente. Il S.O. esercita sia un’attività di supervisore nei confronti di tutti gli altri programmi che vengono eseguiti sul computer, sia di gestore delle risorse, quali processori, supporti di memoria di massa, memoria RAM, periferiche di input/output, ecc. Il ruolo è più evidente nei sistemi multiutente in cui le risorse di macchina vengono condivise da più programmi ed in genere dinamicamente attribuite. I drivers sono dei piccoli programmi che agiscono da interfaccia tra il S.O. in uso ed una particolare periferica: avrete senz’altro notato che quando collegate una nuova periferica al vostro computer, come può essere una stampante, uno scanner, una webcam, ecc. viene richiesto anche di installare il driver specifico del nuovo hardware sempre che il computer non lo abbia precedentemente già conosciuto e memorizzato. Essendo strettamente collegati alla struttura fisica del computer, i sistemi operativi e di conseguenza i drivers sono caratteristici dei diversi tipi d’elaboratori e non sono intercambiabili. Il CP/M, l’MP/M, il PC-DOS, il PCOS, l’MS-DOS, il WINDOWS, lo UNIX, il LINUX, lo XENIX, l’OS/2, il VM, il MAC-OS, il VMS, l’AMIGA-OS, con tantissime versioni di aggiornamento per ognuno, sono soltanto alcuni dei più conosciuti sistemi operativi. Ricordate il 27 Introduzione al Computer Massimo Bucchi BIOS ? Sono sicuro che molti di voi lo hanno già dimenticato. Se il BIOS permette al computer di avere coscienza delle sue componenti e quindi far comunicare tra loro le varie periferiche, il S.O. ha il compito non solo di ‘aiutarè il BIOS nelle varie necessità sopra citate ma deve anche comunicare con l’utente ed accettare i comandi che gli vengono impartiti controllandone la liceità, tramite un’interfaccia utente che diviene, col passar degli anni, sempre più facile ed adattabile alle varie esigenze o con un termine tecnico sempre più user-friendly. È per questo motivo che all’accensione il computer, dopo aver acquisito le informazioni essenziali del BIOS, carica in memoria, come prima operazione, il sistema operativo normalmente presente sul disco rigido. All’inizio, i S.O. erano basati sull’idea della comunicazione linguistica: molti di quelli sopra citati, datati e ormai non più utilizzati, sono sistemi operativi a caratteri; in pratica si basano sull’idea che l’utente impartisca i propri comandi in forma scritta utilizzando la tastiera e quindi necessitano di specifiche conoscenze e sono ben utilizzabili solo dagli ‘addetti al lavoro’. Il sistema MS-DOS è uno di questi e più avanti vedremo alcuni esempi del suo utilizzo essendo stato uno dei S.O. più diffusi nel mondo ed essendo parzialmente ancora presente. Col tempo, tuttavia, i S.O. hanno conosciuto un’importante evoluzione: al posto dell’interfaccia a caratteri si è imposta un’interfaccia grafica ad icone (GUI = Graphical User Interface), utilizzabile in modo semplicissimo anche da chi non conosce alcun comando di sistema e persino da un bambino che non sappia scrivere o leggere. Il primo S.O. con interfaccia grafica è stato sviluppato negli anni ’70 nei laboratori Xerox di Palo Alto ma è solo a partire dal 1984 che si ha una diffusione di tale sistema con il MacIntosh della Apple e successivamente con il Commodore Amiga e l’Atari ST. Ben presto l’idea venne ripresa anche da IBM e da Microsoft: la prima con il sistema OS/2 e la seconda con le varie versioni di WINDOWS, al momento il sistema operativo più diffuso. Un interessante sistema operativo che sta rapidamente avanzando, guadagnando terreno anche sul Windows, è il s.o. Linux derivato di Unix. Realizzato per opera del programmatore Linus 28 Introduzione al Computer Massimo Bucchi Torvald, è oggi disponibile per diverse piattaforme e viene spesso fornito, in alcune versioni, gratuitamente e con la formula ‘free software’ ed ‘open source’, cioè non solo di libera circolazione gratuita ma anche con accesso al codice sorgente. Molte sono le versioni come la Linux Apache, la Mandrake, la RedHat, la storica Slackware, la Debian, la SuSE, la Caldera, ecc. Alcune devono sottostare alle regole imposte dalla più famosa licenza free software che prende il nome di GNU Public License (GPL) predisposta dalla Free Software Foundation, il cui articolo più significativo impone a coloro che vogliono distribuire delle copie del software, di farlo alle condizioni della stessa licenza, cioè in altre parole concedendo agli altri gli stessi diritti ricevuti. Ad esempio, se un determinato s.o. o programma si è ottenuto gratuitamente è obbligatorio fornirlo ad altri sempre in forma gratuita, ad eccezione del recupero delle spese postali e dei supporti (dischetti o cd) sui quali è registrato il software. I programmi per Linux sono tantissimi e quasi tutti rispondono alle caratteristiche sopra citate di programmi liberi e gratuiti, spesso anche modificabili e adattabili alle proprie esigenze (per chi lo sa fare!). Tantissimi sono anche i programmi, come vedremo più avanti, per MS-DOS e per Windows, anche se la formula di free software è meno frequente. Le versioni di MS-DOS si diversificano tra loro da un numero progressivo (es. 2.0-2.1-2.11-3.30), dalla prima realizzata da Tim Paterson e Bill Gates all’ultima versione 7.0, mentre in Windows abbiamo una diversa identificazione della versione. Nato nel 1985 con la versione 1.0, WINDOWS prodotto dalla Microsoft si sviluppa molto rapidamente e già nel 1987 propone la versione 2.0 per i processori Intel 8086 e 8088. Per sfruttare le caratteristiche dei successivi processori come l’80286, l’80386 e l’80486 nasceva nel 1990 la versione 3.0 che permetteva la gestione di 16 MB di memoria (le precedenti versioni arrivavano fino ad un massimo di 1 MB). Ma è solo con la versione 3.1 e 3.11 che nel 1992 Windows conobbe una vasta diffusione grazie alle nuove e particolari caratteristiche: capacità sonore e musicali, caratteri diversificabili, supporti di rete, capacità grafiche e box di dialogo. Nel 1993 nasce Windows NT, versione professionale con un’architettura a 32 bit, utilizzata anche per i 29 Introduzione al Computer Massimo Bucchi server. Caratteristica principale era la possibilità di utilizzare nomi lunghi per i files mentre le versioni precedenti avevano conservato la limitazione di 8 caratteri (più 3 per l’estensione) tipica dei sistemi DOS. Nel 1995 vede la luce Windows 95 che rappresenta un ulteriore sviluppo nell’interfaccia utente con menu a tendina nel pulsante ‘Avviò e nuove capacità multimediali accentuatesi nel 1998 con Windows 98 che trasforma il supporto per Internet (Internet Explorer) in una componente essenziale del sistema operativo. Tali caratteristiche vengono potenziate nel 1999 e nel 2000 con s.o. più stabili e sicuri che prendono il nome di Windows 98 Second Edition, Windows Millenium Edition e Windows 2000. Vediamo brevemente alcune caratteristiche dei sistemi operativi sopra citati. Accendete il vostro computer e posizionatevi in modalità MS-DOS. Comparirà uno schermo nero con una scritta simile a questa riportata tra virgolette “C:\>” che prende il nome di prompt di sistema. Scrivete a fianco del prompt la frase tra virgolette “FORMAT C:” e premete il tasto Invio. No, per carità non fatelo!!! Era solo uno scherzo. Utilizzando il comando FORMAT indicate al computer che volete cancellare fisicamente ogni traccia dal vostro disco (in questo caso il disco fisso C) in modo non recuperabile. Così facendo, però, verrebbe cancellato lo stesso sistema operativo, drivers, programmi, dati e quant’altro contenuto nel disco indicato compromettendo anche il riavvio del computer! Vedete dunque com’era facile, in un vecchio computer con sistema operativo a caratteri, commettere errori irreparabili solamente scrivendo il comando sbagliato. Infatti, era normale utilizzare il comando format per formattare o cancellare dischetti posti nel drive A: o B:. In tal caso il comando esatto era “C:\>FORMAT A:” oppure “C:\>FORMAT B:” purtroppo facilmente confondibile con il comando “C:\>FORMAT C:” scritto soprappensiero o dopo una dura giornata di lavoro. Altra sgradevole caratteristica dei s.o. a caratteri è la necessità di una perfetta sintassi: dimenticare uno spazio, un due punti, digitare il comando erroneamente, ecc. comporta automaticamente la non attivazione del comando, nei casi più felici, o l’attivazione in modalità non voluta con conseguenti possibili danni. 30 Introduzione al Computer Massimo Bucchi Alcuni comandi MS-DOS vengono riportati qui di seguito, anche se mi auguro che l’utilizzo sempre più diffuso dei nuovi s.o. a icone li renda inutili e superati: Gestione dischi CHKDSK è il comando per la verifica di un disco DISKCOPY copia un intero disco FDISK definisce una partizione su disco rigido FORMAT formattazione di floppy disk o hard disk LABEL crea, modifica o cancella il nome di un disco SYS copia i files del sistema operativo su disco VOL visualizza il nome del disco Gestione files ATTRIB attribuisce proprietà ad un file COPY copia uno o più files da un disco o directory ad un altro DEL cancella uno o più files FC confronta due file tra loro FIND individua stringhe di testo all’interno di un file MORE presenta l’output una pagina alla volta PRINT invia file alla stampante REN rinomina un file SORT mette il contenuto di un file ASCII in ordine alfabetico o inverso TYPE visualizza il contenuto di un file XCOPY copia selettivamente files e directory Gestione directory CHDIR (CD) cambia la directory DIR visualizza l’elenco dei files 31 Introduzione al Computer Massimo Bucchi PATH indica il percorso di ricerca di comandi MKDIR (MD) crea una nuova directory RMDIR (RD) cancella una directory Gestione sistema ANSI.SYS è un file che contiene i codici controllo della tastiera BREAK abilita o esclude l’interruzione dei comandi CLS cancella lo schermo CTTY cambia unità standard di input/output DATE visualizza e modifica la data dell’orologio interno EXIT ritorna ad un programma applicativo uscendo dall’MS-DOS KEYB definisce la nazionalità di una tastiera MODE modifica i parametri di output su stampante, video e seriale PROMPT modifica il prompt SET visualizza o modifica parametri di configurazione del sistema TIME visualizza e modifica l’ora dell’orologio interno VER visualizza la versione dell’MS-DOS Programmazione e file batch DEBUG esamina le istruzioni in memoria o le modifica ECHO visualizza o meno l’esecuzione di comandi in file batch EDIT crea e modifica semplici file testo e batch FOR contatore di iterazione GOTO indica il salto alla label indicata IF sequenza di comandi innescata da una condizione PAUSE sospende l’esecuzione di un file batch REM linea di commento 32 Introduzione al Computer Massimo Bucchi Un consiglio: utilizzate i comandi dos con estrema prudenza! Considerate inoltre, che i comandi sopra visti, possono variare in base alla versione presente sul computer e che ogni comando possiede una precisa sintassi, con decine di possibili varianti. Se avete la necessità di utilizzare frequentemente i comandi dos, vi consiglio di acquistare o scaricare da internet un buon testo di spiegazioni, con esempi della versione MS-DOS che vi necessita. Per un uso sporadico potete invece scoprire le varie opzioni e spiegazioni di un comando utilizzando dopo lo stesso il simbolo /? (ad esempio DIR /? Oppure DIR/?|MORE). Scoprirete che esistono anche molti ‘trucchì e scorciatoie nell’uso dei comandi che per brevità non posso continuare a descrivere. Un solo esempio: per inviare dati ad un file o alla stampante si usa il simbolo > così che la sintassi diviene DIR>PRN: dove PRN: identifica la stampante. Otterreste, così facendo, una pagina scritta simile a quanto qui sotto riportato: ======================================================================= Il volume nell'unità C è MAX Numero di serie del volume: 3512-1D07 Directory di C:\WINDOWS\COMMAND . .. DRVSPACE EXTRACT SCANDISK SCANREG SULFNBK FDISK MSCDEX EDIT SYS CHOICE DISKCOPY DOSKEY FORMAT KEYB MODE MORE EGA ATTRIB CHKDSK DEBUG BOOTDISK DELTREE FC FIND IEXTRACT LABEL <DIR> <DIR> BIN EXE EXE EXE EXE EXE EXE COM COM COM COM COM COM COM COM COM CPI EXE EXE EXE BAT EXE EXE EXE EXE EXE 68.791 93.242 145.232 166.190 45.056 64.700 25.473 70.734 19.239 5.415 22.327 15.895 50.887 20.167 30.023 10.567 58.870 15.444 28.864 21.114 2.091 19.179 20.878 6.786 17.655 9.516 15/09/98 15/09/98 15/05/98 15/05/98 15/05/98 15/05/98 28/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 15/05/98 22.03 22.03 20.01 20.01 20.01 20.01 21.26 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 33 . .. DRVSPACE.BIN EXTRACT.EXE SCANDISK.EXE SCANREG.EXE SULFNBK.EXE FDISK.EXE MSCDEX.EXE EDIT.COM SYS.COM CHOICE.COM DISKCOPY.COM DOSKEY.COM FORMAT.COM KEYB.COM MODE.COM MORE.COM EGA.CPI ATTRIB.EXE CHKDSK.EXE DEBUG.EXE BOOTDISK.BAT DELTREE.EXE FC.EXE FIND.EXE IEXTRACT.EXE LABEL.EXE Introduzione al Computer MEM MOVE NLSFUNC SORT START SUBST XCOPY XCOPY32 SCANDISK EDIT XCOPY32 ANSI COUNTRY DISPLAY KEYBOARD KEYBRD2 DRVSPACE CVT CSCRIPT NDD TEST FREEZIP UNZIP ZIP EXE EXE EXE EXE EXE EXE EXE EXE INI HLP MOD SYS SYS SYS SYS SYS SYS EXE EXE HLP TXT ICO EXE EXE 50 file 2 dir 32.482 15/05/98 27.683 15/05/98 7.052 15/05/98 26.090 15/05/98 28.672 28/05/98 18.000 15/05/98 3.894 15/05/98 3.894 15/05/98 8.439 15/05/98 13.584 15/05/98 41.984 15/05/98 9.735 15/05/98 30.742 15/05/98 17.207 15/05/98 34.566 15/05/98 31.942 15/05/98 2.151 15/05/98 123.519 15/05/98 90.112 14/06/00 33.080 13/07/98 0 26/11/00 766 11/02/98 145.408 03/11/97 117.248 04/11/97 1.902.585 byte Spazio disponibile Massimo Bucchi 20.01 20.01 20.01 20.01 21.26 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 20.01 17.32 10.04 12.29 7.31 15.32 1.20 MEM.EXE MOVE.EXE NLSFUNC.EXE SORT.EXE START.EXE SUBST.EXE XCOPY.EXE XCOPY32.EXE SCANDISK.INI EDIT.HLP XCOPY32.MOD ANSI.SYS COUNTRY.SYS DISPLAY.SYS KEYBOARD.SYS KEYBRD2.SYS DRVSPACE.SYS CVT.EXE cscript.exe NDD.HLP TEST.TXT FREEZIP.ICO UNZIP.EXE ZIP.EXE 902.91 MB Terminiamo qui la breve spiegazione dell’MS-DOS e passiamo ad analizzare alcune caratteristiche del sistema operativo WINDOWS. Windows in inglese significa finestre. Infatti, tale sistema operativo, funziona proprio utilizzando una o più finestre virtuali per la visualizzazione di cartelle, programmi, testi, ecc. che possono essere sovrapposte, ridimensionate, spostate, affiancate, chiuse o momentaneamente sospese nella cosiddetta barra delle applicazioni posta sul lato inferiore dello schermo. Tutto lo schermo all’accensione si presenta come un tavolino su cui prendono posto degli oggetti e per questo è chiamato desktop. Gli oggetti, che possono essere cartelle, dati o programmi, sono rappresentati da icone grafiche, cioè dei piccoli disegni. Per selezionare tali icone si può utilizzare il mouse che permette lo spostamento sul video di un simbolo detto puntatore che assume l’aspetto normalmente di una freccia ma può diventare una clessidra, quando è necessario attendere per effettuare qualche lavoro, o altri simboli voluti o necessari in determinati casi. 34 Introduzione al Computer Massimo Bucchi Desktop con icone Con un clic del pulsante sinistro del mouse si selezionano gli oggetti, mentre con due clic rapidi dello stesso pulsante l’oggetto viene aperto o attivato. Cliccando una volta con il pulsante destro su un oggetto, si apre un menù cosiddetto a tendina che fornisce la possibilità di effettuare tutta una serie di possibili azioni. Menu a tendina e una cartella 35 Introduzione al Computer Massimo Bucchi Uno dei menù a tendina più importante del sistema è quello del pulsante START o AVVIO con cui è possibile raggiungere tutti i programmi installati nel computer nonché le componenti del sistema operativo. Menu start-avvio Gli oggetti, le icone, i dati, i programmi, ecc. possono essere inoltre spostati, copiati o eliminati facilmente come pure organizzati. Ciò significa che possiamo trattare i nostri documenti, all’interno di un computer, nello stesso modo in cui trattiamo fisicamente i documenti all’interno di un archivio. Pensate, infatti, d’avere un archivio all’interno di un armadio. Potreste buttare i fogli dei vari fascicoli dentro tale armadio alla rinfusa oppure organizzarli in scatole, raccoglitori, cartelle, fascicoli, ecc. e magari pure in ordine alfabetico. Questo è anche quanto possiamo fare in una struttura gerarchica di Windows creando cartelle e sottocartelle (le famose directory) all’interno delle quali riporre in modo ordinato e omogeneo i nostri documenti. Tale struttura, però, necessita anche di uno strumento idoneo per la gestione delle cartelle e dei files ivi contenuti. In Windows tale strumento si chiama Esplora Risorse. 36 Introduzione al Computer Massimo Bucchi Esplora Risorse Se volete utilizzare, con una certa professionalità, le possibilità offerte dal sistema operativo Windows, è consigliabile procurarsi un buon testo, magari scaricandolo da Internet. Solitamente nella confezione originale di Windows, oltre ai CD e dischetti necessari, è contenuto anche un piccolo manuale che permette di orientarsi nei meccanismi più semplici del sistema. Dato che questo potrebbe non essere sufficiente, il sistema prevede anche un corso multimediale con spiegazioni ed esercitazioni. Per accedervi è sufficiente seguire questo percorso: fare clic sul pulsante START (AVVIO), scegliendo PROGRAMMI, quindi ACCESSORI, poi UTILITÀ DI SISTEMA e infine INTRODUZIONE A WINDOWS. 37 Introduzione al Computer Massimo Bucchi Percorso Introduzione a Windows A questo punto potrei consigliarvi di seguire le colorate esercitazioni previste dal sistema, ma ritengo utile annoiarvi ancora per qualche minuto con alcuni suggerimenti. Una volta che avrete organizzato i vostri documenti in tante cartelle e sottocartelle può succedere di non riuscire più a trovare un certo testo o documento. Per facilitarvi Windows ha previsto una funzione di ricerca che si chiama TROVA. Per cercare un file o una cartella occorre fare clic sul pulsante START, scegliere TROVA e quindi FILE o CARTELLE che aprirà una finestra di dialogo come riportato qui sotto: 38 Introduzione al Computer Massimo Bucchi Altra cosa importante da tener presente è che, a differenza del sistema DOS, il s.o. Windows necessita di una particolare procedura di spegnimento per evitare di perdere informazioni. Per uscire da Windows e arrestare il sistema fare quindi clic sul pulsante START, quindi scegliere CHIUDI SESSIONE. Nella finestra di dialogo che verrà proposta selezionare il pulsante di opzione ARRESTA IL SISTEMA e cliccare OK. Attendere lo spegnimento. Procedura di spegnimento È bene ricordare che la maggior parte dei programmi installati nel computer è visualizzata nel menù AVVIO. Per avviare quindi un programma, se non presente in una cartella o come link (collegamento) sul desktop, fare clic sul pulsante START (AVVIO). Se qui il nome del programma non compare selezionare la voce PROGRAMMI e scegliere il programma o il sottomenu che contiene tale programma. Successivamente, per terminare il programma, utilizzare l’uscita prevista dal programma stesso (di solito FILE EXIT o ESCI) oppure fare clic sul pulsante di chiusura nell’angolo superiore destro della finestra del programma. 39 Introduzione al Computer Massimo Bucchi Finestra di un Programma Infine vorrei ricordare che non esiste solo il mouse. Anzi è spesso comodo utilizzare delle ‘scorciatoie’ che si ottengono con combinazioni di tasti della tastiera. Vi suggerisco questi ‘trucchi’ che potrete trovare anche nell’help premendo F1: Utilizzo dei tasti di scelta rapida in Windows Per Attivare la barra dei menu nei programmi Eseguire il comando di menu corrispondente Premere F10 ALT+lettera menu Chiudere la finestra corrente nei programmi MDI, Multiple Document Interface Chiudere la finestra corrente o uscire dal programma Copiare Tagliare Eliminare Visualizzare la Guida per l'oggetto selezionato nella finestra di dialogo Visualizzare il menu di sistema della finestra corrente Visualizzare il menu di scelta rapida dell'oggetto selezionato Visualizzare il menu Start. Visualizzare il menu di sistema per i programmi MDI Incollare 40 sottolineata nel CTRL+F4 ALT+F4 CTRL+C CTRL+X CANC F1 ALT+barra spaziatrice MAIUSC+F10 CTRL+ESC ALT+trattino (-) CTRL+V Introduzione al Computer Massimo Bucchi Tornare all'ultima finestra utilizzata ALT+TAB Oppure Passare a un'altra finestra tenendo premuto ALT e premendo ripetutamente TAB Annullare CTRL+Z Tasti di scelta rapida per Microsoft Magnifier Premere (tasto Windows)+STAMP Per Copiare negli Appunti l'intera schermata, incluso il cursore del mouse. Copiare negli Appunti l'intera schermata, escluso il cursore del mouse. Attivare l'inversione dei colori. Visualizzare la traccia del puntatore del mouse. Aumentare l'ingrandimento. Diminuire l'ingrandimento. (tasto Windows)+BLOC SCORR (tasto Windows)+PGSU (tasto Windows)+PGGIÙ (tasto Windows)+freccia SU (tasto Windows)+freccia GIÙ Utilizzo dei tasti di scelta rapida nelle finestre di dialogo Per Premere Annullare l'operazione corrente Fare clic sul pulsante se il controllo corrente è un pulsante ESC Barra spaziatrice Oppure Selezionare o deselezionare la casella di controllo se il controllo corrente è una casella di controllo Oppure Selezionare l'opzione se il controllo corrente è un pulsante di opzione Fare clic sul comando corrispondente ALT+lettera Far clic sul pulsante selezionato Tornare alle opzioni precedenti Tornare alle schede precedenti Passare alle opzioni successive Passare alle schede successive Aprire la cartella superiore della cartella selezionata nella finestra di dialogo Salva con nome o Apri Visualizzare il contenuto della casella di riepilogo Salva in o Cerca in nella finestra di dialogo Salva con nome o Apri Aggiornare la finestra di dialogo Salva con nome o Apri INVIO sottolineata 41 MAIUSC+TAB CTRL+MAIUSC+TAB TAB CTRL+TAB BACKSPACE F4 F5 Introduzione al Computer Massimo Bucchi Utilizzo dei tasti di scelta rapida per Esplora risorse Per Comprimere la selezione corrente se è espansa Premere Freccia SINISTRA Oppure Selezionare la cartella superiore Comprimere la cartella selezionata Espandere la selezione corrente se è compressa BLOC NUM+segno meno (-) Freccia DESTRA Oppure Selezionare la prima sottocartella Espandere tutte le sottocartelle della selezione corrente BLOC NUM+* Espandere la cartella selezionata BLOC NUM+segno più (+) F6 Passare tra il riquadro di sinistra e quello di destra Utilizzo dei tasti di scelta rapida per il desktop, Risorse del computer ed Esplora risorse Una volta selezionato un oggetto, è possibile utilizzare i tasti di scelta rapida descritti di seguito. Per Evitare l'esecuzione automatica quando si inserisce un CD Copiare un file Creare un collegamento Premere MAIUSC mentre si inserisce il CD CTRL mentre si trascina il file CTRL+MAIUSC mentre si trascina il file Eliminare immediatamente un oggetto senza collocarlo nel Cestino Visualizzare la finestra di dialogo Trova: Tutti i file Visualizzare il menu di scelta rapida dell'oggetto Aggiornare il contenuto della finestra attiva Rinominare un oggetto Selezionare tutti gli oggetti Visualizzare le proprietà di un oggetto MAIUSC+CANC F3 Tasto del menu di scelta rapida F5 F2 CTRL+5 (Tn) ALT+INVIO oppure ALT+DOPPIO CLIC Utilizzo dei tasti di scelta rapida per Risorse del computer ed Esplora risorse Per Chiudere la cartella selezionata e tutte le relative cartelle superiori Premere MAIUSC mentre si fa clic sul pulsante Chiudi (solo in Risorse del computer) Tornare a una visualizzazione precedente Spostarsi a una visualizzazione successiva Visualizzare la cartella superiore ALT+freccia SINISTRA ALT+freccia DESTRA BACKSPACE 42 Introduzione al Computer Massimo Bucchi Utilizzo dei tasti WINDOWS Per Passare da un pulsante all'altro sulla barra delle applicazioni Visualizzare Trova: Tutti i file Visualizzare Trova: Computer Visualizzare la Guida in linea Visualizzare il comando Esegui Visualizzare il menu Start. Visualizzare la finestra di dialogo Proprietà – Sistema Visualizzare Esplora risorse Ridurre a icona o ingrandire tutte le finestre Annullare la riduzione a icona di tutte le finestre Premere WINDOWS+TAB WINDOWS+F CTRL+WINDOWS+F WINDOWS+F1 WINDOWS+R WINDOWS WINDOWS+PAUSA WINDOWS+E WINDOWS+D MAIUSC+WINDOWS+M Anche qui, per non incorrere in gravi errori, è bene che l’utilizzo di una certa combinazione di tasti sia consapevole, essendo in molti casi irreversibile. Terminiamo questa breve descrizione e continuiamo a vedere gli altri argomenti della nostra primitiva scaletta che erano, dopo i sistemi operativi e drivers, i linguaggi, i programmi applicativi ed i database. Che cos’è un linguaggio ma soprattutto a cosa serve? Cito dal dizionario Garzanti “linguaggio, s.m. – la facoltà di esprimere pensieri e sentimenti per mezzo di suoni articolati”. Sappiamo che nel mondo esistono centinaia di lingue: italiano, inglese, francese, tedesco, arabo, giapponese, cinese, ecc. molto diverse tra loro anche se tutte tendono allo stesso scopo: la determinazione di un linguaggio per comunicare, comprendere e farsi capire dagli altri. Esistono poi delle persone che conoscono più lingue e sono in grado, in alcuni casi, di porsi come interpreti tra due persone di lingua diversa. Ebbene anche nel mondo dei computers esiste un’analoga babele di lingue ognuna delle quali espressa da uno specifico linguaggio, con termini, espressioni e regole proprie di quel 43 Introduzione al Computer Massimo Bucchi linguaggio, ed esistono anche delle funzioni di interprete. Questi linguaggi sono stati inventati per farsi capire dal computer nella formulazione di pensieri ed istruzioni. Potrei citare diverse decine di linguaggi ma i più conosciuti, dai primi agli attuali, sono sicuramente compresi nei seguenti: Linguaggio Macchina, Assembler, Cobol, Fortran, Basic, Qbasic, GWBasic, TurboBasic, Visual Basic, RPG, Lisp, Prolog, TurboProlog, MIT Logo, Pascal, Turbo Pascal, Delphi, Algol, C, C++, Visual C++, HTML, JAVA, JavaScript, Visual J++, ecc. Di ogni linguaggio esistono diverse varianti nonché versioni di aggiornamento. Per fare un esempio prendiamo in considerazione uno dei linguaggi più famosi ed utilizzati sia da professionisti della programmazione che da principianti: il BASIC. GW-BASIC BASIC, acronimo di Beginners All-purpose Symbolic Instruction Code (codice simbolico universale per principianti), nasce nel 1964 presso il Dartmouth College (Ohio) ad opera di Thomas Kurtz e John G. Kemeney. Utilizzato negli anni ’70-’80 per insegnare l’informatica a studenti ha riscosso molto successo con la diffusione dei personal ed home computers. Le varie case produttrici hanno creato varie versioni, a seconda delle esigenze del loro hardware. Tra le più famose ricordiamo: 44 Introduzione al Computer Massimo Bucchi nel 1975 la Microsoft creò MSBASIC per gli Altair 8800; nel 1977 fu la volta della Apple con Applesoft per la serie Apple II; nel 1979 la Acorn fece uscire BBC BASIC per la serie BBC; nel 1979 la Atari fece uscire il suo BASIC per la serie Atari 8-bit; nel 1979 la Texas Instruments creò il TI BASIC per i TI-99/4 e successori; nel 1980 la Commodore dotò i suoi primi computer di un particolare BASIC; nel 1980 la Sinclair fece uscire un BASIC per la serie ZX; nel 1982 la Microsoft realizza il BASICA per PC-DOS dei sistemi PC IBM; nel 1982 la Microsoft crea il famoso GWBASIC per MS-DOS; nel 1983 sempre la Microsoft fece uscire l’MSX BASIC per la serie MSX; nel 1983 la Olivetti inventa il PCOS per l’M20 ed introduce il BASIC esteso grafico; nel 1984 la Amstrad diede origine al Locomotive BASIC per la serie CPC; nel 1984 la Microsoft crea MacBASIC per Macintosh; nel 1985 sempre la Microsoft crea QuickBASIC per MS-DOS; nel 1986 la Borland inventa il velocissimo TURBO BASIC compatibile con le precedenti versioni del BASICA, GWBASIC, ecc.; nel 1990 Microsoft produce Visual Basic per Windows 3.0 per applicazioni con interfacce grafiche; nel 1992 esce la versione 2.0 di Visual Basic; nel 1993 Microsoft insiste con la versione 3.0 di Visual Basic; nel 1995 viene diffusa la versione 4.0 di VB per Windows 3.1 e Windows9x; nel 1997 esce la versione 5.0 di VB per Windows9x; nel 1999 continua la diffusione di Visual Basic per Windows98, SE, ME e 2000; ………………..e la storia continua. Visual Basic A questo punto la nostra precedente domanda dovrebbe essere meglio articolata in questo modo: che cos’è un linguaggio di programmazione per computer e a cosa serve? 45 Introduzione al Computer Massimo Bucchi Leggo nell’Enciclopedia della Scienza e della Tecnica De Agostini: linguaggi di programmazione, linguaggi artificiali in grado di consentire il trasferimento di informazioni tra computer e utente, scomponendo i problemi da risolvere in algoritmi e comandi univoci che il computer sia in grado di comprendere, cioè permettono di rappresentare le istruzioni binarie su cui opera il computer in un codice leggibile dall’utente. Hanno come caratteristica la mancanza di ambiguità (ogni parola, cioè ogni istruzione, ha un valore indipendente dal contesto) e una sintassi molto rigida, per cui l’ordine delle parole è vincolato da regole rigidamente predeterminate e non può essere modificato in nessun modo. Come vedete, dunque, è ben diversa la definizione di linguaggio umano e di linguaggio di programmazione. La stesura di un programma, dalla definizione e dall’analisi del problema alla compilazione della sequenza di istruzioni elementari per il computer, richiede una serie di passaggi complessi per cui sono state create diverse categorie di linguaggi di programmazione, che offrono livelli crescenti di astrazione e di rigidità sintattica. Per elaborare l’algoritmo di un programma vengono utilizzati i linguaggi assemblatori, con cui vengono descritte in modo non ambiguo le operazioni che devono essere eseguite e in quale sequenza; essi non possono essere capiti dal computer ma solo dall’operatore umano; per questi linguaggi non esiste uno standard riconosciuto, pur esistendo una simbologia universalmente accettata. I linguaggi di programmazione d’alto livello sono utilizzati per indicare al computer gli algoritmi da tradurre in comandi. Un’istruzione in linguaggio d’alto livello, si traduce in genere in un gran numero d’operazioni elementari in codice binario, necessarie al computer per eseguire l’istruzione. Secondo il campo d’applicazione del programma si possono utilizzare linguaggi d’alto livello di differente orientamento. I linguaggi di programmazione d’alto livello sono talmente diffusi da potersi considerare standardizzati (normative ANSI, American National Standards Institute) e consentono di scrivere un programma su un computer e di utilizzarlo anche su un computer di tipo diverso (portabilità del software). I linguaggi di programmazione di basso livello (o assembler) prevedono la codifica dettagliata di tutte le operazioni elementari che compongono il programma e perciò ad ogni 46 Introduzione al Computer Massimo Bucchi istruzione in assembler corrisponde generalmente una sola istruzione in codice binario. Sono specifici per ciascun computer e in particolare sono legati alla struttura fisica del suo microprocessore. Con gli assembler la portabilità di software è quasi nulla, ma si possono scrivere programmi molto efficienti, veloci e che occupano poca memoria. Poiché i computer operano tramite linguaggi macchina sotto forma di codice binario, è necessario tradurre i vari linguaggi di programmazione in linguaggio macchina perché il computer possa ricevere ed eseguire qualsiasi programma. Tale traduzione viene eseguita da appositi programmi convertitori di linguaggio: gli interpreti e i compilatori. Gli interpreti convertono il linguaggio di programmazione ad alto livello in linguaggio macchina un’istruzione per volta, man mano che la eseguono. Essi devono ritradurre le singole istruzioni ogni volta che le eseguono, perciò sono piuttosto lenti; inoltre per eseguire un programma bisogna aver sempre a disposizione l’interprete. Sono tuttavia facili da usare e permettono una modifica immediata del programma qualora si riscontrino degli errori. Un classico esempio di interprete è il GWBASIC, utilizzato spesso per insegnamento o per fare piccoli programmi di prova e valutare i possibili errori. I compilatori effettuano la traduzione una volta per tutte: tutto il blocco scritto in linguaggio di programmazione tramite un editor di testo è detto codice sorgente; questo viene tradotto in linguaggio macchina ottenendo così il codice oggetto. A questa traduzione, fa seguito un’operazione di linking (collegamento) per associare al codice oggetto le istruzione necessarie a renderlo autonomo dal compilatore: si perviene così al codice eseguibile, cioè al programma definitivo che può essere utilizzato da solo. Per scrivere programmi per determinate applicazioni, come per es. il controllo automatico delle macchine utensili, sistemi robotizzati o applicazioni grafiche, si ricorre a linguaggi specialmente formulati per ciascuna applicazione. Questi linguaggi, che fanno largo uso di procedure standard (routines), sono strutturati in modo tale da semplificare al massimo la scrittura dei programmi. 47 Introduzione al Computer Massimo Bucchi Prima di terminare quest’argomento, vediamo insieme solo un piccolo esempio di programma, rimandando la trattazione seria della programmazione a manuali specifici o ad un possibile prossimo testo, invitando tutti coloro che sono interessati a tale argomento e vogliono a tutti i costi diventare pazzi come un vero programmatore a procurarsi non solo il manuale ma anche il linguaggio ed il compilatore specifico che si vuol utilizzare, per effettuare subito gli esercizi e fare pratica. Un piccolo suggerimento, mio personale, è di incominciare ad entrare nel mondo della programmazione con linguaggi semplici, anche se apparentemente obsoleti, come ad esempio il GWBASIC interprete o il PASCAL; in questo modo per effettuare prove ed esercizi ci s’impiegano solo pochi minuti e i risultati sono immediatamente realizzabili. Con linguaggi più interessanti ma più complessi, come ad esempio il C++ o il Visual Basic, si ottengono risultati sicuramente più professionali, ma per incominciare ad usare questi linguaggi occorre molto tempo di studio, non solo per la comprensione del linguaggio in se stesso ma anche per l’utilizzo dei programmi accessori, editor, compilatori, ecc. Vediamo allora un piccolo esempio di programma in Gwbasic: supponiamo di voler far apparire in mezzo al video vuoto dieci righe con la scritta “CIAO” ognuno dei quali spostato, rispetto al precedente, di tre caratteri verso destra a partire da un certo punto. Potremmo scrivere: 10 REM *** Programma CIAO *** 20 CLS 30 X=5:Y=20 40 FOR T=1 TO 10 50 LOCATE X+T,Y+T*3 60 PRINT “CIAO” 70 NEXT 80 END : : : : : : : : ‘spiegazione ‘cancella il video ‘posizione iniziale ‘inizio ciclo ‘posizione di scrittura ‘scrittura di una frase ‘fine ciclo ‘fine programma Sembra incredibile ma abbiamo appena creato un programma. Un programma banale ed inutile, sicuramente, ma pur sempre un programma. All’inizio è di certo consigliabile non porsi nella condizione di voler fare un programma ‘seriò ma è bene fare programmini di prova, semplici, con cui verificare le proprietà e le regole del linguaggio, per analizzare i risultati che si ottengono. Se proprio però tali programmini vi sembrano troppo stupidi, potete comunque pensare a 48 Introduzione al Computer Massimo Bucchi programmi con una certa utilità (anche se modesti o già esistenti) provando e riprovando le varie possibilità. È comunque evidente che un programma altro non è che un insieme di istruzioni fornite alla macchina con una sequenza logica. Di programmi in commercio ne esistono migliaia e altrettanti se ne possono trovare con quelle licenze particolari di cui abbiamo già parlato (freeware, shareware, ecc.) facilmente reperibili in riviste specializzate o in Internet. In realtà, pur essendoci migliaia di programmi, quasi tutti possono essere classificati in determinate categorie: abbiamo così i programmi scientifici o per fare calcoli, di cui molto diffusi sono i cosiddetti fogli elettronici o spreadsheet. Hanno un grosso vantaggio, rispetto ad un programma già impostato per fare calcoli di un certo tipo predefinito, poiché possono essere impostati dall’utente per qualsiasi esigenza come tabelle, calcoli, dati statistici, dati economici e finanziari, grafici, diagrammi, ecc. Dai primi ormai dimenticati Visicalc, Multiplan, Lotus 1-2-3 ai moderni Excel, foglio di Works, foglio di Staroffice, ecc. importantissimi sono i programmi di gestione testi o videoscrittura detti word processor. Inizialmente introdotti per sostituire la macchina per scrivere, ben presto si sono 49 Introduzione al Computer Massimo Bucchi arricchiti di tantissime opzioni che li rendono preziosi: scrivere, salvare, stampare un testo, modificarlo infinite volte, cambiare i caratteri da corsivo a grassetto, sottolineare, cambiare il font (cioè la tipicità del carattere ma anche le dimensioni), allinearlo come si preferisce, inserire fotografie, disegni, didascalie, oggetti vari, ombreggiare o incorniciare una pagina, sono solo alcune delle centinaia di possibilità offerte dai moderni elaboratori di testo, fino ad arrivare all’impaginazione, editoria e pubblicazione di libri o giornali. Wordstar, Word Perfect, Word, Starwriter sono solo alcuni, tra centinaia, dei programmi esistenti per videoscrittura. collegabili ai programmi di videoscrittura sono quei programmi che permettono il riconoscimento vocale, la lettura di testi con scanner (OCR), i programmi di traduzione testi da una lingua ad un’altra. 50 Introduzione al Computer Massimo Bucchi va ricordata inoltre una vasta categoria che occupa una bella fetta del mercato dei programmi e che è quella dei giochi o videogames: dagli arcade (giochi d’azione), alle simulazioni (di guida, di volo, ecc.), di strategia, di adventure, educativi, ecc. Mi ripeto, ma mi preme rilevare che sarebbe un errore grave sottovalutare l’importanza del gioco nell’apprendimento e nello sviluppo di capacità tecnologiche. Quello dei giochi è il settore in cui sono state sperimentate alcune fra le tecnologie più innovative successivamente riprese in altri campi e che ha dato una svolta decisiva alla diffusione di massa dei personal computers. la grafica, il disegno, il fotoritocco rappresentano un altro grande filone dell’informatica spesso connesso al disegno tecnico (CAD), alla grafica vettoriale e a quella tridimensionale. 51 Introduzione al Computer Massimo Bucchi la gestione dell’audio, la creazione di musica, l’acquisizione e montaggio di video, l’editoria multimediale, ecc. rappresentano un altro grosso settore. con la diffusione di Internet moltissime tipologie di programmi si sono orientate alla rete. Nello stesso tempo, sono nati nuovi programmi destinati ad Internet: programmi per la navigazione detti browser, per la posta elettronica, per il trasferimento di dati (FTP), per l’ottimizzazione dei segnali telefonici, ecc. Riprenderemo con più attenzione questo argomento nel prossimo capitolo. per ultimo, anche se in realtà esistono molte altre categorie di programmi, consideriamo un importantissimo settore dell’informatica che è rappresentato dai database. Questo serve anche per ricollegarci agli argomenti citati nella nostra scaletta. Che cos’è un database? Potremmo genericamente dire che si tratta di un archivio, ma sarebbe riduttivo in quanto è più preciso affermare che per database s’intende un insieme di informazioni o dati, omogenei tra loro e organizzati in strutture. I dati possono essere di 52 Introduzione al Computer Massimo Bucchi qualsiasi natura, come ad esempio una collezione di monete, una biblioteca, una rubrica d’indirizzi, l’elenco telefonico, l’elenco clienti o fornitori di un’azienda, un magazzino di materiali, e così via. Per poter creare un database, tramite specifici programmi (dBase, Access, ecc.), è necessario rispettare alcune regole: innanzitutto i dati, come abbiamo già accennato, devono essere omogenei. Ciò significa che non possiamo mischiare in un unico archivio dati diversi, come ad esempio l’elenco telefonico con l’elenco di libri di una biblioteca, perché non ci sarebbe l’utilizzo delle stesse voci o, come tecnicamente vengono definiti, gli stessi campi (field). Un archivio è quindi composto da un certo numero di records, che contengono una scheda (ad es. un cliente), a sua volta composto da campi, ognuno di una certa lunghezza. La somma delle lunghezze, espresse in caratteri o byte, di tutti i campi fornisce la lunghezza complessiva del singolo record. L’insieme di tutti i record fornisce invece la dimensione dell’archivio. I programmi per la gestione di database permettono, in genere, di creare i record ed i campi con caratteristiche utili alle nostre esigenze. Ma la vera utilità di questi programmi non è tanto la possibilità di memorizzare, modificare o cancellare i vari dati, bensì la possibilità di manipolarli estraendone a richiesta alcuni, ricercando quei record che corrispondono a particolari requisiti, listare o stampare altri per noi interessanti, e così via. Ciò può avvenire perché tali programmi utilizzano particolari routines che attraverso uno specifico linguaggio di ricerca (query language) ed operatori logici booleani permettono di interrogare il database, estraendone le informazioni richieste. 53 Introduzione al Computer Massimo Bucchi Terminiamo dunque questo argomento e prepariamoci ad entrare nel nuovo millennio con il prossimo capitolo che tratterà delle reti locali e della rete delle reti: Internet. 54