программистская мудрость
Mar. 10th, 2022 03:52 pmЭто всё игра в бисер.
До тех пор, пока не происходит сайд-эффект. Мы ненавидим и обожаем сайд-эффекты. Мы ненавидим сайд-эффекты, потому что они не могут быть описаны с помощью игры в бисер. Мы обожаем сайд-эффекты, потому что это единственное, с помощью чего мы можем перевести птичий язык игры в бисер в простой и ясный результат. Например, нарисовать зелёную галочку на экране. Или красный крестик. И тогда (и только тогда!) мы понимаем, удалась наша партия игры в бисер или нет.
Вся работа - в правильном понимании символов и нахождении наиболее скромной формы, которая соответствует символам вокруг. И это всё символы. _execute_scenario принимает на вход scenario, из которого вынимаются actions, которые передаются в execute_subcommand вместе с scenario.config, который в свою очередь использует getattr для извлечения command_module с именем action, и оттуда же извлекается??? `command = getattr(command_module, text.camelize(subcommand))` (простите, не могу перевести пока что). Это всё игра в бисер. Она заканчивается в тот момент, когда я получаю сайд-эффект на экране, говорящий мне, что символы сошлись, или что они не сошлись и я неправильно понял символ action, который subcommand.
Простите... ныряю дальше в бисер.
До тех пор, пока не происходит сайд-эффект. Мы ненавидим и обожаем сайд-эффекты. Мы ненавидим сайд-эффекты, потому что они не могут быть описаны с помощью игры в бисер. Мы обожаем сайд-эффекты, потому что это единственное, с помощью чего мы можем перевести птичий язык игры в бисер в простой и ясный результат. Например, нарисовать зелёную галочку на экране. Или красный крестик. И тогда (и только тогда!) мы понимаем, удалась наша партия игры в бисер или нет.
Вся работа - в правильном понимании символов и нахождении наиболее скромной формы, которая соответствует символам вокруг. И это всё символы. _execute_scenario принимает на вход scenario, из которого вынимаются actions, которые передаются в execute_subcommand вместе с scenario.config, который в свою очередь использует getattr для извлечения command_module с именем action, и оттуда же извлекается??? `command = getattr(command_module, text.camelize(subcommand))` (простите, не могу перевести пока что). Это всё игра в бисер. Она заканчивается в тот момент, когда я получаю сайд-эффект на экране, говорящий мне, что символы сошлись, или что они не сошлись и я неправильно понял символ action, который subcommand.
Простите... ныряю дальше в бисер.
no subject
Date: 2022-03-10 03:56 pm (UTC)Интереснейший взгляд. Арифметика Пеано с сайдэффектами (с монадами). Надо подумать. Спасибо за идейки.
"Игру в Бисер" я когда-то бросил читать, поняв, что Гедель ее инвалидировал, и она превратилась в глупые мечтания, вроде плоской земли или из пушки на луну. Но с сайдэффектами - интересно.