Re[9]: Жизнь внутри метода
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 29.10.08 16:42
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Pzz, Вы писали:


Pzz>>А если так: для любой программы на языке высокого уровня существует эквиавалентная программа на ассемблере, которая работает не хуже?


PD>А может, проще — для любой программы на языке ВУ существует эквивалентная программа на ассемблере, которая работает так же. Потому что программа на языке ВУ не работает вообще, а работает в конечном счете ассемблерный (машинный) код, порожденный из нее с помощью компиляторов. линкеров и прочих JIT'ов. Вот и возьмем эту эквивалентную программу в машинных кодах. Теперь одно из двух — либо ее нельзя улучшить (когда она уже в кодах), либо можно. Если верно первое — это значит, что компилятор и прочие создали такой код, который является идеальным, его же нельзя улучшить, так ? Из этого утверждения логически следует, что разрабатывать новые версии компилятора по крайней мере для этого процессора незачем, так как существующий компилятор уже создает идеальную программу. Если второе — доказано как минимум то, что существует программа, лучшая, чем создает компилятор. Это не помешает, конечно, улучшить компилятор, но после этого мы опять вернемся к исходной позиции. Вот и все доказательство теоремы.


Как написал IT это утверждение частично верно для одного наперед взятого компьютера/окружения.
Более того вы не учли что оптимальность машинного кода может зависить не только от программы, но и от входных данных. Яркий пример этому генерация сборок в ORMах для маппинга.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.