Это экстенсивный путь развития. И он не естественнен. Пользовательских машин на порядки больше, чем элементов множества (N x M) (где N - множество аппаратных платформ, а M - множество программных платформ). Следовательно, JIT-компиляция это экстенсивное решение проблемы создания и распространения |N x M| сборок одного программного кода. Не сложно прийти к выводу, что и GC является экстенсивным решением, т.к. алгоримт выделения и освобождения памяти предопределен самим программным кодом, а GC - это лишь экстенсивный инструмент преодоления этой сложности. Решением должно быть создание и совершентвование мета-инструментов. Отталкиваясь от Вашего упоминания Assembler'a можно прочертить интенсивный путь развития, очевидно не попавший в поле Вашего зрения: Assembler -> C -> C + макросы (как средство борьбы со сложностью) -> Vala -> ... При этом не стоит указывать на недостатки упомянутых инструментов, т.к. они приведены лишь для наглядного очерчивания "уровня" инструмента.
|