La babele dei linguaggi di programmazione

Elenco in ordine cronologico dei principali linguaggi di programmazione. In parallelo ai linguaggi sono evolute molte altre componenti del complesso settore dello sviluppo software: i paradigmi teorici, gli algoritmi di base, gli strumenti di utilità (tools) , i protocolli di comunicazione, le interfacce grafiche.

Il crescente ruolo del software, in termini economici e di impatto sulla nostra società, è anche dovuto al progresso del linguaggio con cui l’uomo comunica con le sue macchine.


1949: Per semplificare la programmazione in linguaggio macchina Kathleen Booth al Birkbeck College di Londra sviluppa un primo linguaggio Assembly per il computer ARC2.

1949: John Mauchly propone l’utilizzo del linguaggio “Short Code”, anche definito “Short Order Code” (inizialmente chiamato “Brief Code”), che verrà implementato da William Schmitt prima sul BINAC computer e nel 1950 sullo UNIVAC I.E’ stato uno dei primi linguaggi di alto livello, nel quale le istruzioni rappresentavano espressioni matematiche, e non istruzioni in linguaggio macchina.
Fonte: https://en.wikipedia.org/wiki/Short_Code_(computer_language)

1951: Grace Murray Hopper sviluppa l'”A-0 System”, un compilatore per lo UNIVAC I a cui succederanno i derivati A-1, A-2, A-3 (ARITH-MATIC), AT-3 (MATH-MATIC) e B-0 (FLOW-MATIC). L’A-2, rilasciato alla fine del 1953, veniva liberamente distribuito agli utenti,a cui veniva chiesto di fornire un riscontro sul suo utilizzo. Un primo esempio di un approccio che evolverà in quello che sarà definito “open source software”.
Fonte: Fonte: https://en.wikipedia.org/wiki/A-0_System

1952: Alick Glennie all’Università di Manchester sviluppa per il computer Mark 1 il primo di una serie di linguaggi ( allora chiamati “simplified coding systems”) che verranno genericamente denominati Autocode, specifici per ciascuna macchina. Questo viene considerato il primo linguaggio compilato.
Fonte: https://en.wikipedia.org/wiki/Autocode

1953: John W. Backus della IBM sviluppa lo Speedcoding, o Speedcode o Speedco, il primo linguaggio di alto livello per il sistema IBM 701.

1957: John Backus in IBM è responsabile del team di sviluppo del linguaggio FORTRAN (abbreviazione di FORmula TRANslator, dalla versione 90 sarà poi chiamato Fortran), specifico per applicazioni matematiche e tecnico/scientifiche.
Fonte: https://en.wikipedia.org/wiki/Fortran

1956: Allen Newell, Cliff Shaw, ed Herbert A. Simon alla RAND Corporation e al Carnegie Institute of Technology sviluppano l'”Information Processing Language” (IPL). PL ha introdotto il concetto di “list processing”, anche se con uno stile da linguaggio assembly.
Fonte: https://en.wikipedia.org/wiki/Information_Processing_Language

1958: un comitato di informatici europei ed americani radunatosi presso Swiss il Federal Institute of Technology in Zurich definisce le specifiche del linguaggio Algol (algorithmic language). E’ stato un precursore dei linguaggi Java and C, utilizzato sopratutto da specialisti e ricercatori informatici. Ha subito numerose evoluzioni ed estensioni, spesso non compatibili fra loro. La più nota è stata l’Algol 68, che contrariamente alle versioni precedenti offriva finalmente una completa libreria per la gestione dell’input/output.
Fonte: https://en.wikipedia.org/wiki/ALGOL

1959: il comitato CODASYL (Conference on Data Systems Languages) a cui partecipa Grace Murray Hopper sviluppa il linguaggio COBOL (Common Business-Oriented Language), appositamente progettato per essere di facile scrittura, disponibile su macchine di vari costruttori. Il fatto di essere un prererequisito richiesto nelle commesse del Dipartimento delle Difesa USA ne facilitò la diffusione.
Fonte: https://en.wikipedia.org/wiki/COBOL

1959: John McCarthy crea il linguaggio Lisp (originariamente LISP, abbreviazione di List Processing), dedicato ad applicazioni nel campo della ricerca sulla intelligenza artificiale. Utilizza la notazione polacca, o prefissa (gli operatori si trovano tutti a sinistra degli argomenti) simile a quella usata nelle formule matematiche. Nell’aprile 1960 pubblica un articolo sulla rivista Communications of the ACM, intitolato “Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I”. Evolverà successivamente in numerosi dialetti, influenzando lo sviluppo di vari linguaggi. Viene oggi (2023) ancora talvolta utilizzato, sopratutto in ambito didattico.
Fonte: https://en.wikipedia.org/wiki/Lisp_(programming_language)

1962: Jean E. Sammet e il suo team sviluppano il FORMAC (FORmula MAnipulation Compiler), come estensione del FORTRAN IV. Completato nel 1964, è stato il primo sistema algebrico per computer con una certa diffusione.
Fonte: https://en.wikipedia.org/wiki/FORMAC

1962: Kenneth E. Iverson pubblica il libro “A Programming Language” che descrive una notazione matematica inizialmente definita “Iverson Notation”. Questa prevedeva l’uso di uno speciale set di caratteri per definire le funzioni matematiche. Solo nel 1966 con l’implementazione sul Sistema /360 di IBM prenderà il nome di linguaggio APL.
Fonte: https://en.wikipedia.org/wiki/APL_(programming_language)

1962: Presso i Bell Labs della AT&T inizia lo sviluppo della famiglia dei linguaggi SNOBOL (“StriNg Oriented and symBOlic Language”), orientati alla gestione delle stringhe di testo. Gli sviluppatori David J. Farber, Ralph E. Griswold e Ivan P. Polonsky lavoreranno alle evoluzioni del linguaggio sino alla versione SNOBOL4 del 1967.
Fonte: https://en.wikipedia.org/wiki/SNOBOL

1964: John G. Kemeny e Thomas E. Kurtz sviluppano il linguaggio BASIC, che per la sua semplicità si rivolge a studenti ed utenti senza particolari conoscenze sull’uso dei computer.
Fonte: https://en.wikipedia.org/wiki/BASIC

1964: il linguaggio NPL, sviluppato in IBM nell’ambito del progetto del Sistema /360 con l’intento di creare un linguaggio universale, adatto ad applicazioni gestionali, scientifiche e di sistema, viene rinominato PL/I (programming Language I). Verrà formalmente rilasciato nel 1966, ed utilizzato fino a tutti gli anni 1970′.
Fonte: https://en.wikipedia.org/wiki/PL/I

1965: il linguaggio di simulazione SIMULA I è operativo su un computer UNIVAC 1107. Sviluppato da Kristen Nygaard del Norwegian Computing Center in Oslo, che lavorava sull’argomento sin dal 1957, a cui poi nel 1962 si aggiunse Ole-Johan Dahl; nello stesso anno fu presa la decisione di collegarlo al linguaggio ALGOL 60. Nel 1967 venne sviluppata la nuova versione SIMULA 67. Simula ha influenzato lo sviluppo di Smalltalk e dei successivi linguaggi object-oriented.
Fonte: https://en.wikipedia.org/wiki/Simula

1967: nei laboratori di ricerca della Bolt, Beranek and Newman (BBN), a Cambridge, Massachusetts viene creato il linguaggio LOGO da Wally Feurzeig, Cynthia Solomon, e Seymour Papert. L’obiettivo era di creare un ambiente interattivo dove i ragazzi potessero sperimentare comandi e risultati pilotando i movimenti di una tartaruga sullo schermo grafico. . Dalla versione BBN originale derivarono poi numerose varianti. La più nota e diffusa è stata la versione di Apple, disponibile sull’Apple // nei primi anni 1980′ e molto utilizzata come strumento didattico nelle scuole, sopratutto ma non solo negli USA.
Fonte: https://en.wikipedia.org/wiki/Logo_(programming_language)

1970: Niklaus Wirth sviluppa il linguaggio Pascal. Di facile utilizzo, nato essenzialmente a scopo didattico.
Fonte: https://en.wikipedia.org/wiki/Pascal_(programming_language)

1972: Alan Kay, Adele Goldberg, e Dan Ingalls sviluppano Smalltalk, il primo linguaggio basato su un ambiente grafico interattivo che facilita l’attività di sviluppo e modifica del codice.
Fonte: https://en.wikipedia.org/wiki/Smalltalk

1972: Dennis Ritchie sviluppa il linguaggio C, considerato il primo linguaggio di alto livello ad alta efficenza (qualità del codice macchina prodotto) e quindi adatto anche per la programmazione di sistema.
Fonte: https://en.wikipedia.org/wiki/C_(programming_language)

1972: Donald D. Chamberlin e Raymond F. Boyce della IBM sviluppano il linguaggio SQL (Structured Query Language). Linguaggio specifico per l’interrogazione e manipolazione dei database relazionali (applicazioni specializzate per il trattamento di grandi volumi di dati organizzati secondo il modello relazionale)
Fonte: https://en.wikipedia.org/wiki/SQL

1972: Alain Colmerauer e Philippe Roussel a Marsiglia sviluppano il Prolog, un linguaggio dichiarativo per la programmazione logica, legato alle ricerche sulla intelligenza artificiale. L’obiettivo iniziale era quello di utilizzarlo per applicazioni di comprensione del linguaggio naturale.
Fonte: https://en.wikipedia.org/wiki/Prolog

1973: alla Università di Edinburgo Robin Miller contribuisce allo sviluppo del ML (Meta Language), un linguaggio funzionale per ricerche di informatica teorica; sviluppato per realizzare un risolvitore automatico di teoremi. Precursore di linguaggi quali Haskell, F#, OCaml.
Fonte: https://en.wikipedia.org/wiki/ML_(programming_language)

1979: Il progetto di Jean Ichbiah, informatico francese che lavora per la La CII Honeywell Bull, viene scelto dal Dipartimento delle Difesa USA per lo sviluppo di Ada: un linguaggio procedurale sicuro, da utilizzarsi per missioni critiche in ambito militare. Lo sviluppo si conclude nel 1983. Risulta un linguaggio complesso, con supporto alla concorrenza dei processi. Viene ancora utilizzato ad oggi per applicazioni anche non militari ma con caratteristiche fortemente orientate alla sicurezza del codice.
Fonte: https://en.wikipedia.org/wiki/Ada_(programming_language)

1978: Cleve Moler sviluppa il linguaggio MATLAB, specializzato per applicazioni matematiche in campo didattico e ricerca.
Fonte: https://en.wikipedia.org/wiki/MATLAB

1983: Brad Cox e Tom Love sviluppano il linguaggio Objective-C, utilizzato come principale linguaggio di sviluppo del software Apple.
Fonte: https://en.wikipedia.org/wiki/Objective-C

1983: IBM rilascia DB2 (IBM Database 2), il primo Database Management System o DBMS sui suoi mainframe MVS (il sistema operativo più comunemente utilizzato sui sistemi System/370 e System/390). Verrà poi rilasciato anche su molte altre piattaforme.
Fonte: https://en.wikipedia.org/wiki/IBM_Db2

1983: Bjarne Stroustrup sviluppa il linguaggio C++, estensione del linguaggio C. Progettato per la programmazione di sistema, sistemi embedded, alte prestazioni, efficienza e flessibilità d’uso.
Fonte: https://en.wikipedia.org/wiki/C%2B%2B

1987: Larry Wall sviluppa il linguaggio di scripting (linguaggio interpretato destinato a compiti di automazione del sistema operativo o delle applicazioni) Perl, usato per l’elaborazione di testi.
Fonte: https://en.wikipedia.org/wiki/Perl

1990: viene sviluppato il linguaggio funzionale Haskell, per il trattamento di calcoli matematici complessi.
Fonte: https://en.wikipedia.org/wiki/Haskell

1991: Guido Van Rossum sviluppa il Python, linguaggio strutturato e orientato agli oggetti, estendibile e relativamente semplice di utilizzo.
Fonte: https://en.wikipedia.org/wiki/Python_(programming_language)

1991: Microsoft sviluppa il linguaggio Visual Basic, primo ambiente grafico interattivo, che facilita la programmazione tramite la gestione di mouse-finestre e metodologia drag-and-drop (copia-incolla).
Fonte: https://en.wikipedia.org/wiki/Visual_Basic_(classic)

1993: Ross Ihaka e Robert Gentleman sviluppano il linguaggio R orientato ad applicazioni statistiche e per analisi dei dati.
Fonte: https://en.wikipedia.org/wiki/R_(programming_language)

1995: Sun Microsystems sviluppa il linguaggio Java, inizialmente da utilizzare per la televisione interattiva.
Fonte: https://en.wikipedia.org/wiki/Java_(programming_language)

1995: Rasmus Lerdorf sviluppa il linguaggio PHP, destinato principalmente allo sviluppo di applicazioni Web. Oggi (2023) ancora molto utilizzato.
Fonte: https://en.wikipedia.org/wiki/PHP

1995: Yukihiro Matsumoto sviluppa Ruby come linguaggio interpretato di utilizzo generale.
Fonte: https://en.wikipedia.org/wiki/Ruby_(programming_language)

1995: Brendan Eich sviluppa il linguaggio JavaScript, utilizzato per migliorare l’interattività delle applicazioni Web lato browser.
Fonte: https://en.wikipedia.org/wiki/JavaScript

2000: Microsoft sviluppa il linguaggio C#, una combinazione di C++ e Visual Basic. Ha molte similitudini con il Java.
Fonte: https://en.wikipedia.org/wiki/C_Sharp_(programming_language)

2003: Martin Odersky sviluppa il linguaggio Scala, linguaggio di utilizzo generale che supporta sia aspetti della programmazione orientata agli oggetti sia della programmazione funzionale.
Fonte: https://en.wikipedia.org/wiki/Scala_(programming_language)

2003: James Strachan e Bob McWhirter sviluppano il linguaggio Groovy, derivato da Java. Con caratteristiche simili a Python, Ruby, e Smalltalk.
Fonte: https://en.wikipedia.org/wiki/Apache_Groovy

2009: Google sviluppa il linguaggio Go, destinato ad applicazioni di grandi dimensioni, su sistemi multicore, connessi in rete.
Fonte: https://en.wikipedia.org/wiki/Go_(programming_language)

2014: Apple sviluppa il linguaggio Swift come sostituto del C, C++, e Objective-C.
Fonte: https://en.wikipedia.org/wiki/Swift_(programming_language)

error: