Linguaggio di programmazione ad alto livello: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
{{F|linguaggi di programmazione|ottobre 2012}}
In [[informatica]], unUn '''linguaggio di programmazione ad alto livello''', in informatica, è un [[linguaggio di programmazione]] caratterizzato da una significativa [[Astrazione (informatica)|astrazione]] dai dettagli del funzionamento di un [[computer|calcolatore]] e dalle caratteristiche del [[linguaggio macchina]]. I linguaggi di programmazione ad alto livello sono progettati per essere facilmente comprensibili dagli esseri umani, fino a includere alcuni elementi del [[linguaggio naturale]]. Per essere eseguiti da un calcolatore, i programmi scritti in linguaggio ad alto livello devono essere ''tradotti'' o ''interpretati'' da un altro programma.
 
== Cenni storici ==
L'idea di un linguaggio automaticamente "traducibile" in linguaggio macchina, ma più vicino alla logica umana fu introdotta in informatica negli [[anni 1950|anni cinquanta]], soprattutto grazie al lavoro di [[John Backus]] ([[IBM]]), a cui si deve il primo linguaggio ad alto livello ad avere avuto ampia diffusione, il [[Fortran]]. Per questa innovazione Backus ha ricevuto il [[premio Turing]].
 
== Caratteristiche ==
Sono progettati per essere facilmente comprensibili dagli esseri umani, fino a includere alcuni elementi del [[linguaggio naturale]]. Per essere eseguiti da un calcolatore, i programmi scritti in linguaggio ad alto livello devono essere ''tradotti'' o ''interpretati'' da un altro programma.
 
In generale, la maggior parte dei linguaggi di programmazione ad alto livello moderni conserva alcuni concetti di fondo che è possibile ricondurre ad alcune caratteristiche tipiche del linguaggio macchina. Concetti come quelli di [[variabile (informatica)|variabile]] e [[assegnamento]] sono una versione [[astrazione (informatica)|astratta]] dello spostamento di dati fra [[cella di memoria|celle di memoria]]; e il fatto che il paradigma di programmazione dominante sia quello [[programmazione imperativa|imperativo]] si può facilmente giustificare con la considerazione che anche i linguaggi macchina ''sono'' imperativi.
 
== Descrizione ==
Riga 18 ⟶ 24:
* i linguaggi di programmazione ad alto livello ebbero un'evoluzione completamente indipendente da quella dell'hardware; lo scopo generale di tale evoluzione fu quello di rendere tali linguaggi sempre più "facili" da utilizzare per il [[programmatore]] umano;
* si introdusse il concetto che i linguaggi di programmazione e i programmi potessero essere [[portabilità|portabili]], ovvero eseguibili su diversi computer (a patto di disporre di compilatori o interpreti per tali computer).
 
In generale, la maggior parte dei linguaggi di programmazione ad alto livello moderni conserva alcuni concetti di fondo che è possibile ricondurre ad alcune caratteristiche tipiche del linguaggio macchina. Concetti come quelli di [[variabile (informatica)|variabile]] e [[assegnamento]] sono una versione [[astrazione (informatica)|astratta]] dello spostamento di dati fra [[cella di memoria|celle di memoria]]; e il fatto che il paradigma di programmazione dominante sia quello [[programmazione imperativa|imperativo]] si può facilmente giustificare con la considerazione che anche i linguaggi macchina ''sono'' imperativi.
 
==Modelli di esecuzione==