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}}
== 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==
|