Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

На теологию кода

В коммент не помещается, поэтому помещу ответ для kusha по поводу его работы("Генезис графического пользовательского интерфейса. К теологии кода" https://www.academia.edu/7410230/, 39 страниц) прямо тут:

К сожалению, у меня сейчас не так много времени на то, чтобы грызть известняк науки в направлении философии кода, и уж тем более теологии оного. Хотя я и признаю, что регулярно касаюсь этих тем у себя в блоге (многое из того, что у меня тут было раскидано за много лет по кусочкам, как-то помянуто вами буквально на четырёх десятках страниц).

Так что буквально несколько замечаний:
1. Не показана современная позиция доработки философской мысли в философско-логическую сторону. Не показан водораздел между "думательной машиной" философов-логицистов и приверженцами разных сортов "интеллектуальных витализмов" (которые не верят, что думание вообще сводимо к какому-то коду). Всё проходит по линии "аналогий", "метафор", "блендинга" -- без выхода на какую-то формализацию. Заявленная идея "поиска абстракций" оказывается идеей "поиска метафор". Собственно, я и сам в своих занятиях системноинженерным мышлением так делаю, но хотя бы ползу к "системному языку", и последняя моя книжка уже содержит элементы схемного мышления (т.е. более менее формального, теоретического мышления) и даёт множество онтологических намёков. Т.е. через некоторое время у меня всё будет явно доработано в плане формальности подхода -- но у вас до этого не доходит. Явная ваша цель, т.е. приблизиться к (формально-логически, а не байками-рассказками задаваемой) онтологии кода, онтологии информатики, у вас так и не достигается. Когда вы говорите о развитии онтологических идей в современном программировании (которые они сами называют идеями моделирования данных), то в этом месте неплохо бы и указать отсутствие общепринятых и приемлемых онтологизаций для информатики как таковой -- привести некоторое количество работ на эту тему и указать на их слабость и неадекватность.

2. Неявно принято предположение о программировании-в-малом. В то же время сегодня на передний план вышло программирование-в-большом. Как презрительно говорят о "птолемеевской модели человека" (изучающей отдельного человека, и по большому счёту отрицающему социальность самой природы человека), так у вас просвечивает "птолемеевская модель кода" (по большому счёту отрицающая природу кодов как взаимодействия кодов -- в пределе в процедурной алгоритмике взаимодействие кода выполнителя с кодом исполнителя). И вообще, у вас computer science, информатика и алгоритмика получаются чуть ли не синонимами. А ведь это не так (как минимум, большой кусок по моделированию данных/онтологиям в информатику IMHO входит, а вот в computer science и алгоритмику -- нет).

3. С другой стороны, вы не проходите по онтологической линии, которая намечена в той же группе "Аттик" (выполнение программы -- это физический эксперимент: работающая программа это представленный компьютерным "железом" физический объект с какими-то вполне определёнными характеристиками, потом мы ждём некоторое время, в течение которого идут переходные процессы в веществе и полях компьютера, потом по окончанию этих переходных процессов смотрим конечное состояние, т.е. результат работы программы) и поддержана в ISO 15926 (исходный код это только описание программы, её репрезентация. А вот сама программа в момент работы -- темпоральная часть компьютера, физический объект). И дальше можно уже думать про дуализм программы и данных, кода-исходного и кода-исполняемого и т.д..

4. Там и тогда, где и когда вы говорите про переход внимания от объектов к отношениям, странно отсутствие отсылок к Витгенштейну ("мир дан нам как факты: отношения между объектами, ибо про сами объекты мы ничего сказать не можем") и прочим философским людям по линии модели Bunge--Wand--Weber. Более того, вся работа с семантическими моделями выросла по этой линии: факт-ориентированный подход ставится уже въявную в оппозицию объект-ориентированному.

5. А когда пишете про код-как-основу-всего, то там ведь Wolfram с его новой наукой -- http://en.wikipedia.org/wiki/A_New_Kind_of_Science (а вы только про его новый язык пишете), и подобных авторов про "код это наше всё" ещё ой-ой сколько.

6. Когда-то (в 1987г.) я приехал в Москву делать замечание людям с мехмата МГУ (группа "Аттик"), что они пропустили один из режимов выполнения кода: кроме компиляции и интерпретации можно выполнять код ещё и в режиме "непосредственного исполнения" (т.е. кроме интерпретации и компиляции команды "передвинуть курсор в редакторе на клеточку влево" можно ещё двинуть курсор командой, исполняемой путём нажатия на кнопочку "стрелка влево" на клавиатуре). Потом, после долгой теоретической дискуссии на эту тему, переделку программ для того, чтобы на равных (с возможностью перемешивания) включить режим исполнения кода и режим непосредственного исполнения на мехмате МГУ назвали "левенчукизация программы". В принципе, в .15926 Editor всё то же самое -- консоль с языком торчит на видном месте на передней панели, и можно либо выполнить действие прямо в окне редактора, либо выполнить команду языка для того же.

Обратите внимание на поворот внимания к этому в современном программировании, наиболее явно прописанный Chris Granger (http://www.chris-granger.com/2014/03/27/toward-a-better-programming/) и показанный им в демо https://www.youtube.com/watch?v=L6iUm_Cqx2s -- я сейчас с изумлением обнаружил, что хотел написать об этом всплеске внимания к важности "непосредственного манипулирования" у себя в блоге, но как-то расслабился и не написал.

7. Я лично не думаю, что теология кода как-то осмысленна: не думаю, что программисты вдохновятся новыми идеями на основе божественных метафор, а теологи будут развивать свою мысль, приводя примеры из программирования. Как "упражнение по поиску аналогий" -- да, а как "мощный механизм поиска абстракций" -- нет. Я считаю более продуктивным подход по философско-логической линии. И я неоднократно высказывал мысль, что уж скорее современное программирование и computer science дадут идеи для философов, чем наоборот (я и у англоязычных авторов встречал такое же мнение, так что я тут не одинок. Пруфлинки лень искать, правда).

8. С одной стороны, наука прирастает метафорами и блендингом, куда ж без них. С другой стороны, "бойся чертей и аналогий". "Маятник Фуко" Эко показывает, как опасно двигаться по найденным случайным рифмам природы: при специальном поиске эти рифмы находятся всё легче и легче, а сознание становится всё безумней и безумней -- особенно, если забредать в теологические и смежные с ними оккультные дебри. У меня ведь тоже была работа по "теологии кода", но сразу предупрежу (ибо встречал людей, принимавших этот текст за чистую монету): это было опубликовано в первоапрельском номере "Компьютерры" за 1999г., "Хакер Рама, Хакер Кришна" -- http://old.computerra.ru/print/3498/
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 64 comments