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.

 

La Storia dei più famosi tipi di linguaggio

 

Java

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.

Python, pur essendo distribuito gratuitamente, ha un notevole supporto tecnico e ha una comunità in costante crescita. Python è stato scritto in ANSI C, quindi la sua portabilità deriva direttamente da quella del C. Questo ha permesso di scrivere presto un interprete python per le principali piattaforme. Esiste un interprete python per Unix, Linux, MS-DOS, MS-Windows (95,98, NT e 2000), Macintosh, Amiga, BeOS, OS/2, VMS, QNX.
Recentemente è stato scritto un interprete anche in java e anche per sistemi Palmari. Python è un linguaggio interpretato. In questo caso "interpretato" non è sinonimo di lento, infatti python "compila" il proprio codice in un bytecode molto efficiente. Questo permette di raggiungere prestazioni vicine ai linguaggi in codice nativo.
Analogamente a ciò che avviene in Java, in python esiste un meccanismo, il quale permette di liberare il programmatore dall'ansia di allocazione selvaggia della memoria.
Questo linguaggio presenta una sintassi pulita e sintetica. L'idea migliore è rappresentata dalla indentazione, che non serve più al programmatore per ordinare meglio il codice, ma diventa l'unico strumento per strutturare il codice.
Questo permette un apprendimento più veloce e una maggiore facilità a leggere il codice scritto da altri.
Solo la dotazione standard offre numerose librerie alle quali si aggiungono moduli di terze parti che crescono continuamente. Tutte queste caratteristiche stanno convincendo molti grandi attori del mercato informatico ad utilizzare python.