[userpic]

Re: ailev: Моделирование, метамоделирование, программиров 

metanymous в посте Metapractice (оригинал в ЖЖ)

Моделирование -- это наиболее общая деятельность по созданию любых моделей. Модельер (абсолютно неважно -- человек или компьютер) вычленяет из какого-то кусочка мира (материального или даже информационного) какие-то существенные (для Целей моделирования) свойства и создает "осколок мира", который корректно воспроизводит поведение мира в отношении этих существенных свойств. Модели могут быть как информационными (использующие фиксированную в какой-либо памяти информацию о структуре и свойствах модели, и вычислитель), так и натурными (использующими свойства самого мира -- типа модели самолета в аэродинамической трубе). Модель может быть и гибридной -- например, модель одного человека в другом (мы не можем сказать, насколько эта модель информационная, а насколько использует какие-то вполне натурные механизмы).
Программирование -- это наиболее общая деятельность по созданию информационных моделей. Информационные модели обладают тем свойством, что могут быть переданы в пространстве и времени, а также откопированы на другой носитель в знаковом виде. Программирование состоит из следующих циклических (итеративных) шагов: определение целей моделирования (какие свойства мира считать существенными), поиск закономерностей мира (наука), кодирование (формулирование закономерностей в потенциально исполняемом на целевом вычислителе виде). Использование модели -- это тоже может быть программирование, но уже другое программирование-2 (ежели информационная модель сама предназначена для целей моделирования -- например, программирование модели "самолета вообще" отличается именно этим от программирования модели конкретного самолета с использованием подготовленной на предыдущем шаге модели "самолета вообще". Как правило, языки (наборы знаков и их правила сочетаемости и интерпретации-выполнения) для программирования-1 и программирования-2 отличаются, и речь в таком случае идет о метамоделировании с некоторой иерархией этих "мета" (модель конкретного самолета, описанная на языке моделирования самолетов вообще, исполняемом в свою очередь на модели "самолетов вообще", описанной на языке программирования Фортран, исполняющемся на языке программирования процессора.
Кодирование -- это этап создания исполняемой модели на заданном исполнителе ("процессоре"), перевод из tacit knowledge в explicit knowlegde для этого исполнителя. Ежели исполнителем является человек, то это обеспечение понятности модели для других людей. Код -- это отчужденный от конкретного исполнителя текст (в общем семиотическом смысле этого слова, необязательно из букв и цифр) модели.
Так, можно хорошо воспроизводить работу Милтона Эриксона и быть его (натурной) моделью, но кодирование подразумевает изложение этой модели в знаковом виде и в таком виде передача для исполнения другому субстрату.
Собственно, проект openmeta имеет сейчас основной упор на кодирование, а новокодные практики главным образом опираются на создание натурных моделей без особого упора на промежуточный этап кодирования. Другое дело, что новый код концентрируется в том числе на создании модели создания натурных моделей без промежуточного этапа кодирования -- это тоже метамоделирование, но не информационное. Оно существенно использует то, что субстрат воплощает в себе как память для хранения кода модели, так и исполнитель этого кода, поэтому не требует промежуточного этапа кодирования (оно скрыто от внешних наблюдателей, код чудесным образом получается прямо в субстрате в результате внутреннего процесса моделирования). У нового кода остается одна задача (которую он выполняет, на мой взгляд, плохо): закодировать само знание о процессе "натурного субстратного моделирования" (тоже ведь модель моделирования, т.е. метамодель!) и обеспечить процесс инсталляции этого знания в субстрате. Собственно, эта модель и есть Новый Код. Подразумевается. что я загружаю Новый Код (путем чтения соответствующих книжек и выполнения указанных в них упражнений) к себе в субстрат, и затем оказываюсь в состоянии натурно моделировать exellence других людей. Особо замечу: но без возможности написать об этих моделях книжку, ибо в Новый Код модель кодирования практически не входит (разве в виде останков классического кода).
Вот в таком аксепте.