Otra razón es que la JVM es un ecosistema altamente optimizado, bien desarrollado y extremadamente completo. Por sí solo, compite extremadamente bien con cualquiera de los otros lenguajes compilados. (No diré que es la mejor máquina virtual de propósito general que existe, pero ciertamente he apostado mi carrera en eso). Por lo tanto, obtener acceso a la JVM, sin escribir código de bytes, es deseable en sí mismo.
Sin embargo, la máquina virtual Python es buena, pero (nada en contra de Python) tiene algunas deficiencias serias. El entorno de tiempo de ejecución de Python se adapta bien a la naturaleza dinámica del lenguaje, pero realmente puede sorprenderlo cuando se familiarice con su uso de memoria, bloqueo global o modelo de subprocesos.
En las comparaciones directas, la JVM suele ser dos veces más rápida que la máquina virtual Python. La JVM (sorprendentemente) incluso compite bien con el código compilado de forma nativa, basado en las optimizaciones "activas" que realiza. Y eso sin contar el manejo de hilos más sofisticado, etc.
Me encanta Python, de verdad, y odio decirlo, pero a veces el rendimiento simplemente me golpea los dientes; de lo contrario, ¿por qué las bibliotecas críticas de Python como numpy o scipy tienen que volver a caer en el código C?
En otras palabras, las personas que gravitan hacia Python lo hacen porque les gusta el lenguaje . Pero si desea escribir un nuevo idioma que se adapte a sus preferencias, es mucho mejor compilar en la JVM, porque su nuevo lenguaje idiosincrásico comenzará en uno de los mejores entornos operativos (subjetivamente, tal vez el mejor) disponible.