¿Qué lenguaje de programación revolucionó la industria del software?

Esta es una pregunta difícil de responder, porque normalmente hay un retraso gigantesco entre el momento en que se concibe una nueva y útil característica del lenguaje y cuando se pone en práctica a gran escala. Así que, ¿damos crédito al lenguaje en el que se implementó por primera vez, o al lenguaje que hizo que la característica se generalizara?

Por ejemplo, yo diría que la recolección de basura es una característica increíblemente valiosa de los lenguajes modernos. Su ausencia es un serio fastidio para los chicos de C. Liberar memoria es un proceso doloroso y a menudo propenso a errores. Si no me crees, busca a Hans Boehm. Escribió un recolector de basura conservador para C/C++, y comparó los benchmarks con free y malloc. Se sacrifica el tiempo de ejecución mínimo de C, pero en muchos casos hay realmente un aumento en el rendimiento.

Adivina cuándo se inventó la recolección de basura. ¿Adivinaste 1959? Yo tampoco lo habría adivinado. LISP fue el primer lenguaje en utilizar esta idea, a partir de finales de los 50’s. Mi opinión es que Java fue el primer lenguaje que hizo que esta característica estuviera disponible y fuera popular para un público a gran escala, que trabajaba en aplicaciones de carácter industrial. De hecho, uno de los objetivos de Java era tomar las ideas útiles de Lisp y hacerlas accesibles al desarrollador empresarial medio. En caso de que no me crean, me remitiré a Guy Steele (uno de los autores de la especificación de Java, además de creador del lenguaje de programación Scheme).

«Íbamos detrás de los programadores de C++. Conseguimos arrastrar a muchos de ellos a mitad de camino hacia Lisp». -Steele

Así que responderé a su pregunta con una pregunta. ¿Revolucionó Lisp la industria del software o lo hizo Java?