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

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

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

 

 


Конечно же, этого никогда не произойдет, поскольку ни один из спящих процессов не освободит базу данных, которой он уже владеет, и спать им вечно. Самый простой способ избежать такой ситуации в реальных проектах -- сделать это случайно, и это не особенно мудро. Слово customer после сортировки по алфавиту стоит перед словом stock, поэтому при массовой закупке напитков стоит обратиться сначала к базе данных склада до обращения к базе данных заказчиков, даже если это означает, что возникают ситуации, где только один уже имеет доступ к базе данных склада, и поэтому приходится освобождать склад, запрашивать заказчика, запрашивать склад. Это стоит делать и пусть так и будет, либо доступ будет предоставляться одновременно либо некоторый другой нужный процесс будет попадать туда и циклы будут хорошо использоваться.
      Динамический тупик (livelock) -- это вариация тупика, когда (например) каждый процесс возвращает код ошибки вместо впадения в спячку, и пытается помочь, освобождая уже захваченные ресурсы, а затем начинает с начала своего списка покупок. Поэтому оба процесса гоняются за хвостами друг друга до тех пор, пока один или другой не сделает достаточно кругов и не получит оба ресурса сразу и не прервет кружение.
      Итак, теперь вы знаете о динамическом тупике. По горькому опыту вы узнали динамический тупик, и вы распознаете потенциальный динамический тупик, когда с ним столкнетесь. Теперь представьте, что вы собираетесь встретиться с другом. Вы не уверены, в каком из двух баров вы хотите встретиться, поскольку всегда один оживленный, в то время как другой похож на морг, и вы никогда не можете сказать как все будет на этот раз. Вы не знаете, в какой из них пойдете сначала. Эти два бара находятся в разных концах квартала. Конечно, вы знаете о динамических тупиках. Вы же не собираетесь, как бегающий по планете Земля мохнатый зверек [тут, по-видимому, намек на бешеную собаку, которой семь верст не крюк - С.К.], впадать в динамический тупик, накручивая с товарищем круги между этими двумя барами в поисках друг друга. Когда придет время назначать встречу, вы -- тот, кто скажет: "А если ты захочешь проверить другой бар, погуляй по берегу реки у квартала, так что я увижу тебя, если попаду в ту же ситуацию!"
      Это вы. Это вы человек такого типа. Человек, с которым вы собираетесь встретиться, уже восхищен вашим воображением и заботливостью, и одобряет этот план.
      Итак, что мы поняли и что заплели. Когда вы понимаете динамический тупик, то понимание динамического тупика -- осознание того, что в мире происходят подобные вещи, и что вам приходится с ними сталкиваться -- становится частью вашего сознания.
      Теперь представим, что вас попросили рассмотреть информационные потоки в большой корпорации, чтобы разработать алгоритм управления сетью, оптимизирующий пропускную способность. Вы выполняете изучение как картостроитель, как это было с динамическим тупиком, и в конце концов вы испытываете озарение (проблема схлопывается), что позволяет вам увидеть элегантную, устойчивую и расширяемую стратегию управления сетью.
      Теперь эта стратегия, точно так же как динамический тупик, является частью вас. Когда вы видите, что составляющие проблемы где-то повторяются, а составляющие вашей стратегии можно с очевидностью применить хоть сейчас, вы можете поклясться страшной клятвой "Это именно так!" и не сможете объяснить почему. Поэтому когда вы впоследствии излагаете свое элегантное, компактное понимание на языке программирования и заставляете его работать, то какого размера копия малой частички вас обеспечивает работу корпоративной сети 24 часа в сутки?
      Это глубокий вопрос, и его не так просто понять. Чтобы увидеть, в чем тут суть, почитайте фантастическую повесть Марвина Мински и Гарри Гаррисона "Выбор по Тьюрингу" ( The Turing Optionby Marvin Minsky and Harry Harrison).
      Для обладающих традиционным философским складом мышления мы в этой связи можем привести дополнительные наблюдения. Обычно сущность, такую как абстракция Платона "двойственность", нельзя увидеть непосредственно, а только как проявление: как двух собак, две ноги или два глаза. Обычно считается, что сущность обнаруживается некоторым образом в проявлениях, поскольку абстракция двойственности остается даже тогда, когда перед нами нет пары чего-либо. Проявление обычно, если завуалированно (covertly -- в том смысле слова, как его использует Спенсер-Браун), выглядит как результат сущности.
      Теперь посмотрим, что происходит при написании простейшей программы. Треугольник творчества, включающий в себя динамику проблемы, семантику системы и желание, определенно является проявлением, поскольку располагается в голове программиста, который должен действительно и физически существовать. Однако треугольник творчества остается в виде своего продукта, "вилки" ("Хода Конем"), которая есть сущность построения карты (взаимосвязей) от динамики проблемы к семантике системы. "Вилка" ("Ход конем"), которая есть сущность, в этом случае является образом треугольника творчества (и происходит из него), который есть проявление. Можно ли эту смену на противоположное обычно принимаемого направления онтологического приоритета соединить со странным путем, которым микросхема ПЗУ (ROM chip) получает специфицескую порцию отрицательной энтропии, побывав в наших руках?

Тейяр де Шарден и Вернор Винж

      Пьер Тейяр де Шарден (Pierre Teilhard de Chardin), палеонтолог и иезуит, в середине 1950'х написал книгу "Феномен человека" ( The Phenomenon of Man). Строя картину исходя из ископаемых находок и заполняя свойства черных ящиков частей своей модели, которые он не понимал, полуаллегорическими, полурелигиозными предположениями, он пришел к необычному взгляду на эволюцию, предлагающему предсказуемое направление будущего развития. Хотя мысли Тейяра де Шардена были очень необычны в то время, его идеи переместились в центр взгляда некоторых людей на то, что случится с технологиями и миром вообще. Работа не изменилась, просто мы получили свидетельство, что ментальная модель эволюции, предлагавшаяся там, оказалась очень близкой к истине.
      Тейяр де Шарден обнаружил рост сложности форм, сначала путем агрегации атомного вещества при образовании планет (геосферы), затем на геосфере с появлением жизни (биосферы), затем развитием жизни до появления разума. Он предположил, что следующая стадия -- это интеграция единиц разума и создание "ноосферы", которая будет новым действующим игроком, использующим входящие в него сознания как платформу, также как сознание использует мозг, а мозг использует молекулы. Свойства и соответствующее влияние на окружающую среду для сознаний, мозгов и молекул полностью различны, и мы можем ожидать, что новая стадия не будет исключением.
      Он утверждает, что для образования агрегированной формы не нужно никакого принуждения к требуемой адаптации скоординированных состояний достаточного числа отдельных сознаний -- возможно, это то, что мы видим в "однородной команде" (gelled team), которая совместно использует мысленную модель происходящего. Он предположил, что окончательное слияние будет тем, что он называет "Точкой Омега" (Omega Point), где скоординированное взаимодействие составляющих ноосферу сознаний подавит нескоординированное действие и возникнет новое состояние.
      Он не обошелся без критиков -- сэр Питер Медавар (Sir Peter Medawar) написал злобную атаку, сосредоточенную на изменениях в языке на стыках между убедительными доказательными частями аргументации и процессами неизвестного происхождения, помещенными между ними. Особенно Медавар возмущался использованием слова "вибрация" (vibration) там, где с очевидностью следовало использовать слова "совокупление" (coupling) или "принуждение" (constraint), которые не так возмущали бы Медавара. Проблема в том, что картостроителям приходится работать с вещами, которые они не понимают, поэтому местами язык неизбежно становится немного расплывчатым. Именно отсюда приходят новые теории (и можно сказать, что программа -- это теория программиста относительно проблемной области). К сожалению, этот вид языка приводит некоторых людей в состояние сумасшествия, даже не смотря на то, что большинство хороших вещей временами нарушает каноны, хорошо если только в форме высказывания о том, что вещи "хотят" делать то или это, а то и наполняя неизвестный механизм антропоморфизмом, что просто глупо, будучи применено к электрону, не говоря уже о муравье, демонстрирующем "невыразимый дух", но это из некоторых предположений более приемлемо.
      В качестве последнего примера, прислушайтесь к Ньютону, который описывал явления, которые он мог наблюдать, но которые не находили места в его собственной картине физики, и механизм которых он не мог объяснить (и которым был посвящен целый раздел в этой работе)...
      Конечно, это хорошо известный факт, что Ньютон проводил значительную часть своей жизни "путаясь с теологией"!
      Вернор Винж (Vernor Vinge) -- профессор математики в Университете Сан Диего и один из лучших писателей-фантастов. В своей знаменитой работе "О сингулярности" ('Singularity Paper') (воспользуйтесь WWW [ ] и научно-фантастическими книгами "Сквозь время" ( Across Realtime) и "Пламя над бездной" ( A Fire Upon the Deep)) он предположил, что разум обитателей этой планеты будет возрастать как путем генетического усовершенствования человеческого мозга, так и расширения его возможностей с помощью "железа" и построения новых компьютерных архитектур, включающих человека. После этого сети и новые реалии, происходящие из дальнейшего развития, создадут мир, который мы не в состоянии даже представить с позиций нашего нынешнего состояния.
      Схожесть идей Тейяра де Шардена и Винжа поразительна, только мы, помещая эволюцию в быстрый реактор программного обеспечения, сжимаем миллионы лет органической эволюции, которые нужны (по Тейяру де Шардену) для создания ноосферы, в тридцатилетие (о чем говорит Винж).
      Но не принимайте эти наши слова на веру -- проверьте (изучите), посмотрите, дает ли это новую перспективу тому, что происходит с миром, когда вы программируете, и, главное, думайте об этом лишь для упражнения!

Общество разума

      Марвин Мински (Marvin Minsky) в "Обществе разума" ( The Society of Mind) предположил, что феномен человеческого разума возникает из взаимодействия множества неразумных обрабатывающих агентов, которые действуют в мозгу как со-процессы, каждый со своими собственными триггерами и программами действий. Агенты затем соединяются и подвергаются арбитражу посредством "сетикета" ('nettiquette'), что позволяет им определять направление деятельности организма как целого. Когда мы чувствуем себя проявляющими свободу воли в потакании нашим прихотям, мы на самом деле просто следуем решению, которое уже возникло в коллективе агентов. Эта модель определенно имеет свои привлекательные стороны и дает основу для стимулов, для удовлетворения которых мы применяем творчество и интеллект, но, как кажется, не дает полезного описания самих творчества и интеллекта. С этими обобщенными средствами познания, мозг, как кажется, должен использоваться как управляемый прибор распознавания образов общего назначения, внутренние представления которого подсоединяются к сенсорным компонентам опосредованно (косвенно), по крайней мере так, чтобы абстрактное и конкретное можно было рассматривать с одинаковых позиций.
      Соотношения между моделью общества разума (для познания и мотивации) и средствами общего назначения отражают отношения между тем, что мы называли стратегиями паковки и картостроения, и существует дальнейшая параллель с двумя простыми подходами к управлению данными при проектировании компьютерных систем.
      Хэширование действует путем абстрагирования (извлечения) некоего ключа из данных -- возможно, беря 20 символьное имя из поля и складывая численные значения всех символов. Это число затем может использоваться для индексирования таблицы и нахождения полной записи. Реальные хэширующие алгоритмы разрабатываются так, чтобы максимизировать разброс получающихся из типичных входных данных чисел, и должны учитывать ситуации, когда хэш уже переполнен, сохраняя ссылки на несколько записей, так что извлечение включает проверку полного ключа для каждой записи. В простых ситуациях хэш часто очень эффективен, и напоминает паковку, где некоторая абстракция ситуации используется для извлечения "подходящего действия". Как представляется, при паковке плохо обрабатываются переполнения хэша. Они даже не будут замечены, пока один или несколько участников не обнаружат явные, быстро проявляющиеся (short term) потери от "подходящего действия". За этим последует "спор", в котором паковщик укажет на один путь абстрагирования ключа из ситуации и утверждать, что это "именно тот случай", в то время как другой укажет на другой алгоритм хэширования и будет утверждать, что нет, это "тот случай". Это не продуктивно и показывает изъян описанной стратегии при превышении некоторого уровня сложности проблемы, где мы пытаемся буквально впихнуть слишком много вариаций в слишком маленький хэш и не развиваем навыки выполнения при необходимости большого числа проверок полного ключа.
      Объектные модели позволяют хранящимся в компьютере структурам данных усложняться и изменяться, подчиняясь семантике моделируемых объектов. Вид всей структуры данных в процессе обработки может полностью измениться, а извлечение данных всегда остается "естественным" в том, что данные всегда там, где они "должны" быть -- они все непосредственно связаны с соответствующими другими данными. Следовательно, там нет сложности, внесенной чужеродным алгоритмом типа хэширования, которую требуется устранить с помощью чего-то еще, типа дополнительного сравнения ключей. Выше определенного уровня сложности объектные модели более удобны чем хэш, но, несомненно, их труднее реализовать. Причина, по которой мы можем использовать их сегодня за малую цену, в том, что мы получаем большую поддержку от языков для описания объектов, и у нас есть операционные системы, управляющие свободной памятью. Объектные модели представляются настолько похожими на стратегию картостроения, что мы описываем картостроение как попытку сконструировать жизнеспособную объектную модель проблемной области.
      Эти параллели между функциональной (общество разума и распознавание шаблонов), субъективной описательной (паковка и картостроение) и вычислительной (хэширование и объектное моделирование) моделями сознания предполагают, что вполне может существовать нейрологическая корреляция с описанными нами стратегиями картостроения и паковки. Мы определенно знаем, что ранняя стимуляция детей приводит в увеличению роста нейронов и их переплетению в мозгу ребенка, и это коррелирует с большей "интеллектуальностью" ('intelligence') (что бы это ни означало) во взрослой жизни. Что бы ни было "интеллектуальностью", навыки познания и решения проблем, что тестировалось, слабо проявлялись на тейлористском паковочном рабочем месте, где основная идея заключается в деквалификации и ограничении поведения.
      Вероятный вопрос в начале информационной эры -- это: "Какая часть вашего мозга предназначена для использования на работе?"

Картостроение и мистицизм

      В самом начале, мы посмотрели на два разных пути решения проблем. Паковка характеризовалась как социально обусловленная привычка обрастать "пакетами знаний", которые определяют "подходящее действие", а не исследовать или переконфигурировать соотношения между пакетами знаний. Эта стратегия деградирует в практику подгонки реальности под известные пакеты и возложение ответственности на фортуну, когда что-то происходит не так. Картостроение, наоборот, включает в себя инвестирование в построение внутренней объектной модели мира по мере его восприятия и получение рычагов путем обнаружения глубокой структуры. Картостроение можно совершенствовать изучением методик, которые помогают исследованию концептуальных пространств и помогают действительно увидеть происходящее перед глазами, распознавая в происходящем глубокие структурные паттерны. Картостроители могут гибко реагировать, и они -- единственные люди, которые в состоянии предложить новые подходы. Они могут учиться гораздо быстрее паковщиков, и пока они ищут глубокую структуру, они смотрят на нее как на еще неразгаданную тайну. Опыт картостроителей и паковщиков в совершенно одинаковых обстоятельствах может оказаться совершенно различным.
      Картостроение -- естественное состояние человека, и каждый в душе картостроитель. К сожалению, сообщества людей по всему миру развили альтернативу, которую мы называем паковкой, примерно в то же время, когда появилось земледелие, т.е. около 6000 лет назад. Она не могла возникнуть раньше -- доаграрный паковщик, борющийся с диким животным на охоте, мог тяжело поплатиться, если бы обращался к небу и кричал, что животное плохо следует процедуре!
      Альтернатива включает людей, убежденных, что хорошая жизнь заключается в следовании предварительно заданным процедурам и подавлении любых альтернатив. Она должна была принести преимущества построенным вокруг выращивания урожая новым сообществам, когда на полях должна быть проделана значительная скучная работа, и если дела идут тяжело, то единственное что можно делать -- это трудиться, трудиться, трудиться до сбора урожая. Таким образом, паковка включает социализацию (приобщение) молодежи к мировоззрению паковки и построению общества, где реальность состоит в подходе паковщика и наборе пакетов знаний, и ничего больше. Любой человек, предполагающий, что могут быть другие способы взглянуть на вещи, окажется в оппозиции с каждым членом общества, в котором он оказался, в оппозиции к неэффективности общества паковщиков и ритуализированному образу жизни, даже когда социальные обстоятельства дают сбой. Этому раскольнику могут быть приписаны загадочные свойства, вроде магической силы, если ему повезет реализовать некоторые идеи здравого смысла, либо безумность, если окружающие паковщики вовремя задумают саботировать его отклонения. Большинство людей не смогут поверить, что может существовать какой-то другой, отличный от паковки, подход к мирозданию.
      Сегодня в развитом мире спрос на работу в три погибели невелик, но есть огромная потребность в сознательных людях для создания новых программ автоматизации. Только естественные картостроители обладают способностями распознавания образов (структур), существенных для написания компьютерных программ.
      В течение большей части времени своего существования стратегия паковщика, вероятно, хорошо послужила своим пользователям, поддерживая порядок на полях и на первых фабриках, обеспечивая условия для выполнения простого ручного труда, который был необходим для выживания. В тех условиях это было важнее, и хотя литературе можно было бы уделить побольше внимания, со времен изобретения печатного пресса всегда было гораздо больше поэтов, чем печатных прессов, поэтому, вероятно, эта способность стоила немного. Но в начале 20 века эра индустриализации сделала паковку опасно неэффективной стратегией. Просто мы были слишком богаты. Наши машины позволяли нам делать вещи, о которых не могли мечтать предыдущие поколения, и нам нужно было понимание, чтобы их использовать. Попав в сети мировоззрения паковщиков и обладая неприменимыми в индустриальном обществе пакетами знаний, Европа была разорвана на части, поскольку миллионы пошли воевать, вооружившись двигателями внутреннего сгорания, гусеничными машинами, колючей проволокой, пулеметами, горчичным газом, аэропланами и другим оружием, что извращало доиндустриальный пакет знаний "Война -- это продолжение дипломатии другими средствами" в любом разумном дипломатическом определении целей на основе одной лишь цены.
      Теперь все начало трещать по швам. Мы достигли мечты веков, исчезла потребность работы миллионов, освободив их время на то, чтобы делать то, что они пожелают. Пока мы называем это безработицей, и по-прежнему занимаем миллионы не требующей большого напряжения ума работой, просто манипулирующей предметами аграрной экономической системы. Существует так много такой непродуктивной работы, что ее трудно увидеть сразу, но каждый кассир в супермаркете, кассир в банке, билетный контролер, сборщик налогов, бухгалтер и многие, многие другие на самом деле заняты непродуктивной работой. Лишь небольшая прослойка населения выполняет работу, действительно необходимую для поддержания нашего материального благосостояния, и мы до сих пор убеждены, что живем в нужде!
      Даже видимые сейчас противоречия, гораздо худшие, чем когда-либо в истории (паковка всегда приводит к определенной глупости, когда приходится принимать решения в необычной обстановке), не могут указать путь обратно к картостроению на языке паковщика. Можно сказать, что предотвращение обсуждения картостроения -- это развитая за тысячелетия функция языка паковщика! Поэтому в прошедшие времена возврат к картостроению должен был быть действительно очень редким событием. Если эффективность или приемлемость картостроительного подхода к проблеме становится объектом обсуждения, то мнение большинства паковщиков будет всегда таким, что не важно, что результат был получен, поскольку он был получен "неправильно".
      Только сегодня у отдельных людей есть реальная возможность поупражняться в картостроении и получить так важную для обучения реалистичную обратную связь. Это происходит потому, что только картостроители могут программировать компьютеры. Если человек, все еще с мировоззрением паковщика, следует процедуре и переводит требования, то результат скорее всего будет ужасным. В этот момент он мог бы материть компилятор, операционную систему или пользователя, но, возможно, следовало бы просто осознать, что компьютер на самом деле с абсолютной точностью отражает то, что ему сказал человек. Поэтому человек может принять, что он и только он сам, должен понять динамику проблемы и семантику системы. Здесь начинаются бессонные ночи, открывающие дорогу к реальному мышлению, а не исполнению бессмысленных ритуалов, в чем заключается паковка, и что большинство паковщиков считает нормальным.
      С этой перспективы интересно посмотреть на некоторые нити предыдущих размышлений, которые пытались описать опыт картостроения в культуре, где нельзя просто сказать "Программа работает!", а нужно обладать достаточно сильными аргументами в свою пользу на языке, который картостроители могут понять в терминах совместно используемого субъективного опыта игры с представлениями реальности в чьей-то голове, пока они не выправятся настолько, что станут полезными, и который паковщики вообще не могут понять. Возможно, это не удивительно, что многим великим программистам интересны эти нити предыдущих размышлений...
      Мы уже обсуждали природу алхимии как внутреннего путешествия, которое изменяет взгляд оператора на мир -- базовую технику картостроения. Традиции алхимии, скорее всего, распространились по Европе из Мавританской Испании благодаря таким людям, как Роджер Бэкон (Roger Bacon).
      В книге "В поисках чудесного" ( In Search of the Miraculous) П.Д.Успенский (PD Ouspensky) описал беседы с Г.И.Гурджиевым (GI Gurdjieff), которые происходили в России в 1915 году. Успенский приводит слова Гурджиева, странной и влиятельной фигуры, утверждавшего, что провел многие годы в изучении мистических традиций:
      В целом, есть четыре возможных для человека состояния сознания ... но обычный человек ... живет только в двух самых низших состояниях сознания. Два высших состояния сознания недостижимы для него, и хотя он может сталкиваться со вспышками таких состояний, он не способен понять их, и он оценивает их с точки зрения тех состояний, в которых он обычно находится.
      Эти два обычных (и низших) состояния сознания -- это, во-первых, сон, или, другими словами, пассивное состояние, в котором человек проводит треть и даже часто половину своей жизни. И, во-вторых, состояние, в котором человек проводит остальную часть своей жизни, в котором он ходит по улицам, пишет книги, рассуждает о возвышенных материях, участвует в политике, убивает других, которое он считает активным и называет его "ясным сознанием" или "пробужденным состоянием сознания". Термин "ясное сознание" или "пробужденное состояние сознания", как кажется, дан в шутку, особенно когда вы осознаете, что ясное сознание действительно должно существовать, и каково на самом деле состояние, в котором человек живет и действует.
      Третье состояние сознания -- это само-вспоминание или само-осознание или сознание собственного бытия. Обычно считают, что у нас есть это состояние сознания или что оно может у нас быть, если мы этого захотим. Наши наука и философия упускают факт, что мы не обладаем этим состоянием сознания и что мы не можем создать его в нас самих по желанию или одному лишь решению.
      Четвертое состояние сознания называется объективным состоянием сознания. В этом состоянии человек может видеть вещи такими, какие они есть. Вспышки этого состояния сознания также возникают в человеке. В религиях всех народов есть указания на возможность состояния сознания этого типа, что называют "озарением" ('enlightenment') и разными другими именами, но которое не может быть описано словами. Но единственный правильный путь к объективному сознанию лежит через развитие самосознания. Если обычный человек искусственно введен в состояние объективного сознания и затем возвращен обратно к своему обычному состоянию, то он ничего не будет помнить и будет думать, что в это время он потерял сознание. Но в состоянии самосознания у человека могут проявляться проблески объективного сознания и он может их запомнить.
      Четвертое состояние сознания у человека означает совершенно другое состояние бытия; это результат долгой и трудной работы над собой.
      Но третье состояние сознания составляет естественное право человека, раз он есть, и если человек не обладает им, то только вследствие неправильных условий своей жизни. Без всяких преувеличений можно сказать, что в настоящее время третье состояние сознания появляется в человеке только в виде кратковременных вспышек и что его можно сделать более или менее постоянным только посредством специальных тренировок.
      Очень похоже, что паковка соответствует второму состоянию, картостроение третьему состоянию, а то, что происходит при разрешении проблемы -- это четвертое состояние. К счастью, описанные Гурджиевым трудности уменьшены сегодня добрыми нанимателями, которые желают платить нам высокие зарплаты, чтобы мы целый день сидели перед обучающими машинами. Если мы сможем приспособить к работе язык третьего уровня вместо языка второго уровня, то сможем отплатить этим добрым людям написанием для них множества прекрасных компьютерных программ.
      По справедливости нам следует сказать, что хотя значительная часть описанного в книге "В поисках чудесного" непосредственно достижима в терминах модели картостроитель/паковщик, многое - нет. Существует также система "Водородов" ('Hydrogens'), которая, оказывается, вообще не имеет отношения к физике элементарных частиц и которая, предположительно, описывает структуру пространства. Но она, однако, вносит в сознание фрактальную структуру и атракторы и претендует на то, чтобы стать видением мира, которое позволяет личности восхищаться необычайно расширившимися возможностями посредством "освобождения себя от общих законов" в не подчиняющейся сокращенному описанию форме. Мы не можем найти у этого ни головы, ни хвоста, но посмотрев на картостроителей и паковщиков на работе, только обнаружив их сидящими за компьютерами, мы начинаем задумываться, что может быть правда стоит заняться ... созерцанием.
      В Исламе есть концепция двух Коранов. Есть написанный Коран, записанный Пророком под диктовку Бога, и обнародованный Коран, который являет собой мир вокруг нас, созданный Богом. И обязанность каждого человека, который получает удовольствие от роскоши совершенствования себя, проводя свое время в изучении этих творений Бога, состоит в том, чтобы продолжать свои поиски доступным каждому способом. Возможно, это прекрасная идея -- позволить ученику убедиться в своем невежестве, затеяв безнадежное прямое соревнование с Богом, которое у любого закончится поражением, и затем научить тому, что духовный долг ученика состоит в уменьшении этого невежества, и этой идеей Ислам может внести некий полезный вклад в нашу область. Ведь все мы знаем, откуда к нам пришли алгебра и алгоритмы!
      В Китае есть древняя даосская традиция, которая также страдает от коммуникационной проблемы -- "Дао дэ цзин" ( Tao Te Ching) начинается с:
      "Дао, которое можно произнести -- это не вечное Дао."
      Даосы сосредоточены на нахождении глубокой структуры в глубокой структуре и получении максимального воздействия "правильным действием". Даос не ковыляет "по течению", у него есть ясное (и, следовательно, непротиворечивое и правильное) понимание того, что он желает осуществить, и ищет правильную точку приложения воздействия, глядя на структуру взаимосвязанных явлений, которыми он заинтересовался. Правильное действие тогда может быть легким толчком в нужное место! Как и во всех мистических традициях, у даосов просто нет времени на превознесение чего бы то ни было.
      Когда дао встретилось с буддизмом, появился дзен. С позиций картостроителя/паковщика, дзен можно описать как специальный набор картостроительных методик и строительных блоков, которые позволяют исследование глубокой структуры, что часто может идти вразрез с интуицией того, кто поражен (болен) мировоззрением паковщика. Когда дзен спрашивает "Как звучит хлопок одной руки?", то он говорит, что хлопок нельзя обнаружить ни для левой руки, ни для правой, но только во взаимодействии между ними. Многие великие программисты, особенно работающие над искусственным интеллектом, любят ублажать себя дзен-притчами (Zen koans) [см., например, The Jargon File -- -- С.К.].
      Алхимия, дао и дзен -- это все мистические техники, которые вообще не несут в себе сверхъестественного компонента. Они обсуждают состояние ума практикующего и таким образом усиливают имеющиеся способности, освобождая их от закаменевшей корки стереотипов, создаваемых при паковке. Как сказала Кейт Буш (Kate Bush -- еще один фаворит у программистов),
      Don't fall for a magic world
      We humans got it all
      Every one of us
      Has a heaven inside.
      Не гнись пред мира волшебством
      Мы, люди, получили его целиком
      Каждый, бережно храня,
      Таит небеса внутри себя
      Но несмотря на свою нацеленность на практику, при обсуждении субъективного опыта картостроителя все они вынуждены использовать аллегорический язык. Древний аллегорический язык, который не имеет никакого смысла для паковщиков, легко путают с религией, и в 19 веке некоторые люди пытались буквально интерпретировать древние описания происходящего.

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