Quale linguaggio di programmazione ha rivoluzionato l’industria del software?

Questa è una domanda difficile a cui rispondere, perché tipicamente c'è un ritardo gigantesco tra quando una nuova e utile caratteristica del linguaggio viene concepita e quando viene messa in pratica su larga scala. Quindi diamo credito alla lingua in cui è stata implementata per la prima volta, o alla lingua che ha reso la caratteristica mainstream?

Per esempio, direi che la garbage collection è una caratteristica incredibilmente preziosa dei linguaggi moderni. La sua assenza è una grave scocciatura per i ragazzi del C. Liberare la memoria è un processo doloroso e spesso soggetto a errori. Se non mi credete, cercate Hans Boehm. Ha scritto un garbage collector conservativo per C/C++, e ha confrontato i benchmark con free e malloc. Si sacrifica il runtime minimo del C, ma in molti casi c'è effettivamente un aumento delle prestazioni.

Indovina quando è stata inventata la garbage collection. Hai indovinato il 1959? Neanche io l'avrei indovinato. Il LISP è stato il primo linguaggio ad usare questa idea, a partire dalla fine degli anni '50. La mia ipotesi è che Java sia stato il primo linguaggio a rendere questa caratteristica disponibile e popolare per un pubblico su larga scala, lavorando su applicazioni industriali. Infatti, uno degli obiettivi di Java era quello di prendere le idee che erano utili dal Lisp e renderle accessibili allo sviluppatore medio aziendale. Nel caso non mi crediate, mi rimetto a Guy Steele (uno degli autori delle specifiche di Java, nonché creatore del linguaggio di programmazione Scheme).

"Stavamo cercando i programmatori C++. Siamo riusciti a trascinarne molti a metà strada verso il Lisp". -Steele

Quindi risponderò alla tua domanda con una domanda. È stato Lisp a rivoluzionare l'industria del software o Java?