Спасибо за вопрос, который я считаю глубоким вопросом, и
пожалуйста, прости мое пламя ...
Частичная оценка - это прекрасная концепция, красота которой полностью потеряна в, казалось бы, бесконечном желании создавать умные, но безмозглые инструменты, чтобы вывести вещи из рук / умов программистов.
Вот почему это не так много.
Всякий раз, когда вы пишете программу A, которая пишет программу B (это базовый навык, который каждый программист (по моему мнению) должен знать, как использовать, и , когда использовать), вы выполняете частичную оценку ,
Поскольку некоторые входные данные известны на ранних этапах и не часто меняются, программе не нужно постоянно проверять, что это такое.
Вы можете взять информацию, которая вряд ли когда-либо изменится, и передать ее в качестве входных данных A, и заставить A распечатать программу B, которая просто «знает» статический ввод, поэтому все, что от нее требуется, - это обработать непредсказуемый динамический ввод.
Но как только кто-то пытается написать инструмент для частичной оценки, он выводит мозг программиста из цикла, и это его убивает.
То же самое относится и к оптимизации.
Когда программист уступает свое суждение инструменту, очень мало результатов, потому что нет инструмента (пока, по крайней мере), который мог бы постичь код так, как программист.
Конечно, стоит попытаться создать инструменты, которые понимают код так же, как программист, но глупо полагать, что было выполнено.