Storia della programmazione: i linguaggi principali... dal Fortran a Java
All'inizio, negli anni '40, l'unico metodo per programmare era il linguaggio macchina, in altre parole il lavoro del programmatore era quello di settare ogni singolo bit a 1 o 0 su enormi computer che occupavano stanze intere e pesavano decine di tonnellate; si capisce che questo tipo di procedimento, non solo era faticoso, ma era riservato ad una cerchia ristretta di persone.
E quello che può essere considerato il progenitore di tutti i computer è sicuramente l'ENIAC (Electronic Numerical Integrator And Calculator ), un mastodontico calcolatore pesante 30 tonnellate, al cui progetto partecipò il brillante matematico J. von Neumann.
Pochi anni dopo il 1950, con il progresso tecnologico e la riduzione delle
dimensioni e dei costi dei calcolatori, nacquero due importanti linguaggi di
programmazione, il FORTRAN (FORmula TRANslator), il cui utilizzo era ed
è prettamente quello di svolgere in maniera automatica calcoli matematici e
scientifici, e l'ALGOL (ALGOrithmic Language), altro linguaggio per
applicazioni scientifiche sviluppato da Backus (l'inventore del FORTRAN) e da
Naur, i quali oltretutto misero a punto un metodo per rappresentare le regole
dei vari linguaggi di programmazione che stavano nascendo.
Nel 1960 venne presentato il COBOL (COmmon Business Oriented Language),
ideato per applicazioni nei campi dell'amministrazione e del commercio, per
l'organizzazione dei dati e la manipolazione dei file.
Nel 1964 fa la sua comparsa il BASIC, il linguaggio di programmazione per
i principianti, che ha come caratteristica fondamentale quella di essere molto
semplice e, infatti, diventa in pochi anni uno dei linguaggi più utilizzati al
mondo.
Intorno al 1970, però, Niklus Wirth pensò bene di creare il PASCAL per
andare incontro alle esigenze di apprendimento dei neo-programmatori,
introducendo però la possibilità di creare programmi più leggeri e
comprensibili di quelli sviluppati in basic. Si può affermare con certezza che
Wirth ha centrato il suo obiettivo, considerando che ancora oggi il Pascal viene
usato come linguaggio di apprendimento nelle scuole.
Pochi anni più tardi fa la sua comparsa il C (chiamato così perché il
suo predecessore si chiamava B), che si distingueva dai suoi predecessori per il
fatto di essere molto versatile nella rappresentazione dei dati. Il C, infatti,
ha delle solide basi per quanto riguarda la strutturazione dei dati, però può
apparire come un linguaggio assai povero vista la limitatezza degli strumenti a
disposizione. Invece la sua forza risiede proprio in questi pochi strumenti che
permettono di fare qualsiasi cosa, non a caso viene considerato "il
linguaggio di più basso livello tra i linguaggi ad alto livello", per la
sua potenza del tutto paragonabile al linguaggio macchina, mantenendo però
sempre una buona facilità d'uso.
Ma la vera rivoluzione si è avuta nel 1983 quando Bjarne Stroustrup inventò il
C++ (o come era stato chiamato inizialmente "C con classi") che
introduceva, sfruttando come base il C, la programmazione Orientata agli Oggetti
(OO - Object Oriented) usando una nuova struttura, la classe.
Il concetto di classe è semplice, dividere l'interfaccia dal contenuto,
ottenendo in questo modo tanti "moduli" interagibili tra loro
attraverso le interfacce, permettendo così al programmatore di cambiare il
contenuto di una classe (se sono stati trovati errori o solo per introdurre
delle ottimizzazioni) senza per questo doversi preoccupare di controllare
eventuale altro codice che richiami la classe. Come si può intuire tale
linguaggio ha completamente stravolto il modo di programmare precedente ad esso
che, sostanzialmente, si riduceva ad una programmazione procedurale che lasciava
poco spazio al riutilizzo del codice; basti pensare all'utilizzo del GOSUB
nel Basic che su migliaia di righe di codice creava naturalmente confusione, o
al Pascal nel quale una variabile (e il suo tipo) deve essere dichiarata prima
di essere usata.
Insomma il C++ è riuscito a creare un nuovo modo di programmare, o meglio di
progettare un programma, rendendo il codice scritto più chiaro e soprattutto
"riutilizzabile", ed è grazie a lui che oggi possiamo usare le
finestrine colorate di Windows che ci piacciono tanto.
Altri linguaggi di programmazione da menzionare sono il LISP (1959), l'ADA
(1970), lo SMALLTALK (1970) e il LOGO. Negli ultimi cinque anni,
inoltre, si sono fatti strada linguaggi di programmazione come il JAVA,
linguaggi di scripting come l'ASP e il PHP; i "vecchi"
linguaggi, come il basic, il Pascal o il C++, sono diventati "VISUALI"
e hanno aperto la strada ad una programmazione più intuitiva e veloce.
Cosa è Java
Java è un linguaggio di programmazione nato negli anni novanta, e destinato a diventare in breve tempo, il linguaggio più utilizzato in assoluto. Nato per puri scopi di ricerca in ambito universitario, e non come in molti altri casi, per volere di una multinazionale per conquistare nuove fette di mercato, Java si pone come un "super-linguaggio" che supera i limiti e i difetti che hanno altri linguaggi. La Sun Microsystems ha poi fatto in modo che dal linguaggio, si sia poi evoluta una serie di famose tecnologie che si stanno diffondendo in molti ambiti del mondo della programmazione.
- Breve storia
di Java
Nel
1992 nasce il linguaggio Oak (quercia) prodotto della Sun Microsystems e
realizzato da un gruppo di esperti e navigati sviluppatori, che formavano il
cosiddetto "Green Team", ed erano capitanati da James Gosling,
oggigiorno uno tra i più famosi e stimati "guru informatici" del
pianeta. Sembra che il nome Oak derivi dal fatto che Gosling e i suoi colleghi,
nel periodo in cui svilupparono questo nuovo linguaggio, avessero avuto come
unica compagnia, quella di una quercia che si trovava proprio fuori la finestra
dell’ufficio in cui lavoravano.
In
un primo momento la Sun decise di destinare questo nuovo prodotto, alla
creazione d’applicazioni complesse per piccoli dispositivi elettronici. In
particolare, sembrava che i campi strategici da conquistare in quegli anni,
fossero quelli della TV via cavo. Ma, in realtà, i tempi non erano ancora
maturi per argomenti quali il "video on demand" e gli
"elettrodomestici intelligenti".
Nel
1993, con l’esplosione di Internet (negli Stati Uniti), nasce l’idea di
trasmettere codice eseguibile attraverso pagine HTML. La nascita delle C.G.I.
(Common Gateway Interface) rivoluzionò il World Wide Web.
Il
mercato che sembrava più appetibile allora ben presto diventò proprio
Internet. Nel 1994 viene realizzato un browser che fu chiamato per breve tempo
"Web Runner" e poi, in via definitiva, "HotJava".
Nel
1995 Oak è ribattezzato ufficialmente col nome "Java". Il nome questa
volta deriva dalla tipologia indonesiana di caffè di cui ha abusato il Green
Team durante il periodo di sviluppo del linguaggio. La Netscape annuncia
contemporaneamente la scelta di dotare il suo celeberrimo browser della Java
Virtual Machine, la quale, rende di fatto, Java un linguaggio multipiattaforma.
Inoltre la Sun Microsystems mette a disposizione gratuitamente il kit di
sviluppo J.D.K. (Java Development Kit). Nel giro di pochi mesi i download del
J.D.K. diventarono migliaia e Java iniziò ad essere sulla bocca di tutti. La
maggior parte della pubblicità di cui usufruì Java nei primi tempi, era
direttamente dipendente dalla possibilità di scrivere piccole applicazioni in
rete, sicure, interattive ed indipendenti dalla piattaforma chiamate
"applet". Nei primi tempi sembrava che Java fosse il linguaggio giusto
per creare siti Web spettacolari, ma in realtà, Java era ed è molto di più
che un semplice strumento per rendere più piacevole alla vista la navigazione.
Java è invece oggi un potente linguaggio di programmazione che sta diventando
sempre di più la soluzione ideale ai problemi che accomunano aziende operanti
in settori diversi (banche, software house, compagnie d’assicurazioni) come la
sicurezza. La Sun ha investito molto in questi anni sul progetto Java ottenendo
risultati straordinari.
- Perchè Java
Nei
mesi che precedettero la sua creazione, nel mondo informatico circolavano
statistiche alquanto inquietanti. In una di esse, si calcolava che, in una prima
release di un’applicazione scritta in C++ (all’epoca linguaggio leader
indiscusso nella programmazione), fosse presente un bug ogni cinquanta righe di
codice. Per quanto riguarda le variabili globali (ovvero le variabili che
essendo dichiarate all’interno del programma chiamante risultano accessibili
da qualsiasi funzione dell’applicazione in qualsiasi momento), rappresentano
per molti programmatori, una scorciatoia troppo invitante per apportare
modifiche al codice.
Java
è stato creato proprio per superare, a partire da queste ed altre statistiche,
i limiti che gli altri linguaggi hanno. Alcuni dei punti fermi su cui si basò
lo sviluppo del linguaggio, furono l’eliminazione dell’aritmetica dei
puntatori e del comando goto.
In generale si andò nella direzione di un linguaggio potente, moderno, chiaro,
ma soprattutto robusto e "funzionante". In molti punti chiave del
linguaggio è favorita la robustezza piuttosto che la potenza, basti pensare
all’assenza dell’aritmetica dei puntatori.
Gli
sviluppatori che hanno realizzato Java, hanno cercato di realizzare il
linguaggio preferito dai programmatori, arricchendolo delle caratteristiche
migliori degli altri linguaggi, e privandolo delle peggiori e delle più
pericolose.
- Caratteristiche di Java
Sintassi: è simile a quella del C e del C++, e
questo non può far altro che facilitare la migrazione dei programmatori da due
tra i più importanti ed utilizzati linguaggi esistenti. Chi non ha familiarità
con questo tipo di sintassi può inizialmente sentirsi disorientato e confuso,
ma ne apprezzerà presto l’eleganza e la praticità.
Gratuito: per scrivere applicazioni commerciali
non bisogna pagare licenze a nessuno. Sun ha sviluppato questo prodotto e lo ha
migliorato usufruendo anche dell’aiuto della comunità
"open-source".
Robustezza: essa è derivante soprattutto da una
gestione delle eccezioni chiara e funzionale, e ad un meccanismo automatico
della gestione della memoria che esonera il programmatore dall’obbligo di
dover deallocare memoria quando ce n’è bisogno. Inoltre il compilatore Java,
è molto "severo". Il programmatore è infatti costretto a risolvere
tutte le situazioni "poco chiare", garantendo al programma maggiori
chance di corretto funzionamento.
Libreria e standardizzazione:
Java possiede una enorme libreria di classi standard che forniscono al
programmatore la possibilità di operare su funzioni comuni di sistema come la
gestione delle finestre, dei collegamenti in rete e dell’input/output. Il
pregio fondamentale di queste classi sta nel fatto che rappresentano
un’astrazione indipendente dalle piattaforme per un’ampia gamma di
interfacce di sistema comunemente utilizzate. Inoltre se utilizziamo Java non
avremo problemi di standardizzazione, come per esempio, compilatori che
compilano in modo differente grazie alle specifiche dettate da Sun.
Indipendenza dall’architettura:
grazie al concetto di macchina virtuale ogni applicazione, una volta compilata,
potrà essere eseguita su di una qualsiasi piattaforma. Questa è sicuramente la
caratteristica più importante di Java. Infatti, nel caso in cui si debba
implementare un programma destinato a diverse piattaforme, non ci sarà la
necessità di doverlo convertire radicalmente a seconda della piattaforma. E’
evidente quindi che la diffusione di Internet favorirà sempre di più la
diffusione di Java.
Java Virtual Machine: Ciò che rende possibile di fatto
l’indipendenza dalla piattaforma è la Java Virtual Machine, un software che
svolge un ruolo da interprete per le applicazioni Java. Più precisamente dopo
aver scritto il nostro programma Java, prima bisogna compilarlo. Otterremo così,
non direttamente un file eseguibile (ovvero la traduzione in linguaggio macchina
del file sorgente che abbiamo scritto in Java), ma un file che contiene la
traduzione del nostro listato in un linguaggio molto vicino al linguaggio
macchina detto "byte code". Una volta ottenuto questo file dobbiamo
interpretarlo. A questo punto la J.V.M. interpreterà il byte code ed il nostro
programma andrà finalmente in esecuzione. Quindi, se piattaforme diverse
posseggono una Java Virtual Machine, ciò sarà sufficiente per renderle
potenziali esecutrici di byte code. Infatti, da qualche anno a questa parte, i
Web Browser più diffusi implementano all’interno di essi una versione della
J.V.M., capace di mandare in esecuzione le applet Java. Ecco quindi svelato il
segreto dell’indipendenza della piattaforma. Si parla di "macchina
virtuale" perché in pratica questo software è stato implementato per
simulare un hardware. Si potrebbe affermare che il linguaggio macchina sta ad un
computer come il byte code sta ad una Java Virtual Machine. Oltre che permettere
l’indipendenza dalla piattaforma, la J.V.M. permette a Java di essere un
linguaggio multithreaded (caratteristica di solito dei sistemi operativi),
ovvero capace di mandare in esecuzione più processi in maniera parallella.
Inoltre garantisce dei meccanismi di sicurezza molto potenti.
Orientato agli oggetti: Java ci fornisce infatti degli
strumenti che praticamente ci "obbligano" a programmare ad oggetti. I
paradigmi della programmazione ad oggetti sono più facilmente apprezzabili e
comprensibili. Java è più chiaro e schematico che qualsiasi altro linguaggio
orientato agli oggetti.
Semplice: Java è un linguaggio molto complesso
considerandone la potenza e tenendo presente che ci obbliga ad imparare la
programmazione ad oggetti. Ma, in compenso, si possono ottenere risultati
insperati in un tempo relativamente breve.
Sicurezza: ovviamente, avendo la possibilità di
scrivere applicazioni interattive in rete, Java possiede anche delle
caratteristiche di sicurezza molto efficienti. Come c’insegna la vita
quotidiana nulla è certo al 100%. Esistono una serie di problemi relativi alla
sicurezza di Java che ricercatori dell’Università di Princeton hanno scoperto
e reso pubblici su Internet. Ma di una cosa possiamo essere certi: la Sun sta
dando priorità assoluta proprio alla risoluzione di questi problemi. Intanto,
oggi come oggi, Java è semplicemente il linguaggio "più sicuro" in
circolazione.
Fortran (Formula Translation)
Ideato negli anni '50, fu uno dei
primi linguaggi di programmazione. L'ideatore di questo linguaggio fu John
Backus, un dipendente della IBM. Lo scopo principale del FORTRAN era quello di
automatizzare calcoli matematici e scientifici. Questo linguaggio ebbe molto
successo e sulla sua scia vennero progettati moltissimi altri linguaggi di alto
livello. Dopo diversi processi di standardizzazione (FORTRAN II, FORTRAN 66,
FORTRAN 77, Fortran 90, Fortran 95) oggi il Fortran è ancora il linguaggio più
usato per lo sviluppo di applicazioni scientifiche ed ingegneristiche. Non solo,
ma dopo le innovazioni introdotte con le ultime azioni di standardizzazione è
ritornato ad essere un linguaggio moderno che offre costrutti e metodi tipici
dei linguaggi di programmazione più evoluti ed innovativi. Tutto questo nella
continuità con il passato; infatti, il precedente FORTRAN 77 viene visto come
un sottoinsieme del Fortran 90/95 in modo da garantire la sopravvivenza
dell'enorme patrimonio software esistente.
Algol (ALGOrithmic Language)
E’ 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. Inoltre sono forniti due nuovi metodi per passare parametri
a sottoprogrammi: chiamate per valore e chiamate per nome. Vengono inoltre
fornite il controllo delle iterazioni e il concetto di ricorsività, cioè la
capacità di una procedura di richiamare sé stessa.
Cobol (COmmon Business Oriented Language)
COBOL è stato uno dei più vecchi linguaggi di programmazione ad alto livello. Sviluppato nel 1959 da un gruppo di professionisti riuniti alla Conference on Data Systems Languages. Da allora ha avuto molte modifiche e miglioramenti. Nel tentativo di superare le numerose incompatibilità tra le varie versioni, l'American National Standards Institute (ANSI) annunciò uno standard nel 1968, che produsse l'ASN-COBOL. Nel 1974 venne pubblicata una revisione con molte funzioni che non erano state previste nel '68. Nel 1985 esce, sempre dall'ANSI, un'ulteriore revisione con nuove funzioni. Il linguaggio continua ad evolversi ancora oggi, che è disponibile in una versione object-oriented inclusa nel COBOL 97. Uno dei motivi della sua enorme diffusione è stato la sua discreta facilità, dovuta anche al fatto che le istruzioni somigliano molto a frasi inglesi trovando una grandissima applicazione nelle aziende.
Basic
(Beginners All-purpose Symbolic Instruction Code)
Il BASIC è un linguaggio molto potente come strumento per i programmatori principianti, che è stato sviluppato a Dartmouth College nel 1964, sotto la direzione di J. Kemeny e T. Kurtz. Con lo scopo di fornire un linguaggio veramente molto semplice da imparare e facile da tradurre, BASIC consente di realizzare un'ampia gamma di applicazioni e dispone di molte versioni. Comunque, più si pone attenzione alle tecniche di programmazione e alla soluzione di problemi e più la sintassi specifica è facile da seguire.
Paul Allen e Bill Gates dettero in licenza il loro BASIC alla M.I.T.S. per il computer Altair. La versione occupava un totale di 4Kb di memoria, compreso il codice e i dati usati per il codice sorgente. Successivamente Gates e Allen portarono il loro BASIC su altre piattaforme, tra cui Apple, Commodore e Atari. Alla fine degli anni '70 è la volta del MS DOS che viene fornito con un interprete BASIC. L'IBM aveva una sua versione denominata BASICA, mentre la versione fornita con MS DOS si chiamava GW-BASIC e girava su qualsiasi macchina che potesse far girare anche il DOS. Ma non c'erano differenze tra i due linguaggi, solo che IBM voleva proteggere i suoi personal computer dai cloni in circolazione. Microsoft decise di realizzare anche un compilatore in modo da far girare i programmi senza il ricorso all'interprete BASIC. La nuova soluzione si chiamò QuickBasic. Poi Microsoft volle implementare ulteriormente il linguaggio e iniziò a distribuire il PDS BASIC. Ma il PDS BASIC non venne sfruttato appieno per le sue notevoli capacità e Microsoft era ormai impegnata sulle interfacce grafiche, cosicché realizzò un Visual BASIC sia per DOS che per Windows. Le differenze tra il QuickBASIC e il VB per DOS erano assolutamente minime. Nel frattempo un signore chiamato Robert S. Zale aveva progettato un suo compilatore BASIC che fu poi distribuito dalla Borland Inc. come TurboBASIC, ma Zale si mise a distribuire il prodotto anche per conto suo, chiamandolo PowerBASIC, che ora è arrivato alla versione a 32 bit. PowerBASIC è uno dei compilatori più potenti sul mercato, che comprende idee come le variabili senza segno, un Inline Assembly Language Code e svariate altre simpatiche aggiunte al linguaggio BASIC.
Pascal
Il linguaggio PASCAL è stato inizialmente sviluppato da Niklaus Wirth, membro dell'International Federation of Information Processing (IFIP). Si dedicò al PASCAL per fornire funzioni che risultavano carenti in altri linguaggi del tempo. Il suo principale obiettivo per il PASCAL era che si presentasse molto efficiente da implementare e da far girare, consentendo lo sviluppo di programmi ben strutturati e ben organizzati, che servissero da esempio per l'insegnamento della programmazione. Il PASCAL è diretto discendente di ALGOL 60, che lo stesso Wirth aiutò a sviluppare. PASCAL contiene anche componenti derivanti da ALGOL. La pubblicazione originale del linguaggio avvenne nel 1971, con una successiva revisione nel 1973. Fu il programma prescelto per l'insegnamento dagli anni '60 alla fine degli anni '80. Attualmente sono disponibili diversi compilatori, free software e non, ma sicuramente il compilatore più famoso è il Turbo Pascal creato nel 1983 dalla Borland. L'evoluzione dell'informatica ha apportato anche al Pascal alcune modifiche: inizialmente il Pascal supportava la programmazione strutturata, oggi supporta anche la programmazione orientata agli oggetti; la nascita di ambienti di sviluppo visuali ha dato vita al Delphi, un ambiente di sviluppo visuale che alla base ha il Pascal, e che viene impiegato anche nello sviluppo di software applicativi.
C
Nel
1972 Dennis Ritchie realizzò la prima versione del linguaggio C che si
distingueva dai suoi predecessori per il fatto di implementare una vasta gamma
di tipi di dati come carattere, interi, numeri in virgola mobile, strutture etc.
Da allora il linguaggio non ha subito profonde trasformazioni: la sua sintassi
é stata estesa, soprattutto in conseguenza della programmazione orientata agli
oggetti (C++), ma nella sostanza il linguaggio e' rimasto quello delle origini.
Il C e' un linguaggio ad alto livello che possiede un insieme ristretto di
costrutti di controllo
e di parole chiave, e un ricco insieme di operatori, ed è un linguaggio
apparentemente povero: non possiede istruzioni di entrata/uscita né istruzioni
per operazioni matematiche. È stato talvolta definito come "il linguaggio
di più basso livello tra i linguaggi ad alto livello", infatti nasce per
lo sviluppo di sistemi operativi, quindi per software di basso livello, ma
riesce a mantenere semplicità d'uso. Il trucco usato dai suoi sviluppatori per
mantenere compatto il linguaggio, e nel contempo estenderne le funzionalità,
sta nell'affidare le funzioni più complesse a un'insieme di librerie esterne:
esattamente come il MacOS, al quale, per aggiungere funzionalità aggiungiamo
estensioni e librerie. All'interno del mondo informatico, il successo del C è
universalmente riconosciuto. Il suo trampolino di lancio è stato il sistema
operativo UNIX, scritto proprio con questo linguaggio.
C++
Non dovrebbe sorprendere più di tanto il fatto che il C++ abbia
un'origine simile al C. Lo sviluppo del linguaggio C++ all'inizio degli anni
Ottanta è dovuto a Bjarne Stroustrup dei laboratori Bell. Originariamente il C++
era stato sviluppato per risolvere alcune simulazioni molto rigorose e guidate
da eventi; per questo tipo di applicazione la scelta della massima efficienza
precludeva l'impiego di altri linguaggi.
Il linguaggio C++ venne utilizzato all'esterno del gruppo di sviluppo di
Stroustrup nel 1983 e, fino all'estate del 1987, il linguaggio fu soggetto a una
naturale evoluzione.
Uno degli scopi principali del C++ era quello di mantenere piena compatibilità
con il C. L'idea era quella di conservare l'integrità di molte librerie C e
l'uso degli strumenti sviluppati per il C. Grazie all'alto livello di successo
nel raggiungimento di questo obiettivo, molti programmatori trovano la
transizione al linguaggio C++ molto più semplice rispetto alla transizione da
altri linguaggi (ad esempio il FORTRAN) al C.
Il C++ consente lo sviluppo di software su larga scala. Grazie a un maggiore
rigore sul controllo dei tipi, molti degli effetti collaterali tipici del C,
divengono impossibili in C++.
Il miglioramento più significativo del linguaggio C++ è il supporto della
programmazione orientata agli oggetti. Per sfruttare tutti i benefici introdotti
dal C++ occorre cambiare approccio nella soluzione dei problemi. Ad esempio,
occorre identificare gli oggetti e le operazioni ad essi associate e costruire
tutte le classi e le sottoclassi necessarie.
Delphi
Un
linguaggio ad alto livello è un linguaggio che tende con i suoi costrutti, la
sua sintassi e grammatica di avvicinarsi il più possibile al linguaggio ed al
ragionamento umano. In contrapposizione ai linguaggi ad alto livello, ci sono i
linguaggi a basso livello come l'Assembler ed affini che rimangono molto più
vicini al linguaggio macchina utilizzato dal calcolatore.
Il
Delphi nasce come evoluzione del "Borland Turbo Pascal". La prima versione
di Delphi produceva applicazioni per Windows a 16-bit. Successivamente venne
rilasciata la versione 2.0 completamente rivista ed ottimizzata per lo sviluppo
di applicativi in ambiente 32-bit. Siamo all'incirca nel 1996 e da qui il Delphi
si è evoluto ad una velocità impressionante, quasi una versione all'anno. Con
il Delphi la Borland ha introdotto il concetto di sviluppo Visuale RAD orientato
alla gestione degli eventi come nel Visual Basic, senza perdere però i vantaggi
della compilazione Pascal. Da notare che, come l'Object Pascal il Delphi è un
linguaggio GP ovvero un tool di sviluppo che permette di realizzare applicazioni
di qualsiasi tipo, più o meno complesse e tutto questo con una semplicità
estrema.
Ada
Battezzato in onore di lady Ada Lovelance, 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, è 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. Gli ultimi aggiornamenti comprendono il pieno utilizzo di tecniche object-oriented, dispositivi per la distribuzione dei carichi di elaborazione in tempo reale 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. 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 erano sistemi integrati cioè sistema in cui l'hardware del computer è legato a dei dispositivi che controllano. 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. 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 fu scelto come miglior progetto. La fase 3 iniziò subito. 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.
Perl (Practical
Extraction and Report Language)
Larry
Wall creò il PERL quando tentava di produrre alcuni report da una serie di
file. Decise di risolvere il problema della mancanze di un linguaggio adeguato,
scrivendo un tool general-purpose. Oggi il PERL è diventato un linguaggio di
programmazione disponibile su ogni implementazione di Unix,
e lentamente sta crescendo e si sta perfezionando sempre più. Il Perl è
un linguaggio interpretato ottimizzato per la scansione di file di testo
arbitrari, l'estrazione di informazioni da questi file di testo e la stampa di
report basati su queste informazioni. È anche un buon linguaggio per molti
lavori di manutenzione di sistema. Il linguaggio è pesato per essere pratico e
non per essere bello. Sintatticamente il Perl è molto simile al C, anche se
naturalmente ci sono delle differenze. Il Perl è un linguaggio interpretato,
non è particolarmente semplice ma è anche dotato di una grande potenza e di
una grande logicità. La definizione di linguaggio interpretato è però un po'
limitativa: in realtà uno script prima di essere eseguito viene letto nella sua
interezza, ne viene controllata la sintassi, viene compilato e quindi eseguito;
alla fine dell' esecuzione il "compilato" viene rimosso dalla memoria.
Spesso il Perl viene utilizzato per la creazione di prototipi di programmi che
poi vengono sviluppati in altri linguaggi di programmazione, ed è estremamente
comodo per la scrittura di programmi "usa e getta". Non sono ancora
stati creati compilatori Perl, probabilmente perché non se ne sente una reale
esigenza.
PHP
PHP è un linguaggio server side di scripting completamente
Open Source che si sta diffondendo sempre di più sul mercato per la sua
somiglianza con il C e il Perl e per la sua potenza. Sempre più applicazioni e
siti Web sono sviluppati usando le proprietà di accesso ai dati di PHP su
piattaforma Linux che sta diventando una scelta alternativa alle costose
soluzioni Microsoft.
Attraverso l'interazione con HTML è possibile creare pagine web dinamiche che
vengono processate dal server (il più delle volte Apache Server) e in maniera
rapida ed efficiente mostrate al visitatore del sito.
Phyton
Python è stato creato da Guido Van Rossum, ricercatore di Amsterdam che
avendo lavorato ad un progetto di un linguaggio di programmazione con fini
didattici di nome ABC, è riuscito a trasferire questa conoscenza in python.
Il nome del linguaggio non ha niente a che spartire con il rettile. Guido Van
Rossum stava cercando un nome breve e semplice, mentre seguiva una commedia
trasmessa dalla televisione di nome "The monty Python's Flying
Circus", ecco l'ispirazione : "Python". Python viene definito un
linguaggio di scripting orientato agli oggetti. Infatti esso raccoglie in se la
flessibilità e la semplicità dei linguaggi si scripting con la potenza di
elaborazione e la ricchezza di funzioni dei più tradizionali linguaggi di
programmazione di sistema.