Эпистемология и компилятор

Разработка языка программирования требует также разработки по него компилятора, интерпретатора и/или виртуальной машины. Это — тривиальный факт из жизни программистов. Без строго контроля за тем, что и как язык выражает, ничего хорошего из текста программы не выйдет. У разработчиков есть своеобразное чувство юмора — создавать «эзотерические языки», такие что the worse, the better в самом прямом смысле — чтобы максимально усложнить написание на нём программ. Но и в этом случае нужно создать компилятор, который будет работать, и работать корректно. Вот гляньте на восьмой круг ада — Malboge от психа по имени Бен Олмстед. Это, как легко догадаться, корректный код программы, выводящий на экран фразу «Hello World»: (=<`:9876Z4321UT.-Q+*)M’&%$H»!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb’rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Это я всё к объяснению разницы и ценности онтологии и эпистемологии для гуманитариев, которые штампуют или пользуются терминами, теориями, онтологиями, для которых «виртуальная машина» не определена, неуправляема или вообще в полуразобранном состоянии и глохнет на каждой кочке. Нельзя сказать, что сие действо совсем не управляемо: процесс мыследействия идёт, и идёт успешно, пока не натыкается на необходимость пережевать нечто, по сложности сравнимое с самим собой.

Пока эпистемология не вычислима, претензии на логическую строгость теорий вызывают математическое сомнение. Когда же эпистемология вычислима, даже brainfuck-и и malboge-и не страшны, ибо ими занимается не тощий от усталости человек, а бодрый нечеловек, полный по Тьюрингу.

Компилятор или ВМ реализуют эпистемологию программы-агента, реализованного на данном языке, с данным синтаксисом, семантикой и онтологиями. И он должен быть и управляем, и вычислим.

Читайте также:

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