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