Un po’ di storia
i linguaggi di programmazione nascono con la macchina di Von Neumann (macchina a programma memorizzato)
- i programmi sono un particolare tipo di dato rappresentato nella memoria della macchina
- la macchina possiede un interprete capace di fare eseguire il programma memorizzato, e quindi di implementare un qualunque algoritmo descrivibile nel “linguaggio macchina”
- un qualunque linguaggio macchina dotato di semplici operazioni primitive per effettuare la scelta e per iterare (o simili) è Turing-equivalente, cioè può descrivere tutti gli algoritmi
i linguaggi hanno tutti lo stesso potere espressivo, ma la caratteristica distintiva importante è il “quanto costa esprimere”
- direttamente legato al “livello di astrazione” fornito dal linguaggio