🔥

Тред (@shelajev)


сразу быструю вводную чтоб не вносить смуту - graalvm - вот graalvm.org/docs/ умеет несколько языков, умеет запускаться на jvm, включает в себя node.js и может запускать ноду где вместо v8 свой JS движок.

для поддержки языка -- разрабатывается интерпретатор который во время работы специализируется для конкретной программы и потому отдается JIT компилятору. В результате получается достаточно быстро (хоть и разогревается сравнительно долго).

Самое главное конечно - это что не надо создавать рантайм (или даже компилятор оптимизирующий) для каждого из языков, соответственно поддержка языка становится гораздо-гораздо легче. Что немаловажно например когда javascript быстро меняется.

вот например как выглядит сложение github.com/graalvm/graalj… Не самым приятным образом надо сказать, зато нигде не просвечивает ассемблер какой-нибудь и даже такой программист как я например может прочитать и поправить что-нибудь

Все естественно написано на Java который мне кажется достаточно похож на JS (у меня опыт в основном джава не судите строго) поэтому мне кажется достаточно поддерживаемо.

вот например kangax.github.io/compat-table/e… GraalVM сидит на 86%. 20.1 который вышел в мае - должен быть где-то 98+ (мне кажется я не проверял). Можно скачать вот здесь - graalvm.org/downloads/ и попробовать вот так: graalvm.org/getting-starte…