Storia del Linguaggio di programmazione

ADA

 

Presentazione linguaggio ADA

 

Battezzato in onore di lady Ada Lovelace, la prima programmatrice della storia, ADA è un linguaggio high-level studiato specificatamente per sviluppare applicazioni dove la correttezza, sicurezza, affidabilità e manutenibilità fossero di primaria importanza.

ADA, nella sua versione più moderna (ADA 95), è un linguaggio industriale usato in tutto il mondo dalle aviazioni, comunicazioni, spazio, trasporti, eserciti e nei controlli di processi industriali. ADA è spesso il software che rende sicura la vita in applicazioni che fanno volare la maggior parte dei passeggeri di compagnie aeree private, così come nel controllo del traffico aereo da terra.

ADA si trova in treni ad alta velocità, sistemi di metropolitane, celle telefoniche e barche da crociera.

Recentemente ADA è migrato anche nel settore medico, dell'energia, finanziario e nei domini Internet. A causa della sua affidabilità, ADA è anche utilizzato per ordinare film tramite tv via cavo.

Laddove un errore di software può costare vite umane o forti perdite finanziarie, dunque, ADA è la scelta giusta.

 

Il linguaggio ADA è stato inizialmente sviluppato per rispondere alle esigenze di sistemi militari "mission critical".

Il controllo durante la battitura del programma è importante per ridurre in modo significativo gli errori più comuni, costringendo a mappare in modo esplicito gli oggetti ai loro tipi corrispondenti. L'elaborazione delle eccezioni consente di gestire condizioni hardware e software pericolose incontrate durante l'esecuzione, facilitando il ritorno ad un livello di sicurezza noto. La struttura del linguaggio contiene meccanismi atti a migliorare l'ingegnerizzazione del software e la qualità finale del programma.

Il principale aggiornamento del linguaggio è avvenuto nel 1995, con l'uscita di ADA 95.

I principali miglioramenti comprendono il pieno utilizzo di tecniche object-oriented (OOP), dispositivi per la distribuzione dei carichi di elaborazione in tempo reale (come il multi-threading, protected objects, alternative scheduling models) e il supporto per la gestione di programmi molto ampi, sui quali debbano agire più programmatori contemporaneamente. E' pensato per lavorare bene in ambienti multi-linguaggio e dispone di standard per interfacciarsi con altri linguaggi e facilitare il riutilizzo delle parti già scritte.

 

La nascita di ADA

 

Il linguaggio ADA è il risultato dello sforzo di progettazione più esteso e costoso mai intrapreso.

Fino al 1974 metà delle applicazioni del Dipartimento della Difesa USA (DoD) erano sistemi integrati.

Un sistema integrato è quello in cui l'hardware del computer è legato con i dispositivi che controlla.

Più di 450 linguaggi erano stati usati per implementare differenti progetti, ma nessuno di essi era standardizzato. Per questo motivo il software era raramente riutilizzato. Allora, l'esercito, la  marina e l'aeronautica proposero di sviluppare un linguaggio di alto livello per sistemi integrati.

 

Nel 1977 fu creata una serie completa di specifiche per ADA.

Nel febbraio del '77 la fase 1 del disegno del progetto fu completata. In aprile 4 fornitori presentarono le loro soluzioni. Subito dopo ci furono 2 mesi di valutazione dove 400 volontari suddivisi in 80 gruppi scelsero due dei 4 fornitori che avevano proposto una soluzione.

A queste due compagnie venne dato il mandato di proseguire con la fase 2 del progetto.

Al termine della fase 2  ci furono altri due mesi di valutazione. In maggio del '70 il Cii Honeywell/Bull (unico fornitore straniero) fu scelto come miglior progetto.

La fase 3 iniziò subito dopo e il disegno del progetto fu pubblicato dall'ACM. In novembre '79 furono ricevute più di 500 segnalazioni sul linguaggio da 15 differenti nazioni. La maggior parte erano suggerimenti per piccole modifiche, nessuno veramente importante.

Sulla base di queste critiche venne fatta una revisione del linguaggio, pubblicata poi in febbraio '80.

Dopo ancora piccoli cambiamenti in alcuni anni successivi, la versione ufficiale finale fu definitiva.

Il linguaggio ADA venne quindi surgelato per i successivi 5 anni.

 

Le funzioni principali del linguaggio ADA

 

Packages: tipi di dati, oggetti e specifiche di procedure possono essere incapsulati in un package. Ciò consente il disegno di programma con astrazione di dati.

Excpetion handling: ADA ha ottime capacità di gestire le eccezioni, il chè consente al programma di gestire i suoi errori di run-time.

Generic program units: è possibile scrivere una procedura (per esempio un sort) che non richieda l'indicazione del tipo di dati.

Parallel/Concurrent processing: ADA supporta l'esecuzione di task paralleli e concorrenti.

ADA 95 ha inoltre:

- supporto per programmazione object oriented

- librerie più flessibili

- migliore controllo dei dati condivisi

 

Aree applicative per linguaggio ADA

 

- DoD (Governo e Dipartimento della Difesa)

- sistemi bancari

- aviazione commerciale

- sistemi di comunicazione

- CAD (disegno tecnico)

- Produzione (controllo di processi)

 


Esempi di programmi ADA:

 

1) Hello world

 

 

with Text_To; use Text_To

procedure hello is

begin


put("Hello World");


end hello

2) Somma in una schiera (packaging e array processing)

package ArrayCalc is

type Mydata is private;

function sum return integer;

procedure setval(arg:in integer);

private


size: constant:= 99;


type myarray is array(1..size) of integer;


type Mydata is record

val: myarray;

sz: integer := 0;

end record;

v: Mydata;


end;


package body ArrayCalc is

function sum return integer is


temp: integer;

-- Body of function sum

begin

temp := 0;

for i in 1..v.sz loop

temp := temp + v.val(i);

end loop;

v.sz:=0;

return temp;


end sum;

procedure setval(arg:in integer) is

begin

v.sz:= v.sz+1;

v.val(v.sz):=arg;

end setval; end;


with Text_IO; use Text_IO;

with ArrayCalc; use ArrayCalc;

procedure main is

k, m: integer;


begin -- of main


get(k);

while k>0 loop

for j in 1..k loop


get(m); put(m,3);

setval(m);

end loop;

new_line; put("SUM =");


put(ArrayCalc.sum,4);


new_line; get(k);

end loop;

end;
 

Links d'approfondimento per ADA

 

 

 

 

 


Introduzione alla Storia Computer e Informatica

Cronologia ed evoluzione hardware

Protagonisti e inventori

Storia Linguaggi programmazione e Sistemi Operativi

Storia computer IBM

Storia computer Microsoft

Storia computer Apple

Evoluzione Interfacce grafiche

Storia Internet e reti

Storia Linux

Approfondimenti e articoli vari su computer e informatica

Altri link sul tema dei vecchi computer

Breve corso di grafica al computer e ritocco fotografico

Glossario dei termini informatici

Storia dei Giochi e videogiochi al Computer

Corsi online e videocorsi

Racconto di Attilio Romita
"Computer, Ordinateur, Elaboratori ... Forse Cervelloni!"

 

 

 

 


 

 

 

 Selezione di libri su computer e informatica 

Bambini e computer. Alla scoperta delle Bambini e computer. Alla scoperta delle nuove tecnologie a scuola e in famiglia  
Etas
€ 18,00  
C'era una volta un computer C'era una volta un computer 
Zuddas Gianluigi, Larcher
€ 10,00  
Computer no problem. Soluzioni ai proble Computer no problem. Soluzioni ai problemi più comuni del tuo pc  
Future Media Italy
€ 8,90  
computer partendo da zero. Vol. 1 Il computer partendo da zero. Vol. 1
Scozzari Giuseppe, Edizionifutura.Com
€ 28,50  
computer partendo da zero. Vol. 2 Il computer partendo da zero. Vol. 2
Scozzari Giuseppe, Edizionifutura.Com
€ 28,50  
Computer sicuro. La guida Symantec contr Computer sicuro. La guida Symantec contro spyware, worm, virus, spam e intrusi nel tuo PC  
Conry-Murray Andrew; Weafer Vincent, Mondadori Informatica
€ 16,20   (Prezzo di copertina € 18,00  Sconto 10%)
Cosa c'è dentro il computer? Cosa c'è dentro il computer?  
Schuhl Alain, Dedalo
€ 6,38   (Prezzo di copertina € 7,50  Sconto 15%)
ECDL. La patente europea del computer. M ECDL. La patente europea del computer. Manuale
Alpha Test
€ 22,80  
Fondamenti di reti di computer Fondamenti di reti di computer  
Hallberg Bruce A., McGraw-Hill Companies
€ 25,08   (Prezzo di copertina € 29,50  Sconto 15%)
libro dei piccoli computer. Telefoni, GP Il libro dei piccoli computer. Telefoni, GPS, notebook e altri dispositivi portatili  
MacRae Kyle, Mondadori Informatica
€ 15,92   (Prezzo di copertina € 19,90  Sconto 20%)
Metti le mani nel computer Metti le mani nel computer
Edibrico
€ 13,00  
mio primo computer Il mio primo computer  
Magid Lawrence J., Mondadori Informatica
€ 15,04   (Prezzo di copertina € 18,80  Sconto 20%)
patente europea del computer. Test e qui La patente europea del computer. Test e quiz. Versione Office XP. Con CD-ROM  
Pezzoni Sergio; Pezzoni Paolo; Vaccaro Silvia, Mondadori Informatica
€ 10,88   (Prezzo di copertina € 12,80  Sconto 15%)
Windows XP. Computer e internet per i ba Windows XP. Computer e internet per i bambini. Con CD-ROM  
Future Media Italy
€ 9,90