Linguaggio di programmazione ad alto livello: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
In [[informatica]], un '''linguaggio di programmazione ad alto livello''' è un linguaggio di programmazione diverso dal [[linguaggio macchina]] direttamente eseguibile da un [[computer]]; i [[programma|programmi]] scritti in un linguaggio possono essere eseguiti solo tramite un [[compilatore]], un [[interprete (informatica)|interprete]], o una combinazione di questi strumenti. In entrambi i casi, l'idea di fondo è che i programmi ad alto livello possono essere ricondotti a programmi in linguaggio macchina in modo automatico, ovvero da un altro programma. Un'idea del genere è già sottesa dai linguaggi [[assembly]], che tuttavia non sono altro che "translitterazioni" dei corrispondenti linguaggiolinguaggi macchina, a cuiche per esempio viene fattofanno corrispondere un codice mnemonico (quindi più leggibile) a ogni codice di istruzione binario. Nel caso dei linguaggi di programmazione ad alto livello, però, il processo di traduzione può avere una complessità arbitraria, per cui il linguaggio ad alto livello può essere anche ''completamente diverso'' (per [[sintassi (informatica)|sintassi]] e [[semantica (informatica)|semantica]]) dal sottostante linguaggio macchina.
 
Quest'idea rivoluzionaria fu introdotta in informatica negli [[anni 50|anni '50]], soprattutto grazie al lavoro di [[John Backus]] presso la [[IBM]], dove fu sviluppato il primo compilatore per il linguaggio [[FORTRAN]]. Poche altre innovazioni in informatica hanno avuto conseguenze di portata paragonabile. In sostanza, la programmazione ad alto livello ebbe l'effetto di svincolare completamente (o quasi) le caratteristiche dei linguaggi di programmazione da quelle dell'[[hardware]] destinati a eseguirli. Fra le conseguenze principali si possono elencare le seguenti: