Современная электронная библиотека ModernLib.Net

The Programmers' Stone (Программистский камень)

ModernLib.Net / Carter Alan / The Programmers' Stone (Программистский камень) - Чтение (стр. 12)
Автор: Carter Alan
Жанр:

 

 


      Философ Фридрих Ницше (Frederic Nietzsche) проделал большой путь в преодолении коммуникационного барьера картостроитель/паковшик и вызвал сильное волнение в своем местном обществе паковщиков тем, что заявил, что Сверхчеловек (Superman) не ограничен простыми законами. Он умер в психушке, но успел оказать значительное воздействие на философию.
      Ницше интересовался разницей между человеком, который реализовал свой потенциал, и тем, кто живет в общественной реальности паковщиков. Ему на самом деле не нравились хныкающие, завистливые, злобные, неумные обыватели, которых он противопоставлял своему Сверхчеловеку. Вновь он вызвал интерес у людей, занятых Тотальным Управлением Качеством (TQM).
      Зигмунд Фрейд (Sigmund Freud) опросил в Вене большое число женщин среднего класса и создал оригинальный психоанализ, который включал своеобразный (idiosyncratic) взгляд на мотивацию и импринты (preoccupations) человека. Не все его последователи поддержали эти импринты, но осталась его концепция "отчуждения" ('alienation'). Это такая ситуация, когда человек играет роль, вместо того, чтобы вести себя "подлинно" ('authentically'), и является, таким образом, отдалением, отчуждением от своих товарищей, которые также играют роли. Возможно, мировоззрением этого человека становится показная, фиктивная реальность, так что он становится отчужденным от самого себя и больше не может идентифицировать и осознавать свои собственные желания и заботы.
      Серен Кьеркегор (Soren Keirkegaard) озаботился тем, как мы можем вообще что-то знать в том сумасшествии, которое нас окружает, и создал философскую позицию экзистенциализма, где величину и значение действия может оценить только действующее лицо, на основе имеющейся у него информации. Этот вид социального релятивизма определенно выделяет личность из группы, в которой можно избежать условия самоцензуры картостроения, и человек может носить черное и плодиться. Он, однако, коварно предполагает, что нет такой вещи как объективная, внешняя реальность (или, если она есть, то не имеет значения, поскольку никто не знает, что это такое). Это лживо до абсурда, поскольку означает, что стоять на углу и корчить рожи -- это такое же дельное занятие, как облегчение ужасных страданий или строительство домов, если этот идиот говорит, что они есть. Этот аспект экзистенциализма противоречит опыту картостроителя, который приводит картостроителей к убеждению, что существует великой искусности внешняя реальность, и хотя никто из нас еще не представил ее себе полностью, она прекрасна. И если один из нас открывает явление, то оно очевидно подтвердит совместимость с любым другим уже открытым нами явлением. В этом смысле, внешняя реальность важна, даже если она не постигаема.
      За Кьеркегором последовал Жан-Поль Сартр (Jean-Paul Sartre), который написал условие членства в обществе, которое само себя отрицает, и Лэинг ( Ronald D. Laing), который привнес идеи экзистенциализма в психиатрию, где он наблюдал целые семьи, тайно сговорившиеся поддерживать одного человека, которому был поставлен диагноз "шизофреник" ('schizophrenic'), в условиях полного неведения, которые тратили значительную часть своих ресурсов, финансовых и временных, на защиту реальности паковщиков своих несчастных семей от угрозы со стороны оказавшегося среди них картостроителя. С точки зрения картостроителя, "пациент" находится в центре сложной сети мистификации и насилия, распределенной по всей семье, которую необходимо разорвать, если они хотят найти счастье. Точка зрения паковщика в том, что Лэинг "осуждает" родителей за "навязанную болезнь". Это означает, что работа Лэинга не встречает поддержки в клинической ситуации, где эффективная сила находится в руках родственников пациента (или он не был бы пациентом). Однако, коллега Лэинга, Мелани Клейн (Melanie Klein), которая выдвинула множество собственных идей, поработала в индустриальном секторе, и идеи экзистенциализма, выдвинутые Клейн, в промышленной психологии по-прежнему интересны.
      Недавно Питер Сенге (Peter Senge) из Sloan Business School при MIT написал о Системном мышлении (Systems Thinking), которое является подходом к решению проблем на основе формирования мысленных моделей и использовании таких вещей, как обратная связь.
      Когда мы попытались понять, почему некоторые люди так хороши в программировании, мы знали, что ответ будет очень интересным, но мы никогда не предполагали получить простую модель, которая могла бы также выявить универсальную тему у такого количества мистических и философских школ. Вероятно, так сделать было очень ценно, поскольку с таким количеством совершенно различных способов сказать об одном предмете ситуация для любого, кто безуспешно пытается пробить мышление паковщика, вместо того чтобы остановиться и изучить несколько предметов, очень запутанна. Чьи-нибудь друзья могут даже подумать, что тот впал в маразм!

Картостроение и ADHD

      Говорят, что существует расстройство, называемое расстройством с гиперактивным дефицитом внимания (Attention Deficit Hyperactivity Disorder -- ADHD), которое поражает 3% населения. Страдающие от нее, как можно предположить, влачат жалкое существование, она им мешает, но принимая соответствующие лекарства и получая поддержку, они могут надеяться на некоторую интеграцию в общество.
      В терминах модели картостроитель/паковщик, мы подозреваем, что ADHD может быть просто результатом естественного детского картостроения, когда дети, будучи умнее своих ровесников, становятся все более и более холодны к окружающим паковщикам, по мере того как они все упорнее и упорнее думают, пытаясь понять что от них хотят учителя-паковщики, ровесники и родственники, в то время, как взрослые считают этих детей непослушными или больными, поскольку им не видна очевидная дисфункция, требующаяся для того, чтобы сидеть и непрерывно выполнять одни и те же простые, бессмысленные, тупые действия, пока не станешь себя вести как стадное животное.

Как развивался этот подход

      Создание этой работы -- само по себе пример картостроения, поэтому будет показано, как была собрана вся картинка.
      Необходимость этой работы стала ясна после взгляда на то, что произошло, когда в компьютерную индустрию был внедрен стандарт ISO 9001. Оказалось, что в лучшем случае, он обеспечивал гарантию, что сертифицированная по ISO 9001 организация была по крайней мере выше уровня "Лаурел и Харди" ('Laurel and Hardy'), где кто-то смог потерять исходный код работающих у заказчиков программ, но не давал ничего позитивного для улучшения способностей программировать у занимавшихся программированием людей. Несколько лет назад был инцидент, когда работникам организации, которая производила программное обеспечение для управления огромными мельницами, пришлось посетить заказчика под благовидным предлогом, вынуть ПЗУ (ROM) и скопировать его для того, чтобы дизассемблировать содержимое и обеспечить поддержку программы. Никто из тех, кто оказывался в такой ситуации, никогда такое не забудет. Поэтому ISO 9001 был хорош, но реальная работа нуждалась в "инженерном чутье" и "здравом смысле", которые упоминались во всех лучших документах -- составляющих, которые мы не могли получить подражая автозаводам.
      Но затем мы увидели, что в некоторых организациях, существовала необъяснимая, но почти религиозная вера в то, что сведением всего к упрощающему процедурализму можно достигнуть совершенства, и что метры книжных полок заключают в себе необходимые простые процедуры. Окруженное процессом ограниченное обдумывание того, что нужно делать, могло быть заброшено или лучше уничтожено, и каждый мог бы бегать кругами, будучи "профессионалом", не достигая на самом деле вообще ничего. В те старые времена даже у самых бедных организаций исходный код был достаточно длинным, чтобы продавать его заказчику и платить арендную плату!
      Нам нужно было выяснить, в чем состоит настоящее программирование, чтобы противостоять как негативным последствиям плохо применяемого ISO 9001, так и как важный ингредиент, дополняющий хорошо применяемый ISO 9001. Основываясь на том, что в ISO 9001 было нечто упущено из описания рабочего места, и в честь сюрреалистического объявления лондонской подземки, эта работа получила в тот момент рабочее название 'Mind the Gap' ("Осознай пробел" / "Напоминаем о перерыве в движении" / "Осторожно, зазор").
      Мы начали с наблюдения, что есть некоторые программисты, которые гораздо лучше большинства, и что они согласны между собой, в том, кто они. Они могут разговаривать друг с другом о программировании, и хотя они часто не приходят к согласию в количественных оценках, они часто соглашаются в главном.
      Конечно, прямо с самого начала мы столкнулись с трудностями описания на "языке управленцев" того, что мы увидели, разговаривая с великими программистами. Мы проводили много времени споря в кружках, пытаясь поместить двумерное создание в третье измерение, показывая его последовательностью шагов, каждый меньше предыдущего. В целом, конечно, представление было с изъяном, поскольку не важно, насколько тонким был срез шага, он по-прежнему оставался трехмерным объектом, недоступным для двумерной твари. Но тогда мы этого не знали.
      В то же самое время мы смотрели на образ мыслей великих программистов изнутри, анализируя наш собственный процесс мышления в процессе работы, и наблюдая за другими. Это дало гораздо больший прогресс, и мы очень быстро идентифицировали "Программиста-Ремесленника" ('Artisan Programmer') как фигуру, больше напоминающую мастера-ремесленника прошлого, чем современного рабочего на конвейере.
      Мы также интересовались лежащей в основе акта программирования когнитивной нейропсихологией, но вряд ли вообще что-то получили. Мы не смогли найти много работ, связывающих субъективный опыт с его платформой, и одна из областей, на которую нам особенно хотелось взглянуть, это отличия в программировании у разных полов, оказалась особенно редко исследуемой. Приватно нейропсихологи сообщали нам, что различия полов в мышлении иногда очень трудно исследовать вследствие соображений "политкорректности". Однако, при отсутствии полезных психологических исследований, мы делали попытки сконструировать работающие определения субъективного опыта. Это случайно привело к мысленному эксперименту с простейшей программой, который окончательно похоронил внешний процесс, и заставил нас сконцентрироваться на субъективном опыте.
      Период с весны 1992 до осени 1995 мы провели в беседах с программистами, обсуждая и обдумывая то, чему мы научились. Мы должны были испытать сотни способов "рассказать историю", каждый из них погибал на языковом барьере. Однако, мы обнаружили, что некоторые немногие вопросы возникали вновь и вновь, в одном месте за другим, и на эти вопросы имелись правильные ответы. Они были сформулированы как Принципы Проектирования. Мы также обнаружили, что некоторые идеи и истории, которые нам рассказали великие программисты, оказывали очень положительный эффект на новичков, которым мы их рассказывали. Этот материал также был включен в Камень.
      Затем, осенью 1995, экстраординарная работа Фредерика Кантора (Frederick W. Kantor) в области физики "Информационная механика" ( Information Mechanics) дала главное вдохновение. В ней Кантор отбросил все костыли и попытался построить целостную картину физики чисто на концепциях информации. Вероятно, решением нашей проблемы стало бы отбрасывание всего того языка, который, как мы знали, не работал, и использование языка, который, как мы знали, работал. Возможно, посредством такой онтологической строгости, мы смогли построить самодостаточную картину, даже если она шла в разрез "главному направлению" реальности, что мы видели достаточно отчетливо.
      Очень быстро мы сфокусировались на движении сознания и увидели связь с алхимией. Быстро проявились связи с другими мистическими традициями, и мы пытались использовать инспирированный мистикой язык к новичкам, и объяснили цикличность алхимических путешествий. Мы обнаружили, что можем улучшить производительность программистов лучше прежнего, но мы все еще не могли объяснить на обычном языке -- почему. С этого момента мы называли наш проект "Развернутое сознание" (`Deployed Conciousness').
      Летом 1997 мы столкнулись с ADHD, и сразу распознали в чертах характера детей с ADНD великих программистов, с которыми мы разговаривали. Мы могли видеть, что делали дети, но нам казалось совершенно очевидным то, чего не видели психологи и другие профессионалы, и они могли бы научить их реальным вещам вроде теории чисел вместо того, чтобы пичкать амфетаминами, чтобы те сидели тихо и выполняли бессмысленную, в духе школы паковщиков, "работу". Это было большое потрясение, но оно дало нам важный ключ: здесь должно присутствовать некоторое ослепление сознания, что означает, что эти психологи были просто не способны понять детей и не могли даже осознать, что происходит нечто, что они не могут понять.
      Это показало нам, почему существует проблема языка -- восхитившись, когда это проявилось, нам пришлось заключить, что все наши коллеги действительно находились в одном из двух (и только двух) возможных состояний, и мы могли описать различия между ними. Мы быстро это записали, предполагая некую лежащую в основе нейрологию в виде черного ящика, возможно включающую сдвиг в стратегии обработки, раз некий ресурс или что-то другое достигло критического уровня и сделало переключение на другую стратегию оптимальным решением, и распространили среди друзей, которые с самого начала обсуждали с нами эти темы.
      Мы получили много откликов, в большинстве случаев положительных, но один комментарий оказался критическим. Нас спрашивали, не могли бы мы найти какую-нибудь связь между нашей работой и ME (aka CFIDS), истощающим послевирусным расстройством (debilitating post-viral disorder), которое разрушило жизни многих активных творческих людей. Многим картостроителям казалось, что они знают нескольких людей, пострадавших от ME, и мы составили список. Да, это все были активно думающие люди, а не наглые неинтеллектуальные "юппи", о которых говорили бы, что они подхватили "грипп юппи" (`yuppie flu'). Но далее, они все были думающими людьми, чьи чрезвычайно вежливые характеры вынуждали их отвечать на действия величайшей глупости, набрасывающейся со всем презрением, на какое может мобилизоваться паковщик, унынием, а не, скажем, гневом или презрением. Побейте обезьяну палкой подольше, и у нее повыпадают волосы. Это психологический эффект от постоянной психологической жестокости. ME проявлялась в период, когда фундаментализм паковщиков сокрушил все в мире, приводя к гигантской глупости и жестокости. ME с успехом могла бы быть следствием. Но почему только у вежливых? Они все были очень активны, они бы покрыли черепицей дом, потому что стало тепло, или объездили бы Канаду на велосипеде, чтобы отпраздновать ее открытие, хотя все они были мечтателями. Это не могло быть мечтательством, поскольку мы все мечтатели (daydreamers) ... и упал пенс.
      Различие между паковщиками и картостроителями заключается в том, что паковщики социально обусловленно подавляют свои естественные способности строить мысленные модели мечтая (фантазируя), и вместо этого скатываются к механически заучиваемым процедурным, ориентированным на действие реакциям. Мы могли отбросить нейрологические черные ящики, и просто сказать "мечтание" ('daydreaming'), чтобы навести мост к обычному языку. И тогда эмпирическая работа, как и понимание природы проблемы языка, все стало на место.
      Так завершился путь нашего исследования. Когда начинали, мы не знали, что найдем, но у нас была уверенность, что это окажется полезным. За первых три с половиной года мы помогали нескольким новичкам разрабатывать, но мало чего достигли еще. Мы собирали материал и искали закономерности.
      Вся работа заняла около шести лет, но это неплохо для глубокого результата. Если бы мы не начали, то никогда бы не достигли результата, который теперь предлагаем вам прочитать за гораздо более короткий срок, чем шесть лет!

Сложность космологии

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

Дилемма заключенных, свободное программое обеспечение и доверие

      Дилемма заключенных (The Prisoners' Dilemma) интенсивно изучалась как модель стратегии первого удара ядерными баллистическими ракетами. Там два заключенных содержатся отдельно, и обоим предлагается следующая сделка: "Если никто не сознается, вас обоих освободят. Если вы оба сознаетесь, то получите большие сроки. Если сознается только один, он получит маленький срок, а другой получит срок в два раза больше".
      Дело в том, что пока я могу быть уверенным, что ты не хочешь сознаться, лучшее, что я могу сделать -- это сознаться и отсидеть короткий или длинный срок, но при этом избежать двойного срока. Ты думаешь также. Поэтому, пока мы оба уверены (вспомните "уверенность" - "certainty" старых паковщиков), чего может и не быть, мы оба закончим тем, что будем сидеть длинный срок, хотя могли бы не сидеть вовсе.
      Этот результат угнетал во время холодной войны, когда значительное стратегическое преимущество могло быть достигнуто упреждающим ударом. В то время, как теоретики игр настаивали на том, что двойной обмен ударами неизбежен, человеческая раса оказалась способной вести себя рационально перед лицом полного уничтожения и избежать обмена ядерными ударами вообще, избежав ужаса, предсказанного теорией игр.
      В чем ошибалась теория игр? Все возвращается к проблеме обоснования уверенности, в терминах паковщика, в уверенности другого, что вы уверены... Это так сложно. Чтобы сделать это, оба игрока должны суметь оказаться рациональными -- что теории называют "сверхрациональными" ('super-rational') -- сами по себе и по отношению к рациональности другого. Кажется, нет другого очевидного способа этого достигнуть, кроме обращения Ганди (Ghandi) к людям, что казалось не слишком надежным людям, вооружившимся ядерным оружием.
      В модели картостроитель/паковщик, вещи гораздо проще. Если мы оба паковщики, мы оба получим большие сроки. Если ты паковщик, я должен сознаться, поскольку ты сознаешься. Но если мы знаем друг друга, то нам легко осознать способность друг друга конструировать мысленные карты и достигать прямого и полного их понимания. Если я знаю, что ты картостроитель, я знаю, что ты будешь в состоянии обнаружить хитрость Дилеммы, поскольку это не очень большая карта. Ты знаешь, что я картостроитель, поэтому ты также будешь в состоянии предсказать мое полное понимание этой простой хитрости. Поэтому нас выпустят. Другими словами, мы победим, поскольку разница между идиотами и здравомыслящими людьми -- вещь не сильно заметная, но видна только здравомыслящим людям. Для паковщиков это градация от душевнобольных (картостроители, которые не могут думать правильно и поэтому... <пауза> ... выход (escape)), через людей, которые могут запомнить лишь несколько пакетов знаний и поэтому глупы, до Ответственных Персон, которые применяют пакеты знаний с точностью роботов. Знаменательно, что хотя мы будем убивать миллионы и терять огромные богатства, играя в спасающие лицо игры, держа носы по ветру, как род человеческий мы удержались от уничтожения планеты.
      Озабоченнось паковщика уверенностью, без видения, как ее достигнуть, связаная с игрой с нулевым результатом в условиях материальной экономики и дефицита, ведет к очень ограниченному набору возможных транзакций. Чтобы заниматься программной инженерией, мы должны быть картостроителями, и Дилемма Заключенных показывает нам, что у нас есть возможность увидеть эффективные стратегии, которые недоступны паковщикам. Создание программного обеспечения -- это не игра с нулевым результатом -- если я копирую вашу программу, то она есть у обоих. И у нас нет дефицита, если только программирование хорошо оплачивается. Поэтому нам доступно гораздо больше видов взаимодействий (транзакций), чем у любой другой группы в истории. Мы уже начали находить примеры в совместной разработке стандартов, в коммерческих организациях, помещающих ключевые исходные коды в открытый доступ, и в росте рынка свободного программного обеспечения. Люди, которые совершают эти вещи, не беднеют -- преимущества лидерства часто перевешивают стоимость даваемого на сторону, которое вы все равно получите любым способом. Решение проблем музыкального бизнеса состоит в правильной оценке этой новой среды бизнеса, и пока мы делаем это, мы будем страдать от установленных по сговору цен, которые конкурирующие организации устанавливают сами для себя.
      Рынок программного обеспечения должен оставаться интересным достаточно долго!

Предопределенность

      В работе "Структура научных революций" ( The Structure of Scientific Revolutions) Томас Кун (Thomas Kuhn) ввел концепцию парадигмы-- лежащей в основе теории мира, которую даже не считают теорией, а вместо этого называют "реальностью". Целые общества совместно используют парадигмы, и они могут оказать необычайное влияние на поведение членов общества. Одно время была такая философская парадигма, названная "предопределенность" ('predeterminism'). Она говорит, что Бог распланировал жизнь каждого при рождении, и испытаний, которые выпадают на чью-либо долю, невозможно избежать, поскольку они были волей Бога и поэтому должны приниматься с благодарностью. Затем были религиозные споры, закончившиеся тем, что эта противоречивая свобода воли победила, а предопределенность была повержена. Это были хорошие новости, поскольку предопределенность мало устраивает людей. Если на все воля Бога, то наши слабенькие усилия мало чего стоят.
      Отбросив предопределенность, мы стали свободны верить, что мы можем немного управлять своей судьбой, что мы и делаем.
      Даже после этого мы все ждали, когда же упадет другой ботинок. Хотя мы верим, что результаты возможны, и поэтому мы прикладываем усилия, чтобы улучшить нашу жизнь, большинство из нас по-прежнему не верит, что возможно понимание, поэтому мы не делаем усилий, чтобы понять. Теперь, когда автоматизация сделала понимание необходимым и доказала его возможность, у нас есть шанс войти в новую эру человеческого знания -- настоящую Эру Информации.

  • Страницы:
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12