Macchina dedicata
Una macchina progettata per svolgere un compito specifico.
La macchina riceve i dati e svolge le operazioni prestabilite per ottenere la risposta.
La maggior parte degli elettrodomestici sono macchine dedicate: calcolatrice tascabile, ascensore, lavatrice, decoder, …
Macchina onnipotente
All’estremo opposto una macchina capace di rispondere a richieste di qualsiasi tipo, di risolvere qualsiasi problema…
Macchina programmabile
Una macchina che può essere istruita, tramite un certo programma, per risolvere un certo problema.

Esempi: computer tradizionale, calcolatrice programmabile, console per videogiochi con cartucce intercambiabili, …
Algoritmo
Ogni esecutore ha un insieme diverso di istruzioni ma i problemi sono sempre gli stessi…
È utile separare la fase di risoluzione del problema dalla scrittura dellle istruzioni.
In questo modo lo stesso metodo risolutivo, algoritmo, può essere tradotto in innumerevoli programmi.
Si introducono due figure: il risolutore e il programmatore
- Il risolutore svolge il lavoro più difficile, individuare l’algoritmo per il problema….
- Il programmatore traduce l’algoritmo in programma utilizzando un ambiente di sviluppo per un certo linguaggio di programmazione.
Compilatore
Tra il programma e l’esecutore, compaiono il file sorgente e il file oggetto.
Il programmatore utilizza
- l’editor per scrivere il file sorgente
- il compilatore per tradurre da alto livello a basso livello e produrre il file oggetto.
Il compilatore può produrre un file oggetto compatibile con una certa piattaforma.
Linguaggi di programmazione compilati: C/C++, COBOL, FORTRAN, Pascal, …