INF_cosa è informatica(1).

Transcript

INF_cosa è informatica(1).
L'informatica è un elemento essenziale della società moderna, non solo in quanto
necessaria al normale svolgimento di quotidiane attività, ma anche in quanto il suo
sviluppo plasma e determina quello dell'intera società. Non esiste campo dell'attività
umana in cui le scoperte dell'informatica non abbiano lasciato il segno. L'uso del
calcolatore è uscito dai campi tradizionali del calcolo scientifico per entrare in tutte le
aree della produzione industriale, dalla medicina all'editoria. Dall'applicazione
dell'informatica alle telecomunicazioni è nata, ad esempio, la "telematica", che ha
trasformato il modo di comunicare permettendo di collegare in rete calcolatori e
consentendo lo scambio immediato di documenti complessi, immagini e suoni.
L'informatica è un complesso di conoscenze scientifiche e tecnologiche che
permettono di utilizzare quello che si potrebbe chiamare il metodo informatico. Se il
metodo scientifico può essere riassunto nel formulare ipotesi che spieghino un
fenomeno e nel verificare tali ipotesi mediante l'esecuzione di esperimenti, il metodo
informatico consiste nel formulare algoritmi che risolvano un problema, nel
trasformare questi algoritmi in sequenze di istruzioni (programmi) per le macchine e
nel verificare la correttezza e l'efficacia di tali programmi analizzandoli ed
eseguendoli.
La realizzazione del metodo informatico richiede, dunque, conoscenze matematiche e
logico-deduttive, per proporre soluzioni precise e corrette e per realizzarle in un
linguaggio di programmazione, conoscenze ingegneristiche, che permettano di saper
modellare il problema in esame, di modulare la soluzione proposta sviluppandola con
tecniche che ne garantiscano la manutenibilità, conoscenze di carattere
interdisciplinare, per essere in grado di sviluppare strumenti per settori della società
tra i più disparati, e conoscenze di carattere etico, per capire le problematiche di
sicurezza, riservatezza e legalità che insorgono nello sviluppo di tali strumenti.
Da quanto tempo esiste la scienza Informatica?
L'informatica, considerata una delle scienze moderne per eccellenza, affonda in relatà
le radici nel passato. I "padri" dell'informatica sono solitamente considerati i due
studiosi del secolo scorso:
•
•
John Von Neumann (1903-1957), che ideò la cosiddetta architettura di Von
Neumann, sulla base della quale sono costruiti i moderni.computer
Alan Turing (1912-1954), ideatore del modello matematico detto macchina di
Turing, prototipo di ogni moderno sistema programmabile.
L'introduzione del personal computer, e quindi l'arrivo dell'informatica nelle case di
tutti, è invece un evento molto più recente: il primo PC fu costruito da Steve
Wozniak e Steve Jobs negli anni '70 in un garage nei dintorni di San Francisco. Gli
stessi due seguito fondarono la Apple.
Infine, la più grande rivoluzione informatica dei nostri tempi, cioè l'introduzione di
internet, risale anch'essa solo agli anni '70 dello scorso secolo: Vinton Cerf e
Robert Kahn hanno sviluppato e dimostrato per la prima volta nel 1972 la
funzionalita’ del protocollo TCP/IP, sul quale si basa la trasmissione delle
informazioni sulla rete. Provarono una connessione di 29 punti (computer in rete)
dopo circa un anno di preparazione. Oggi Internet conta milioni di punti. Nello stesso
anno Ray Tomlinson spedì il primo messaggio email della storia. Oggi, più di 500
milioni di messaggi di posta elettronica attraversano internet ogni giorno!
Cos'è l'Informatica?
Cosa studia l'Informatica? E' una domanda semplice, ma la risposta è complessa.
L'informatica affonda le proprie radici nella matematica, ma ormai è una scienza ben
distinta. Per capire quali sono i rapporti tra matematica e informatica, e quali sono
invece le peculiarità dell'informatica come scienza, è utile fare un semplice esempio.
Consideriamo un'operazione matematica semplicissima, che tutti noi sappiamno
eseguire: la moltiplicazione a due cifre. La matematica e l'informatica hanno due
punti di vista diversi sul problema della moltiplicazione a due cifre:
•
•
La Matematica si occupa di scoprire un procedimento per risolvere il
problema.
L'Informatica si occupa di codificare questo procedimento in un linguaggio
eseguibile da una macchina.
Se ci è noto un procedimento, possiamo spiegarlo ad un altra persona o a una
macchina
L'Informatica si occupa proprio di codificare la procedura matematica in maniera da
renderla comprensibile al computer. Perchè?
•
•
•
Perchè la macchina può eseguire la procedura molto più rapidamente
dell'uomo.
Perchè l'uomo può commettere errori nell'eseguire la procedura, mentre la
macchina la applicherà sempre in maneira corretta.
Perchè, lasciando i compiti più lunghi e ripetitivi alla macchina, l'uomo può
dedicarsi ad attività più utili.
Come spiegare a una macchina un (semplice) procedimento?
Proviamo a descrivere come si esegue la moltiplicazione a due cifre:
1. Prendi la cifra che sta in basso a destra e moltiplicala per la cifra che sta in alto
a destra
2. Scrivi il risultato sotto le due cifre considerate, solo se minore di 10
3. Altrimenti scrivi una cifra sotto le due ed una di riporto
4. ...
Anche la procedura per un'operazione così banale, composta da operazioni di base
molto semplici, può diventare piuttosto complicata e difficile da spiegare in
maniera corretta e non ambigua...
Perchè troviamo difficile descrivere in maniera esatta un procedimento che
sappiamo applicare in maniera semplice?
Tentando di descrivere il problema con il nostro linguaggio naturale, non siamo in
grado di specificarlo in maniera precisa, chiara e compatta. Il problema è che non
utilizziamo i giusti mezzi per risolvere un problema di informatica.
L'oggetto centrale dell'Informatica è l'algoritmo.
Un algoritmo è una descrizione completa e non ambigua di una procedura. Alla base
dell'Informatica c'è proprio la capacità di dare una descrizione algoritmica di ogni
problema. Gli algoritmi, infatti, possono essere "insegnati" alle macchine.
Alla base dell'informatica, dunque, non c'è il computer, bensì concetti come, ad
esempio:
•
•
•
•
Le tecniche di progettazione algoritmica
Le metodologie di modellazione del software
I linguaggi di programmazione
I compilatori
Per l'informatica, il computer è solo lo strumento che esegue algoritmi.
Ma non basta uno sistema meno complicato per eseguire in maniera automatica
una procedura semplice?
Che bisogno c'è degli algoritmi? Sebbene fin qui abbiamo parlato di opeazioni
semplici, gli algoritmi possono codificare procedure di qualsiasi complessità e non
soltanto legate a operazioni matematiche, come ad esempio:
•
•
•
•
•
Risolvere un'equazione di secondo grado.
Mantenere in ordine alfabetico un insieme di informazioni (persone,
definizioni, ...).
Trovare il percorso più breve tra due località.
Mantenere la posizione dell'aereo in equilibrio rispetto alle condizioni
circostanti.
Permettere il collegamento efficiente e veloce di due computer distanti
(internet).
Gli algoritmi servono quindi solo a programmare i computer?
In realtà ogni oggetto elettronico, come ad esempio un telefono cellulare, è
programmato con algoritmi specifici. La differenza tra il computer e questi strumenti
elettronici è nella capacità di un computer di apprendere nuovi algoritmi ed
eseguirli quindi autonomamente. A nessun altro strumento possiamo far svolgere
un nuovo compito, mentre i compiti di un computer sono tutti da definire e
progettare (programmare), grazie agli algoritmi.
Riassumendo, cos'è (e cosa non è) l'Informatica?
L'informatica è...
L'informatica non è...
• La scienza che studia i processi per
• La tecnica per montare e smontare i
la risoluzione dei problemi.
computer.
• La
scienza del ragionamento
• La
conoscenza di particolari
automatico.
pacchetti software.
• La tecnica per installare il software.
• La scienza che ha come principale
• L'abilità di navigare su Internet.
applicazione il mondo dei
• La conoscenza di tutti i linguaggi di
computer e del software (linguaggi,
programmazione.
algoritmi,
architetture, applicazioni, interfacce
, web).
•
Non è solo programmare.