>> Ну, это скорее её недостаток. Ей ведь надо балансировать между скоростью запуска и скоростью работы, вот и выкручиваются, как могут.
> На серверах, где программа перезапускается редко и работает долго, это не проблема. А у программ скомпилированных "до конца", такой проблемы нет.
>> Но упаси боже, не в том же виде, в каком предлагают его LLVM и JVM.
> В чем суть отличий "того же вида" от не того?
Суть в том, что от проектов LLVM и JVM то и дело слышны возгласы, что мол проекты позволяют достигнуть производительности компилируемых языков, и что производительность их за так сильно возросла именно за счёт JIT. Надо понимать, что JIT всё-таки хоть и может привести к повышению производительности, но вообще говоря не для неё создан, ибо "до конца" с компилированные программы по-любому дадут более оптимизированный код.
А вот что касается возможности генерации кода на лету - то это действительно очень востребовано. Во-первых любой REPL[1] на этом основан, во-вторых - очень удобно генерировать функцию на лету и возвращать её в качестве результата работы другой функции. "Да и вообще, какой смысл писать программу, которая даже не умеет модифицировать свой код?" [2]
>> А вот тут я бы попросил объяснить, что имеется в виду.
> Различные системы, предоставляющие пользователю специализированный язык для решения
> его задач: Маткады всякие, статистические пакеты типа R или Incanter, шеллы,
> приложения с поддержкой макрокоманд, мало ли что еще. JIT в них
> не всегда оправдан, но бывают случаи, когда объем вычислений значителен и
> JIT окупается.
Ну, это всё же частные случаи второго пункта, про модификацию программы во время выполнения.
[1] https://ru.wikipedia.org/wiki/REPL
[2] http://jim.pp.ru/chtivo/prosa/porgrammerstory.htm