Innym powodem jest to, że JVM jest wysoce zoptymalizowanym, dobrze rozwiniętym i niezwykle kompletnym ekosystemem. Samodzielnie konkuruje wyjątkowo dobrze z dowolnym innym skompilowanym językiem. (Nie powiem, że jest to najlepsza maszyna wirtualna ogólnego przeznaczenia, ale z pewnością oparłem na tym swoją karierę). Dlatego uzyskanie dostępu do JVM, bez pisania kodu bajtowego, jest samo w sobie pożądane.
Jednak maszyna wirtualna Python jest dobra, ale (nic przeciwko Pythonowi) ma poważne wady. Środowisko wykonawcze Python dobrze pasuje do dynamicznej natury języka, ale może naprawdę Cię zaskoczyć, gdy zapoznasz się z jego użyciem pamięci, globalnym blokowaniem lub modelem wątków.
W bezpośrednich porównaniach maszyna JVM jest zwykle dwa razy szybsza niż maszyna wirtualna Python. JVM (zaskakująco) nawet dobrze konkuruje z natywnie skompilowanym kodem, bazując na „gorących” optymalizacjach, które wykonuje. I to nie liczy się nawet z bardziej zaawansowaną obsługą wątków itp.
Uwielbiam Pythona, naprawdę to lubię i nie chcę tego mówić, ale czasami wydajność po prostu mnie uderza w zęby - w przeciwnym razie dlaczego krytyczne biblioteki Pythona, takie jak numpy lub scipy, musiałyby wracać do kodu C?
Innymi słowy, ludzie, którzy lubią Python, robią to, ponieważ lubią ten język . Ale jeśli chcesz napisać zupełnie nowy język odpowiadający twoim preferencjom, lepiej jest skompilować do JVM, ponieważ twój nowy idiosynkratyczny język zacznie się w jednym z najlepszych (subiektywnie, być może najlepszych) dostępnych środowisk operacyjnych.