Добавить комментарий

Оффтопик

Ну, положим, пример с rep movs vs MMX принципиального значения не имеет, не об этом речь...

Это была просто ремарка к... вычислительной эффективности.

Макро тоже не в тему, поскольку это всего лишь техническая разновидность реализации словаря...

Позволю себе не согласиться... но об этом в следующем абзаце.

Проблема в том, что алгоритмическое решение задачи существенно зависит от исполнителя

Мне кажется(!), что эта проблема надумана (я не настаиваю на своей точке зрения, но...). Итак, мне кажется(!), что Вы решаете задачу на каком-то языке и, тем самым, привязываете это решение к тому, кто понимает (транслирует/компилирует) данный язык. Другими словами, данная проблема привносится способом решения.
Давайте попробуем подойти к решению задачи с другой стороны. Есть некая предметная область со своим словарем. И именно с помощью этого словаря (а не словаря исполнителя!) запишем решение задачи. (Собственно, именно это и делают аналитики и проектировщики). Теперь мы имеем решение не привязанное к исполнителю, и наш следующий шаг состоит в том, чтобы сделать такую привязку (спроецировать решение задачи на конкретную языковую среду (исполнителя) со своим словарем). Если мы используем ЯВУ, то это свой уровень абстракции, если ассемблер, то... здесь можно использовать встроенный макро-язык (тонкая и эффективная настройка на конкретную среду решения задач, но и... трудоемкая, конечно). Например, используя FreePascal, который имеет возможность компилировать программу на множество процессоров, мы абстрагируемся от конкретики процессора.
Но и решение в терминах предметной области тоже может иметь свои уровни абстрагирования, о которых, часто забывают. Как следствие, словарь предметной области получается неполный и неточный. А дополнение словарей, при больших объемах наработанного материала, процесс очень трудоемкий (см. рефакторинг многих задач).
Если необходимо, то все сказанное можно проиллюстрировать множеством примеров, из разных предметных областей... но в другом топике, дабы не создавать offtopic.