Конечно, хочется останоновиться со всем этим малопонятным "кодом" и попрбовать с другой стороны - от данных. Это позволит вместо мутной функциональной классификации перейти к чему-то более стрктурно-объектному. Как учитит великий и могучий Вирт, вумность данных неуклонно ведет к построению вумных программ. Огорчу. Работает только процессор (ну, еще пара-другая контроллеров), и понимает он только команды (код), а данные - это только довесок к командам. Все эти абстракции, помнящие, как именно с ним обращаться, это лишь абстракция. А, еще точнее, обфускация, т.е. преднаиеренное запутывание существа программистского дела. Как только возникает потребность в анализе или компиляции, вся эта шелуха счищается. Другая неприятность, поджидающая нас на пути морфологии данных, это тот факт, что интересуют нас обычно сложные данные, а разложение их на кирпичики - приводит к россыпи ничего не значащих банальностей. Или, даже, хуже к ляпам, вроде описания типа переменной в отрыве от ее инициализации. Взять, хотя бы, такую сущность как заголовок Forth-слова. Что нам от него надо, вполне описывается словами, имеющими с ним дело (т.е. кодом), но попробуйте перечислить все варианты хранения в памяти всех его "кирпичиков". И, более того, когда мы доразбираем заголовок до кирпичика "адрес", то придется вспомнить, что адрес может храниться не только в поле заголовка, но и в регистре, команде, стеке... Нужны нам все эти разносолы? Потому вернемся к коду.
|