После того как РНР выкатили JIT-компилятор, я стал задаваться вопросом, является ли JIT этаким стандартом для интерпретатора?
Все мейнстримные языки программирования (РНР, питон, джаваскрипт) теперь имею JIT, если и не в стандартной реализации, то существуют сторонние проекты (РуРу), которые реализуют компиляцию на лету. JIT есть и у менее популярных ЯП — lua, ЕМНИП, даже racket.
Увеличение производительности — хорошо, но, безусловно, не одной производительностью едины, вес интерпретатора (и его прожорливость) — тоже важная вещь, но, пожалуй, легче написать легковесный интерпретатор, чем JIT-компилятор к готовому языку.
Так вот, если предположить, что где-то в университете сейчас проектируют интерпретируемый язык программирования, должны ли товарищи программисты с самого начала рассчитывать на то, что у него будет реализована JIT-компиляция?