vuoi
o PayPal
tutte le volte che vuoi
linguaggi di basso livello e
di alto livello.
I linguaggi di programmazione differiscono dai linguaggi
naturali per una loro ma per una
minore espressività maggiore
in generale sono semplici e poveri (poche regole e
precisione:
parole chiave) ma privi di ambiguità.
Non è facile classificare i linguaggi di programmazione, ma
una prima distinzione, che indirettamente abbiamo già proposto e
negli esempi precedenti, è quella tra i linguaggi di basso livello
quelli Ogni processore ha un proprio linguaggio
di alto livello.
articolato in un insieme di istruzioni macchina i cui codici
numerici sono interpretati come operazioni elementari (per
esempio il caricamento di un registro interno al processore con
un numero, oppure la somma tra il valore contenuto in una
locazione di memoria e il valore contenuto in un registro del
processore). Questo tipo di linguaggio, molto distante dall’usuale
modo di ragionare dell’uomo, comporta un lavoro complesso per
l’implementazione degli algoritmi. Inizialmente questo era l’unico
modo per programmare un computer: è per migliorare questo
stato di cose che si realizzarono linguaggi intermedi basati su
una codifica simbolica delle istruzioni macchina.
Un programma codificato mediante un linguaggio diverso dal
linguaggio delle istruzioni macchina non è più direttamente
eseguibile dal processore del computer: richiede una fase di
traduzione del codice originale, il programma sorgente, in una
sequenza di istruzioni del linguaggio macchina, il programma
oggetto o eseguibile. assembly
Il primo linguaggio di questo tipo è stato l’ , in cui per
ogni singola istruzione macchina viene usato uno specifico codice
mnemonico: anche se garantiva una relativa semplificazione del
lavoro, il livello di riferimento era ancora quello del processore
del computer. La necessità di astrarre l’implementazione degli
algoritmi dalla logica di funzionamento dei processori ha portato
orientati non più al
ai cosiddetti linguaggi di alto livello,
funzionamento della macchina, ma alla risoluzione di problemi.
Questi linguaggi, essendo virtualmente indipendenti da uno
specifico processore con le sue particolari istruzioni, hanno
consentito di scrivere software portatile, permettendo l’utilizzo
di uno stesso codice sorgente su computer di tipo diverso.