Indice
unità C1 - Informatica: evoluzione e software
Premessa: il tema di questa unità è l'evoluzione dell'informatica, sia dal punto di vista dell'hardware che del software. Questo argomento, molto importante per gli studenti dell'indirizzo Informatica, interessa solo marginalmente gli studenti diElettronica. Per questo motivo la sua trattazione su questi appunti sarà molto veloce.
C1.1 Informatica ed energia
L'informatica studia l'elaborazione automatica delle informazioni.
In questa definizione:
- informazioni significa un insieme di dati
- elaborazione significa trasformazione dei dati
- automatica significa senza l'intervento dell'uomo
C1.2 L'evoluzione dell'informatica
Fin dall'antichità sono state costruite macchine in grado di aiutare, e in seguito sostituire, l'uomo nell'elaborazione delle informazioni. Ad esempio per eseguire calcoli matematici si è passati dall'abaco alle calcolatrici meccaniche di Pascal e Leibnitz. In seguito si è ipotizzato di creare delle macchine programmabili il cui comportamento poteva essere modificato per svolgere compiti diversi. La realizzazione di queste macchine non è stata possibile fino all'avvento dell'elettronica quando, utilizzando le valvole termoioniche, sono stati costruiti i primi computer:
- il Colossus, costruito dagli inglesi al termine della seconda guerra mondiale per decifrare il codice Enigma utilizzato dai nazisti
- l'ENIAC, utilizzato negli Stati Uniti per calcoli balistici
Questi primi computer avevano molti difetti:
- erano enormi e costosissimi
- consumavano moltissimo
- si rompevano in continuazione
- venivano programmati utilizzando schede perforate o spostando interruttori
Negli anni successivi l'enorme progresso nel campo dell'elettronica ha rivoluzionato il mondo dei computer:
- i transistor hanno sostituito le valvole permettendo di ridurre costi, ingombri e consumi e aumentando l'affidabilità
- i supporti magnetici (dischi e nastri) sono stati utilizzati per memorizzare grandissime quantità di dati in poco spazio
- i circuiti integrati (chip) hanno permesso di miniaturizzare i componenti elettronici e diminuire drasticamente il costo dei dispositivi elettronici
I computer, un tempo prodotti in esemplari unici ed utilizzati solo in ambito militare, sono diventati prodotti commerciali introdotti prima nelle aziende e nelle istituzioni e infine, dagli anni '80, nelle nostre case con i personal computer.
C1.3 I linguaggi informatici
Un algoritmo è il procedimento con cui si risolve un problema. Un algoritmo può essere espresso con un linguaggio di programmazione per essere eseguito da un computer; questa operazione si chiama codifica.
Si distingue tra linguaggi di programmazione:
- di basso livello, come il linguaggio macchina fatto di soli
0
e1
e direttamente eseguibile dal computer o come il linguaggio assembly, che sono difficilmente interpretabili dalle persone - di alto livello, più simili al linguaggio umano ma che devono essere tradotti o interpretati per essere eseguiti dal computer (ad esempio Java, C, Pascal, C#, Python)
C1.4 L'evoluzione dei linguaggi di programmazione
I primi computer venivano programmati in linguaggio macchina o in assembly. In seguito hanno preso piede i linguaggi di alto livello, in particolare:
- il Fortran per le applicazioni scientifiche
- il Cobol per quelle finanziarie
- il C per i sistemi operativi
- Pascal e Basic per la didattica
- C++, C# e altri per le applicazioni desktop
- Java e Objective-C per gli smartphone
- Java, Javascript, PHP, Python e altri per le applicazioni web
C1.5 Le fasi di creazione di un programma
Il codice sorgente è un normale file di testo e contiene la serie di istruzioni che formano il programma. Per ottenere il programma eseguibile sul computer bisogna usare un programma detto compilatore che traduce il codice sorgente nel linguaggio macchina.
C1.6 Gli ambienti di sviluppo
I programmatori utilizzano:
- gli IDE o ambienti di sviluppo integrati, un tipo di software che permette di scrivere, compilare e testare agevolmente i programmi
- i framework, che permettono di creare rapidamente del software riutilizzando codice già scritto per realizzare quelle funzioni comuni a tutti i programmi
- gli SDK (pacchetti di sviluppo per applicazioni), che contengono tutti gli strumenti per sviluppare del software per una certa piattaforma (ad es. SDK Android, SDK iOS)
C1.7 Ciclo di vita del software
Ci sono varie fasi nella realizzazione di un software: pianificazione → analisi → progettazione → codifica → debug → installazione → manutenzione
Navigazione
Torna all'indice.