Ada, uno dei linguaggi più innovativi della storia informatica
Scritto da Fabrizio Pani il 11-09-2006 ore 16:43
Ada è un linguaggio di programmazione ad alto livello creato nel lontano 1977 dal Dipartimento della Difesa (DoD) americano in onore di Ada Lovelace, figlia di Lord Byron e della matematica Annabella Milbanke, che la costrinse a studiare matematica, terrorizzata dall'idea che la figlia potesse dedicarsi alla poesia, seguendo così le orme del padre.
Ada nasce per essere usato in quei contesti in cui non è tollerabile un crash, ovvero in ambito militare ed in particolar modo nell'aviazione. Nessun linguaggio di allora era sicuro se usato per questi scopi, fu quindi creato il linguaggio Ada assieme al primo e migliore sistema di gestione delle eccezioni e ad un forte controllo sui tipi, sia in compilazione che a runtime, per assicurarsi di gestire elegantemente input errati, overflow e sconfinamenti di array.
In seguito le caratteristiche del linguaggio sono state estese per poter essere adoperate per qualsiasi tipo di applicazione, non necessariamente in sistemi embedded e/o realtime. Ada che fu uno dei primi linguaggi ad implementare i generics e con il documento ISO-8652:1995 comunemente chiamato Ada 95, anche il primo linguaggio orientato agli oggetti standardizzato.
In attesa delle prossime specifiche, che verranno pubblicate nel 2007, nella recente revisione Ada 2005 sono state introdotte le interfacce, al fine di consentire l'ereditarietà multipla e vi sono dei miglioramenti nelle funzioni di libreria per il tempo e il calendario, il trattamento delle stringhe ed i container. Ecco
una matrice delle funzionalità dei vari standard.
Nel 2001 fu rilasciato il primo compilatore Ada open source, e multipiattaforma: GNAT. L'ultima versione, GNAT 2006, supporta le più recenti specifiche e può essere scaricata liberamente presso The Libre Site, dove si trovano anche il GNAT Programming Studio, GTKAda, il toolkit grafico che si basa appunto sulle librerie GTK+ e AWS (Ada Web Server), che è stato creato più che altro per controllare un'applicazione da un'interfaccia Web. C'è anche PolyORB, un middleware per sviluppare applicazioni distribuite fondate su CORBA, SOAP, Ada Distributed System Annex (l'alternativa al Common Object Request Broker Architecture), e per sviluppare Web Service o implementare un proprio specifico middleware. Vi è poi XML/ADA per il parsing di documenti XML.
Un altro pacchetto essenziale è Win32Ada, il binding per utilizzare le API di Windows.
Gli strumenti di cui sopra sono disponibili unicamente per chiunque voglia sviluppare applicazioni sotto licenza GPL, previa registrazione gratuita, altrimenti si deve acquistare la versione commerciale GNAT Pro.
Per chi vuole imparare questo linguaggio, segnalo il tutorial A guide for C and C++ programmers e, se non si proviene dal C, il commestibile Quick Ada. In Rete si trovano anche alcuni libri scaricabili
http://www.adahome.com/Ammo/Cplpl2Ada.htmlhttp://www.computer-books.us/ada95.php