Un altro motivo è che la JVM è un ecosistema altamente ottimizzato, ben evoluto ed estremamente completo. Da solo, compete molto bene con qualsiasi altra lingua compilata. (Non dirò che è la migliore macchina virtuale per uso generale, ma ho sicuramente puntato la mia carriera su questo.) Quindi ottenere l'accesso a JVM, a meno di scrivere bytecode, è desiderabile in sé.
Tuttavia, la VM Python è buona, ma (nulla contro Python) presenta alcune gravi carenze. L'ambiente runtime di Python si adatta bene alla natura dinamica del linguaggio, ma può davvero sorprenderti quando acquisisci familiarità con l'utilizzo della memoria, il blocco globale o il modello di threading.
Nei confronti testa a testa, la JVM è in genere due volte più veloce della VM Python. La JVM (sorprendentemente) compete anche bene con il codice compilato in modo nativo, basato sulle ottimizzazioni "a caldo" che esegue. E questo non conta nemmeno la gestione dei thread più sofisticata, ecc.
Adoro Python, lo faccio davvero, e odio dirlo, ma a volte la performance mi dà dei calci nei denti - altrimenti, perché le librerie Python critiche come numpy o scipy dovrebbero ricadere nel codice C?
In altre parole, le persone che gravitano su Python lo fanno perché a loro piace la lingua . Ma se vuoi scrivere un linguaggio nuovo di zecca per soddisfare le tue preferenze, stai molto meglio compilando la JVM, perché il tuo nuovo linguaggio idiosincratico inizierà in uno degli ambienti operativi migliori (soggettivamente, forse il migliore) disponibili.