В частности, в википедии говорится, что «JIT-компиляция - это форма динамической компиляции, [...]» [1]. Но разве эти два термина не просто синонимы? Какая разница между двумя?
Есть ли примеры динамической компиляции, которые не являются JIT-компиляцией? Или, если это не удается, есть ли случаи, когда термин динамическая компиляция более уместен, чем JIT-компиляция?
Оба термина, похоже, относятся к выполнению компиляции во время выполнения. Оба термина, похоже, описывают компиляцию из источника, а также компиляцию байт-кода. Оба термина, похоже, охватывают оптимизацию времени выполнения.
Мое собственное впечатление таково, что JIT-компиляция - это термин, который стал популярным, потому что именно так называлась динамическая компиляция в Java VM. Эта концепция приобрела популярность, и другие среды выполнения программ начали ее копировать, называя с тем же именем, JIT-компиляция. Кажется, что термин «динамическая компиляция» предшествует этому развитию и в основном встречается в более старых научных публикациях.