Другая причина заключается в том, что JVM является высоко оптимизированной, хорошо развитой и чрезвычайно полной экосистемой. Сам по себе он очень хорошо конкурирует с любым другим компилируемым языком. (Я не скажу, что это лучшая виртуальная машина общего назначения, но я определенно положил на это свою карьеру.) Поэтому получение доступа к JVM, за исключением написания байт-кода, само по себе желательно.
Тем не менее, Python VM хорош, но (ничего против Python) имеет ряд серьезных недостатков. Среда выполнения Python хорошо подходит для динамической природы языка, но может по-настоящему удивить вас, когда вы познакомитесь с его использованием памяти, глобальной блокировкой или моделью потоков.
При непосредственном сравнении JVM обычно в два раза быстрее виртуальной машины Python. JVM (удивительно) даже неплохо конкурирует с нативно скомпилированным кодом, основанным на «горячих» оптимизациях, которые он выполняет. И это даже не считая более сложной обработки потоков и т. Д.
Я люблю Python, правда, и мне неприятно это говорить, но иногда производительность просто бьет меня по зубам - в противном случае, почему критические библиотеки Python, такие как numpy или scipy, должны вернуться в C-код?
Другими словами, люди, которые тяготеют к Python, делают это, потому что им нравится язык . Но если вы хотите написать новый язык в соответствии с вашими предпочтениями, вам гораздо лучше компилировать в JVM, потому что ваш новый идиосинкразический язык будет начинаться в одной из лучших (субъективно, возможно, лучших) доступных операционных сред.