Creo que el problema con esta pregunta y la posterior discusión es que muy raramente los idiomas pretenden reemplazar a otros. Claro, cuando intentaron aclarar y defender algunas de sus agrupaciones, comparten conjuntos de características similares o cumplen cosas similares, pero en última instancia, no creo que nadie vaya a sentarse y escribir un lenguaje que está diseñado para reemplazar a otro . Lo que es mucho más probable es que los diseñadores de idiomas quieran lograr un objetivo y escojan y elijan aspectos de ciertos idiomas que ya lo hacen. Por ejemplo, eche un vistazo a Go que está diseñado para subir un poco la apuesta con respecto a la programación de sistemas de rendimiento ultra alto que, podría decirse, compite un poco con C. Sin embargo, si nos fijamos en las preguntas frecuentes sobre la misión del proyecto, no buscan reemplazar a C, sino simplemente aumentarlo y abordar los problemas que enfrenta (como la gestión de la dependencia para nombrar uno) (así que quizás esta es la respuesta 'que estas buscando).
De hecho, si algo es una evolución de otra cosa, depende por completo de la perspectiva desde la que se examina y evalúa la evolución. C++ se puede considerar una evolución de C porque introdujo un nuevo conjunto de características (programación OO) que muchos consideran un paso adelante en el diseño de sistemas, al mismo tiempo que conservan una sintaxis similar y compatibilidad con el código C. Sin embargo, no es completamente una evolución porque también le faltan algunas características que hacen que C sea un idioma actualmente utilizado en la actualidad.
Ningún idioma puede hacer de todo (excepto tal vez Lisp ;-) Yo bromeo, bromeo) y nunca lo haré.
Ningún idioma es sin concesiones. Las abstracciones que facilitan el desarrollo web son las mismas abstracciones que hacen que el desarrollo de sistemas de bajo nivel sea imposible (o prohibitivamente difícil). Así que realmente creo que es difícil decir que X es una evolución de Y. Más bien, diría "Quiero hacer W y sé que puedo usar el lenguaje X pero hay algo que logra mis objetivos de A, B y C mejor ? " Lamentablemente, los lenguajes de programación no son lo suficientemente blancos y negros como para hacer afirmaciones radicales como esa y, como cada decisión que se toma en la programación, se trata de intercambios.
¿De dónde surgieron estas "evoluciones"? – jtbandes
Al menos parte de su premisa es defectuosa. Python no es y nunca ha sido algo remotamente como una evolución de Perl. De hecho, es casi tan antiguo como Perl. –
* Java -> C# *? De Verdad? – detly