Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет ivanov_petrov ([info]ivanov_petrov)
@ 2009-06-11 10:12:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Дискретная реальность
Я видел довольно много замечательных системщиков и очень хороших программистов. Ну, может, и не больше, чем вы, но видел. Действительно крутых мастеров. И видел, как они работают. Долго мне блазнилось, что тут есть на что обратить внимание, и только недавно начало формулироваться.
Мои наблюдения в большей степени характеризуют саму область занятий, чем конкретных людей. То, что я скажу, относится к тому, как людей меняет их деятельность. Так вот, когда работает мастер в каком-то другом деле, картина возникает совершенно иная - красота и легкость. Особенная безошибочность - и именно из-за своей безошибочности кажущаяся естественной работа. Это видно у опытного врача, или художника. Тут, конечно, поставим паузу для цепляющихся - нет, все делают ошибки, и таланливые врачи тоже, и, конечно, художники - я не об этом.

Но когда я смотрел на работу мастеров цифрового дела - там было совершенно иное впечатление, хотя эти мастера были столь же в своей области эрудированы и мастеровиты, как помянутые врачи-художники в своей. Постарайтесь вспомнить - я не смогу объяснить, если у вас не возникнет собственного воспоминания-образа виденной работы цифровиков.

Она состоит из быстрого исправления ошибок. Нет безошибочности - просто мастер знает, что если вот так - значит, на предыдущем (предположим) ходу была ошибка, и тогда надо вернуться-отменить и сделать так. Это важно. Ошибается мастер по той причине, что эта сфера состоит из чудовищного, колоссального числа опций, выборов, конкретных альтернатив - помнить их все невозможно, знать заранее нельзя - и квалификация сказывается в быстрой ориентации среди них, в экономном исправлении ошибок. Путь цифрового мастера - ломаная линия, просто у новичка это запутанный клубок ломаных без выхода, а у мастера - довольно эффективный путь к результату с всего-то парой отмен-исправлений.

Я бы расширил эту попытку объяснить, в чем дело, до передвижения в городской среде. Мне пришло в голову, что в отличие от природной среды, в городе невозможно без ошибок. Ну нельзя всегда садиться в правильную сторону в автобусе на незнакомом маршруте, правильно поворачивать, выходить вовремя и не путаться на пересадках никогда. Все бывали в таких ситуациях, все помнят, это естествено. Понимаете? Естественно ошибаться. Есть люди, которые ориентируются плохо и тут же запутаются. Есть - кто хорошо, они быстро поймут ошибку и вернутся назад, исправят ее. Разница между молодцом и плохо ориентирующимся - не в том, что "мастер" всегда знает повороты - никто не может знать, он просто спокойнее и быстрее исправляется. Перемещение в незнакомом городе, чуждой городской среде - это последовательность выборов, сбора информации, ошибок, проверки и исправления ошибок.

Это я рассказал, но уверен - многие решат, что иначе и не бывает. Конечно, это естественно. Так всё, всегда, везде. Но нет же. Когда человек идёт, движения его мышц, связок и костей не детерминированы. При каждом шаге нога в целом и каждая мышца в некотором диапазоне решает, что ей делать. И движение каждой следующей мышцы на каждом следующем этапе состоит в компенсации мелких неточностей предыдущего движения и стадии движения относительно цели. Если было сжатие на 0.5% сильнее, то теперь, чтобы шаг удался, надо вот тут этой мышце тоже примерно на 0.7 сильнее, а этой наоборот чуть слабее. Движение состоит из плавной, постепенной и постоянной коррекции предыдущих движений, которые, если бы они были продолжены, привели бы к невозможности достижения цели.

Это не то же самое. В одном случае совершается выбор и он ведет к ошибке, и надо вернуться назад и отменить, сбросить результаты, выбрать другую опцию, поставить иное значение. Если мы будем считать последовательность действий шкалой времени, то в цифровой реальности время все время отменяется, запускается с какого-то момента еще раз, а в естественной реальности оно течет дальше - ошибка компенсируется, а не отменяется, потому что вариант ее выбора не детерминирует дальнейшее столь жестко.

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

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

Ошибка возникает из-за самой расчерченности пространства возможностей в клетку, из-за создания системы альтернатив. Как только создается среда, в которой каждый выбор достаточно жестко детерминирует последующий ход событий и выборы эти жестко разделены - это в самом деле альтернативные выборы, а не плавное изменение в непрерывной шкале - сразу возникает образ лабиринта с тупиками. Деятель оказывается в лабиринте, когда он мыслит жизнь как систему выборов. Как только мы начинаем внешне ясно и четко разбирать дискретную систему выборов - мы заранее подписались на множественные ошибки и тупики. В этой среде иначе не бывает. Безошибочность может быть достигнута, но для нее нужно создать условия безошибочности - ну, скажем, выйти из города в лес (и научиться ходить в лесу). Конечно, и мастер может заблудиться, и новичок, пока научится, поблуждает, но в городе не существует безошибочного перемещения - а в лесу оно возможно.

Люди, договорившись, создают искусственную среду рисков. Дело не в том, что риски есть и их можно подсчитать - сама среда может быть организована так, что риск будет крайне редким явлением, или так, что катастрофы будут заранее запланированы самими свойствами среды. При этом и лес, и город - богатые среды, речь не о вырожденной сложности - город еще и попроще будет, а управление компьютером попроще работы организма - и тем не менее где сложнее - там безошибочнее. Вроде бы дело именно в том, что действий много, а не мало, управление длительное и тонкое, на текущем процессе с возможностью вывести в правильное (ведущее к цели) русло почти любой последовательности действий. В компьютере, как системе грубой и очень простой, выборы жесткие и сразу ведут к результату, их не изменить, только отменить, дерганая ломаная линия поступков возникает именно из-за этого свойства системы.

Занятно, что ладно бы компьютер. Он, конечно, просто одна из машинок, и ничего более. Человек сейчас свои среды выстраивает компьютертным образом, он себя мыслит в качестве компьютера и - создавая образ себя - перенастраивает свое поведение таким образом. Наверное, чуть не каждый, кто играл в дум или его клоны, помнит, как после игры выходил в реальной жизни из-за поворота в два приема - шатнулся-выглянул потом пошел, или как перед оживленной трассой мелькала мысль - сохраниться бы. Это анекдоты, я знаю, и это пустяки. Я к тому, что мы, напряженно думая о дискретных средах, врабатываясь в них, внимая этим моделям и оживляя их, сами создаем в своей психике деятеля, который живет по законам цифрового мира и начинает в самых разных жизненных ситуациях действовать как при наладке компьютера - то есть катастрофично. Иногда это называют "модельным мышлением", но дело не в том сейчас, чтобы плодить синонимы и вспоминать, как еще это называется в еще одной области.

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


(Читать комментарии) - (Добавить комментарий)


[info]till_j@lj
2009-06-11 03:49 (ссылка)
Хороший пост. Начинал я действительно с представлений почерпнутых на втором курсе, а именно: расчертить блок-схему, последовательно закодировать её (это хорошо подходит для "академических" задач). Но в реальном деле меня научили более быстрому и эффективному методу: пишется нерабочая "рыба" и в процессе запуска и отладки начинает правиться, в идеале становится "вылизанной" под задачу и под клиента (некоторые мои комплексы, сделанные на сторону, работали по 5 лет без моего участия). Сейчас меня уже трудно назвать программистом, руки остыли. Но взгляд на решение проблемы расширился (например иногда можно созвать совещание и принять оргрешение, вместо того, чтобы в течении трёх месяцев править программу) и сформировалась пирамида решений (о графе задач и стеке заданий я уже молчу): на первом уровне обычно одно-три очевидных решения (они решат задачу с вероятностью 90%), на втором 4-6 решений (вероятность что они помогут процентов 7), ну и дальше на третьем около 15-ти, к нему переходить крайне нежелательно если дороги время и хватка, уже ко второму переходить нежелательно. Вот Вы купили новый системник вместо того чтобы просто заменить блок питания, хотя и то и другое решение находились на первом уровне, но купить системник немного проще, замена материнки лежала бы уже на втором уровне, а вот если бы кто-то из знакомых взялся разобраться (скажем) с выгоревшим контроллером винта (перепаять его) это был бы третий уровень. Как-то так.

(Ответить) (Ветвь дискуссии)


[info]ivanov_petrov@lj
2009-06-11 09:20 (ссылка)
вы так всегда думаете? языком уровней решений? во ужас.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]till_j@lj
2009-06-11 09:34 (ссылка)
Нет, не всегда. Только когда есть конкретная материальная задача(например организовать мероприятие, участники которого ничего не умеют делать и прогнозировать сами). Конструкта (часть своего разума), который занимается исключительно решением задач, я называю "достигатель". Как правило задачи внешние, внутренних я себе не ставлю, не интересно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ivanov_petrov@lj
2009-06-11 09:50 (ссылка)
пнимаю. имеется такая отделенная от вас способность. решающая задачи, объективная и внеличная. если даже сделает что нечеловечное - ну что с нее взять. это ж и есть не-личная сила. Ею думают.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]till_j@lj
2009-06-11 10:33 (ссылка)
Думать о человечности нужно самому на этапе постановки задачи этой штуке и зная её особенности. Любая просьба звучит для неё так "необходимо достичь результата любой ценой". Жена пару раз была свидетелем действий этого конструкта, её ужаснула манёвренность и беспринципность, но приятно поразило достижение за 4 часа того, на что у других уходит неделя. Но это всё при том, что я конечно "романсьеро"))

(Ответить) (Уровень выше)


[info]kondybas@lj
2009-06-11 10:00 (ссылка)
А человек не умеет иначе бороться со сложностью. Структурная/функциональная декомпозиция - единственный известный человечеству способ. Градостроитель оперирует на уровне плотностей застройки, заселения, коммуникаций и сервисов. Просто архитектор - на уровне жилплощадей и подсобных помещений. Строитель - на уровне стен, перекрытий, покрытий и отделки. Прораб - на уровне кирпича, плит и труб. Материаловед - на уровне марок цемента и фракций щебенки. Физикохимик - на уровне кристаллических решеток и фазовых состояний.

Блох больших кусают блошки,
Блошек тех - малютки-крошки,
Hет конца тем паразитам,
Как говорят, ad infinitum.

Блоха большая, в свой черед,
Кусает тех, на ком живет,
Та - блох побольше, шире в талии,
И нет конца им, и так далее.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ivanov_petrov@lj
2009-06-11 10:11 (ссылка)
Ну, раз Вы уверены, то я не буду спорить.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kondybas@lj
2009-06-11 10:29 (ссылка)
Ну, вот если взять врача, то у врача есть стандартные квадратно-гнездовые протоколы на случай любой болячки пациента. Скажем, приползаю я давеча в приемное с почечной коликой. Меня обмацали, скрозь УЗ внутрь заглянули, диагностировали, и с этого момента какое-либо творчество клинического врача исключилось. Стандартным коктейлем обезболили, рекомендованные ведерные дозы питья прописали, через оговоренные интервалы времени ультразвуком движняк проконтролировали, а градусником попутный контроль, шоб не воспалился. Ну, и по первому требованию - очередной коктейль анестетиков, чтобы не мешал своими воплями сестричкам телевизер смотреть. Всё. Почти все ошибки, какие можно было допустить в подобном случае - давно допущены, проанализированы и таблички развешены: туда не ходи, сюда ходи. Правда, остаются разные индивидуальные нюансы, вроде анафилаксии от анальгетиков, или синергия от двух и более болячек - но тут лекарь действует, как пресловутый Холмс Хаус. Пробует, ошибается и так до тех пор, пока не исключит все невозможное. А то, что останется, каким бы невероятным оно ни казалось, полагается за ответ.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ivanov_petrov@lj
2009-06-11 13:25 (ссылка)
да, я знаю про протоколы и стандарты

(Ответить) (Уровень выше)


(Читать комментарии) -