|
Storia del linguaggio ALGOL
ALGOL (ALGOrithmic Language) è uno dei vari linguaggi di alto livello
disegnato specificatamente per programmare calcoli scientifici.
Fu iniziato verso la fine degli anni '50, dapprima formalizzato in un
rapporto intitolato ALGOL 58 e quindi migliorato fino a diventare ALGOL
60 e poi ALGOL 68.
Fu progettato da un comitato internazionale con l'obiettivo di creare un
linguaggio universale.
Nelle conferenze che si tennero a Zurigo venne posta in particolare
rilievo la portabilità del linguaggio.
L'indipendenza dalla macchina da parte di ALGOL concedeva maggiore
creatività ai progettisti, ma rendeva più difficoltosa la sua
implementazione. Benché ALGOL non abbia mai raggiunto la popolarità
commerciale di FORTRAN o COBOL, è considerato il più importante
linguaggio della sua epoca in termini d'influenza sui linguaggi
sviluppati successivamente.
La struttura del lessico e della sintassi di ALGOL divennero così
popolari che virtualmente ogni altro linguaggio progettato da allora si
dice sia stato "ALGOL - like", ovvero con strutture gerarchiche e
connessioni sia all'ambiente che alle strutture di controllo.
ALGOL è stato il primo linguaggio di programmazione di seconda
generazione, con caratteristiche che hanno distinto tutta quella
generazione.
In ALGOL 60 viene introdotta la struttura a blocchi, ovvero la
possibilità di creare blocchi di istruzioni per le variabili ed espansa
l'influenza di istruzioni di controllo. Inoltre sono forniti due nuovi
metodi per passare parametri a sottoprogrammi: chiamate per valore e
chiamate per nome. Vengono inoltre fornite istruzioni di controllo
strutturate di tipo if - then - else, il controllo delle iterazioni e il
concetto di ricorsività, cioè la capacità di una procedura di richiamare
sé stessa.
ALGOL è forse il linguaggio più "ortogonale" mai scritto, in quanto
dispone di un numero relativamente piccolo di costrutti di base e un set
di regole per combinare i costrutti. Ciascun costrutto ha un tipo ad
esso associato e non ci sono restrizioni di tipi. In più, la maggior
parte dei costrutti è in grado di produrre valori. Altre caratteristiche
sono:
- Dynamic Arrays: il range del suffisso è specificato da variabili,
cosicché l'ampiezza viene impostata nel momento di allocare memoria.
- Parole riservate: i simboli usati per parole chiave non sono usabili
come identificatori
- User defined data types: consente all'utilizzatore di disegnare dati
astratti che rispondano a particolari esigenze
Aree di applicazione di ALGOL
ALGOL è stato utilizzato in particolare da scienziati europei e
americani interessati a ricerche sui computer. La sua applicabilità in
applicazioni commerciali è stata interdetta dall'assenza di funzioni
standard per l'input/output e dalla mancanza di interesse da parte dei
principali vendors. ALGOL 60 divenne comunque lo standard per la
pubblicazione di algoritmi ed ebbe un profondo effetto nello sviluppo
dei successivi linguaggi.
Esempi di programmi Algol:
1) Hello World
BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11]; REPLACE E BY "HELLO WORLD!";
WHILE TRUE DO
BEGIN
WRITE (F, *, E);
END;
END.
|