Наука и одержимый программист
Существует разница между машинами, имеющими реальное физическое воплощение и предназначенными для преобразования обычного вида энергии в другой, и абстрактными, т. е. машинами, существующими лишь в качестве идей. Законы, олицетворяемые машинами первого типа, должны представлять собой некоторое подмножество законов, которым подчиняется реальный мир. Законы, определяющие поведение абстрактных машин, не обязательно должны быть связаны подобными ограничениями. Можно, например, создать абстрактную машину, внутренние сигналы которой распространяются по ее компонентам со скоростями, большими скорости света, что явно противоречит законам физики. То обстоятельство, что реально такую машину построить нельзя, не препятствует исследованию ее поведения. Оно может быть предметом размышлений и даже поддается имитации на вычислительной машине. (Действительно, Центр исследований в области образования [Прим. перев.: Education Research Center] Массачусетского технологического института создал фильмы (они воспроизводятся вычислительной машиной), позволяющие зрителям наблюдать мир, в котором транспортные средства движутся с физически невозможными скоростями.) Воображение человека должно преступать пределы физических законов хотя бы для того, чтобы оказаться способным постичь эти законы.
Вычислительная машина реализована физически, поэтому она не может нарушать физические законы. Однако она не характеризуется полностью проявляемым ею взаимодействием с реальным миром. Электроны сливаются в машине в потоки, ее ленты движутся и лампочки мерцают - все это, несомненно, происходит в строгом соответствии с законами физики, а направления электронных рек, протекающих в вычислительной машине, определяются открытием и закрытием вентильных схем, т. е. физическими событиями. Игра же, которую разыгрывает вычислительная машина, определяется системами идей, диапазон которых ограничивается только пределами воображения человека, физические границы для событий, происходящих внутри вычислительной машины на электронном и механическом уровнях, с точки зрения этой игры несущественны - точно так же, как и то, насколько крепко шахматист сжимает своего слона или как быстро он передвигает его по доске.
Следовательно, работа вычислительной машины под управлением хранимой программы обособляется от реального мира так же, как и всякая абстрактная игра. Шахматная доска, 32 шахматные фигуры и правила игры в шахматы образуют мир, совершенно независимый от любого другого мира. То же самое происходит и в случае вычислительной машины, снабженной наставлением по эксплуатации.
Шахматист, сделавший плохой ход, не может оправдать свою ошибку ссылками на некий эмпирический факт, который он не мог знать, а если бы знал, пришел бы к лучшему решению. И программист, чья программа проявляет себя не так, как он предполагал, тоже не может искать ошибку за пределами созданной им самим игры. Он мог неправильно истолковать инструкции по работе с вычислительной системой или неправильно понять особенности своей вычислительной системы так же, как начинающий шахматист мог неправильно истолковать, скажем, правила рокировки. Однако никакие данные из мира, внешнего по отношению к используемой им вычислительной системе, вообще не могут иметь отношения к поведению того мира, который он создал. Отказа вычислительной машины вести себя точно в соответствии с намерениями программиста нельзя даже приписать исключительно какому-то ограничению, свойственному именно данной вычислительной машине. В сущности, любая вычислительная машина общего назначения является некоторой разновидностью универсальной машины, способной в принципе делать все, что способна делать любая другая вычислительная машина общего назначения. В таком очень существенном смысле любая конкретная вычислительная машина общего назначения не имеет ограничений, свойственных исключительно ей.
Таким образом, вычислительная машина представляет собой поле для игры, на котором можно разыграть любую игру, созданную вашим воображением. Можно создавать миры, в которых нет силы тяжести или два тела притягиваются друг к другу не в соответствии с ньютоновым законом обратной пропорциональности квадрату расстояния, а по закону обратной пропорциональности кубу (или n-й степени) расстояния, или миры, в которых время скачет туда и обратно, а рисунок этой пляски может быть таким сложным или примитивным, как нам заблагорассудится.
Можно вообразить общества с такой экономикой, где цены на товары, имеющиеся в изобилии, растут, а когда товаров становится мало, падают, или общества, в которых лишь союзы "мужчин" в состоянии производить потомство. Короче говоря, можно самим писать пьесы и ставить их в театре, свободном от любых ограничений. И, что важнее всего, для этого необходимо знать лишь то, что можно непосредственно получить из описания соответствующей вычислительной системы или построить собственным воображением.
Рассмотрим для сравнения процесс разработки схемы вычислительного устройства. Выше уже приводилась схема однобитового сумматора (см. рис. 3.5). Соответствующий сумматор можно построить для машины с базовым временем цикла, например в одну микросекунду, т. е. для машины, совершающей ежесекундно миллион циклов (пар), включающих рабочее состояние и состояние покоя. Допустим, что подобный сумматор построен и установлено, что он функционирует правильно. Допустим также, что разработчики сумматора установили его затем на машине, работающей в десять раза быстрее ходной машины, т. е. включающейся и выключающейся 10 млн. раз в секунду, и предположим, что в новых условиях сумматор не работает. В чем может быть причина отказа? И, что важнее, к каким источникам знаний может оказаться необходимым обратиться, чтобы правильно диагностировать его? Правила игры, задаваемые абстрактными уравнениями, которые определяют поведение вентильных схем И, ИЛИ и НЕТ, и схемой сумматора, здесь явно недостаточны. В абстрактной конструкции сумматора ничего не изменилось. Согласно нашей гипотезе изменилась только скорость, с которой сумматор вынужден работать. Таким образом, отказы функционирования сумматора должны вызываться переходом к новой скорости. Чтобы установить, каким образом восстановить работоспособность сумматора или, в конце концов, выяснить, возможна ли вообще физически работа любого устройства с такой высокой скоростью, следует использовать соответствующие физические знания.
Этот пример, хотя и упрощенный, но не нереальный, и поэтому на нем стоит остановиться несколько подробнее.
Почти каждому известно, что струны скрипки (а также и другие объекты) обладают собственной (или резонансной) частотой колебаний. Например, собственная частота струны А [Прим. перев.: Струна А - струна скрипки, высота настройки которой соответствует звуку "ля" первой октавы. В системе слогового названия звуков через "А" обозначается тон звукоряда, имеющий слоговое название "ля"] равна 435 колебаниям в секунду. Если две струны А находятся рядом и одна из них начала колебаться с собственной частотой из-за того, что ее коснулись, то другая струна также начнет колебаться (естественно, с такой же частотой). Если же первая струна будет вынуждена совершать колебания с некоторой частотой, отличающейся от ее резонансной, то, несмотря на то, что обе струны имеют строй "А", вторая струна не будет колебаться. В сущности, струны представляют собой одновременно передающие и приемные антенны на собственной акустической частоте. Имея это в виду, допустим, что двое детей, живущих на одной улице напротив друг друга, смастерили систему сигнализации из двух параллельных струн, расположенных поперек улицы и соединяющих их дома. При появлении отца вызываются колебания одной струны, а другая струна должна сигнализировать о появлении матери. Если, однако, одна струна колеблется с собственной частотой, то со второй происходит то же. В результате система не сможет выполнять предписанные ей функции: она не будет сигнализировать о появлении только одного из родителей.
В этом смысле электрические схемы похожи на акустические системы, хотя соответствующие частоты намного выше тех, на которых оперируют их акустические аналоги. Электрические схемы, в частности, имеют собственные (резонансные) частоты. Многие из них можно настроить на резонанс на специально подобранных частотах, чтобы, например, они работали в качестве антенн радиовещательных станций. Домашние радиоприемники снабжены подобным образом настраиваемыми контурами, выполняющими функции приемных антенн.
Прискорбным недостатком нашего сумматора считается следующее: хотя ни один из его контуров не резонирует так, чтобы между ними оказались возможными прием и передача сигналов, когда они работают на частоте 1 млн. Гц/с, они действительно работают как передающие и приемные антенны на более высоких рабочих частотах. Поэтому они вносят путаницу в информацию, для обработки которой созданы.
Инженеры-электрики, получившие необходимую подготовку, естественно, знакомы с теорией, которая объясняет подобные явления. Другие устанавливают причину отказа на основе предыдущего опыта. Инженер же, не обладающий ни теоретическими знаниями, ни опытом, никогда не сможет обнаружить причину отказа, пользуясь только дедуктивной логикой. Он попытается исправить схему, действуя ремесленнически наугад, либо получив помощь со стороны, либо проведя заново все исследование, выполненное таким человеком, как Генрих Герц, первооткрыватель электромагнитного излучения - явления, о котором идет речь. Мы считаем работу Герца творческой именно потому, что она заключалась в наблюдении явлений, еще не упоминавшихся ни в одном из имевшихся в то время руководств, и потому, что из наблюдения частностей он вывел обшие закономерности. Этот путь прямо противоположен дедукции.
Инженер безоговорочно погружен в реальный мир. Его творчество ограничено законами этого мира; он, в конце концов, может делать только то, что соответствует этим законам. Но он обречен заниматься своим делом в каком-то подобии кафкианского замка, который даже в принципе покинуть нельзя. Дело в том, что у него нет полного плана, указывающего, какие "комнаты" существуют в этом мире, какие "двери" их соединяют и как эти двери открываются. Когда какое-то устройство, созданное инженером, не работает, он не всегда знает или может установить при помощи только собственных рассуждений, находится ли он на пороге успеха, и лишь его грубые ошибки помешали ему преодолеть этот порог, либо он попал в безысходный тупик. Тогда он вынужден обращаться к своим учителям, коллегам, книгам, чтобы они сообщили или хотя бы намекнули на рецепт, который заставит его равнодушного партнера (природу) вывести его из тупика и указать дальнейший путь.
Программист вычислительных машин - творец миров, в которых он сам является единственным законодателем (так же, как и создатель любой игры). Но миры практически неограниченной сложности можно создавать в форме программ для вычислительных машин. Более того (и именно это является решающим моментом) определенные и построенные подобным образом системы исполняют собственные запрограммированные сценарии. Они охотно следуют этим законам и совершенно определенно демонстрируют свое послушание. Ни один драматург, режиссер или император, сколь бы могущественны они ни были, никогда не могли пользоваться столь абсолютной властью на театральных подмостках или поле брани и командовать такими неуклонно послушными актерами или войсками.
Было бы поразительно, если бы замечание лорда Актона, что власть разлагает, оказалось бы неприменимо к случаю, когда всемогущество достижимо столь просто. На самом деле оно применимо. Разложение, порождаемое всемогуществом программиста вычислительной машины, проявляется в форме, поучительной для сферы, значительно более обширной, чем мир вычислительной техники. Чтобы оценить его, придется обратиться к примеру психического расстройства, хотя и очень давно известного, но, по-видимому, преобразовавшегося благодаря вычислительным машинам в новую разновидность - манию программирования.
Где бы ни организовывались вычислительные центры - в бесчисленных местах в Соединенных Штатах, так же, как фактически во всех промышленных районах мира,-можно наблюдать блестящих молодых людей, всклокоченных, часто с запавшими, но сияющими глазами, которые сидят за пультами управления вычислительных машин, сжав в напряжении руки в ожидании возможности пустить в ход свои пальцы, уже занесенные над кнопками и клавишами, приковывающими их внимание так же, как брошенная игральная кость приковывает взгляд игрока. Если они не находятся в таком трансе, то часто сидят за столами, заваленными машинными распечатками, которые они сосредоточенно изучают подобно людям, одержимым постижением кабалистического текста.
Они работают чуть ли не до полного изнеможения, по 20-30 часов подряд. Еду, если только они о ней заботятся, им приносят (кофе, кока-кола, бутерброды). Если возможно, они спят около вычислительной машины на раскладушках, но всего несколько часов, а затем-снова за пульт управления или к распечаткам. Их измятая одежда, немытые и небритые физиономии, нечесаные волосы-все свидетельствует о том, что они не обращают внимания ни на свое тело, ни на мир, в котором живут. Они существуют, по крайней мере когда они так увлечены, лишь в связи с вычислительными машинами и ради них. Они - "машинные наркоманы", одержимые программисты. Это явление наблюдается во всем мире.
Как же отличить одержимого программиста от просто преданного своему делу трудолюбивого программиста-профессионала? В первую очередь, на основе того, что обычный профессиональный программист занимается задачей, требующей решения, а одержимый программист рассматривает задачу в основном в качестве предлога для обращения к вычислительной машине. Профессиональный программист, как правило, обсуждает с другими свои проблемы, связанные с содержанием задачи и техникой программирования, Обычно он проделывает обширную подготовительную работу (построение блок-схемы, написание программы) прежде, чем приступить к работе собственно с вычислительной машиной. Его сеансы работы с вычислительной машиной бывают сравнительно непродолжительными и он даже перепоручает кому-нибудь работу за пультом управления. Он создает свои программы неторопливо и систематически. Если что-то не получается, он значительную часть времени проводит не возле вычислительной машины, а тщательно продумывает гипотезы, объясняющие отказы, и планирует эксперименты, позволяющие эти гипотезы проверять. И снова сам процесс выполнения программы на машине он может доверить, кому-то. Он способен, ожидая результатов от ЭВМ, заниматься другими аспектами своей работы, например документированием уже законченной части. Когда, наконец, он завершит программу, которую должен был разработать, программист в состоянии составить ее точное описание и перейти к другим проблемам.
Профессионалы считают программирование средством достижения цели, а не целью как таковой. Они удовлетворены решением содержательной задачи, а не тем, что вычислительная машина подчиняется их воле.
Обычно одержимый программист - превосходный "технарь", отлично во всех подробностях знающий вычислительную машину, на которой работает, ее периферийное оборудование, операционную систему и т. п. Часто его терпят в вычислительном центре благодаря его знанию системы и умению быстро, скажем, за один или два сеанса по 20 ч писать небольшие вспомогательные системные программы. Со временем вычислительный центр и в самом деле мог бы использовать ряд его программ.
Однако, поскольку одержимого программиста едва ли можно побудить заниматься чем-либо кроме программирования, он почти никогда не документирует свои программы после того, как кончает ими заниматься. Центр
может попасть в зависимость от него в том, что касается обучения использованию и эксплуатации написанных им программ, структура которых вряд ли кому-нибудь кроме него понятна. Его положение несколько напоминает статут служащего банка, которого, хотя он ничем особенно не занимается, держат на работе потому, что он один знает комбинации замка сейфа. Основные интересы одержимого программиста связаны не с маленькими программами, а с очень большими, очень "престижными" программными системами.
Обычно системы, за создание которых он принимается и над которыми лихорадочно работает иногда месяц, два или три, имеют чрезвычайно претенциозные, но исключительно нечетко сформулированные цели. Вот несколько примеров таких честолюбивых замыслов: новые машинные языки, облегчающие связь человека с вычислительной машиной; универсальная система, поддающаяся обучению любой настольной игре; система, которая облегчает специалистам в области вычислительной техники создание сверхсистем (самая любимая задача.
Для многих таких проектов характерно, что программист может долго считать, будто для их выполнения достаточно лишь знаний в области вычислительных машин, программирования и тому подобных предметов.
Такими знаниями он, конечно, обладает в изобилии. На самом деле работы такого рода часто прекращаются именно в тот момент, когда они теряют свой чисто "кровосмесительный" характер, т. е. программирование приходится прервать для того, чтобы получить информацию из мира вне пределов вычислительной техники. В отличие от профессионала одержимый программист не может заниматься другими задачами, даже тесно связанными с его программой, в те периоды, когда он непосредственно не работает на машине. Он с трудом переносит разлуку с машиной. Если же волею обстоятельств ему приходится с ней расстаться, то по крайней мере с ним остаются его распечатки. Он штудирует их, рассказывает о них всякому, кто согласен его выслушивать, хотя, естественно, никто разобраться в них не в состоянии. Действительно, когда он охвачен своей манией, он не может говорить ни о чем, кроме своей программы. Но единственный момент, когда он счастлив, время, проведенное за пультом управления вычислительной машины. И тогда он не станет беседовать ни с кем, кроме машины. Скоро мы узнаем, о чем они беседуют.
Одержимый программист посвящает работе над своими великими проектами столько времени, сколько ему удается. "Работать" - это, однако, не то слово, которое он использует; то, что он делает, он называет "хакированием". "То hack", согласно словарю, - это "рассекать беспорядочно, неумело или без определенной цели; кромсать с помощью или как бы посредством многократных ударов какого-либо рубящего инструмента" [Прим. перев.: Явление, о котором пишет здесь автор, не проявляется в советских вычислительных центрах в такой крайней степени, хотя для части программистов, действительно, очень характерно пренебрежение к документированию программ и особенно оповещению других о вносимых ими постоянно или время от времени изменениях. Поэтому, насколько нам известно, в отечественном программистском жаргоне соответствующее понятие отсутствует. Поэтому нам, к сожалению, при передаче этого термина пришлось прибегнуть к транслитерации.
Так возникли "хакирование" и "хакер" (кстати, в английском языке последний также является неологизмом)]. Я уже отмечал, что одержимый программист, или хакер, как он сам себя называет, обычно превосходный "технарь". Казалось бы, он не действует "неумело", как это указывается в определении. Однако определение справедливо здесь в том более глубоком смысле, что хакер "действует без определенной цели"; он не в состоянии поставить перед собой ясно сформулированную долгосрочную цель и выработать план ее достижения, поскольку он обладает лишь умением, но не знанием. Он не располагает ничем, что он мог бы анализировать или синтезировать; короче говоря, у него нет предмета для построения теорий. Его мастерство, таким образом, бесцельно, даже беспредметно. Оно просто не имеет никакого отношения к чему-нибудь, кроме того инструмента, с помощью которого оно может быть реализовано. Его мастерство напоминает искусство переписчика в монастыре, хотя и неграмотного, но первоклассного каллиграфа. Следовательно, все эти великолепные проекты должны неизбежно сопровождаться иллюзиями, а именно иллюзиями грандиозности. Он создаст одну грандиозную систему, в рамках которой все остальные специалисты будут потом писать свои системы (Следует отметить, что не все хакеры страдают патологией одержимого программиста, В самом деле, если бы не эта в высшей степени творческая работа людей, гордо называющих себя хакерами, немногие из сегодняшних изощренных вычислительных систем с разделением времени, трансляторов машинных языков, систем машинной графики и так далее вообще существовали бы.)
Конечно, можно создавать системы программирования без плана и без знания, не говоря уже о понимании соответствующих глубоких структурных проблем так же, как можно "хакировать" дома, города, системы плотин и национальную экономическую политику. По мере того как созданные подобным образом системы начинают разрастаться, они также становятся все более неустойчивыми.
Если одна из функций такой системы начинает выполняться непредписанным образом, то можно найти временное решение, обеспечивающее устранение явной неисправности. Когда же нет общей теории для системы в целом, последняя представляет собой лишь более или менее хаотическую совокупность подсистем, взаимное влияние которых на поведение друг друга можно обнаружить только частично и с помощью эксперимента. Часть времени, проводимого за пультом управления, хакер посвящает наращиванию новых подсистем на уже сформированную им структуру (он называет их "новыми средствами"), а остальное время - попыткам найти объяснения неправильного функционирования уже влюченных в систему подструктур. Вот о чем он беседует с вычислительной машиной.
Психологическая ситуация, в которой оказывается предающийся подобным занятиям одержимый программист, в основном определяется следующими двумя явно противоположными обстоятельствами: 1) он считает, что может заставить ЭВМ делать все, что он хочет; 2) вычислительная машина постоянно предоставляет ему неопровержимые свидетельства его неудач. И это - позор для него. Здесь нет выхода. Инженер может смириться с тем, что есть вещи, которые он не знает. Программист же действует в мире, созданном исключительно им самим. Вычислительная машина бросает вызов его могуществу, а не знаниям.
Возбуждение программиста достигает наивысшего, лихорадочного уровня тогда, когда он сталкивается с самой неясной ошибкой: все должно работать, но вычислительная машина тем не менее ведет себя позорно, не так, как следует, причем в самых таинственных, явно не связанных между собой (проявлениях. Именно в таких ситуациях система, созданная самим программистом, показывает, что у нее есть своя собственная жизнь и она определенно выходит из-под его контроля. Это та самая ситуация, когда идея о том, что вычислительную машину можно "заставить делать все, что угодно", становится очень уместной и реальной. Дело в том, что в этих обстоятельствах артефакт неправильного функционирования порожден самим программистом.
Ложное поведение может быть, как мы уже указывали, исключительно следствием того, что сделано самим программистом. А это он, вероятно, в состоянии понять, устранить и переделать таким образом, чтобы результат в большей степени соответствовал его целям. Соответственно он приходит в неистовство и развивает бешеную активность, когда ему кажется, что наконец он нашел источник неприятностей. Если в этот момент время его работы за пультом подходит к концу, то он подвергает свою программу ужасному риску, внося в нее одно за другим в течение минут или даже секунд серьезные изменения, не заботять о таких "пустяках", как регистрация этих изменений, и умоляя дать ему еще минутку. В таких условиях он может очень быстро и фактически безвозвратно погубить результаты многих недель собственного труда. Если же ему удается обнаружить глубоко спрятанную ошибку, которая действительно отвечает за значительную долю неправильного функционирования, его радость неописуема. Он испытывает трепет, видя, как до того умиравшая программа неожиданно возвращается к жизни (по-другому это не назовешь). Когда обнаруживается и исправляется какая-то глубинная ошибка, многие отдельные части программы, не дававшие до тех пор ничего, кроме чего-то совершенно невразумительного, мгновенно становятся покладистыми и выдают предписанные результаты. У диагноста есть основания быть довольным и даже гордиться, если ошибка действительно коренилась где-то глубоко в системе.
Но гордость и воодушевление одержимого программиста очень быстротечны. Его успех заключается в том, что он продемонстрировал вычислительной машине, кто здесь хозяин. И показав, что он может заставить ее сделать то, что было ей предписано, он немедленно решает добиться от нее большего.
В результате весь цикл начинается сначала. Программист начинает "улучшать" свою систему, скажем, увеличивая ее быстродействие, вводя дополнительные "новые средства" или упрощая ввод данных в систему и вывод их из нее. Модификация работающей программы неизбежно приводит к выходу из строя ряда ее подструктур; в конечном счете они представляют аморфную совокупность процессов, взаимодействие которых имеет в сущности случайный характер.
Его явные попытки улучшить и перевести на новый, более высокий уровень свое произведение представляют собой на самом деле подлинное нападение на него же, единственный результат которого - возобновление борьбы одержимого программиста с вычислительной машиной. Если же подрыв собственной работы программиста предотвращается, например, административным решением, то он впадает в депрессию, мрачнеет, перестает интересоваться чем бы то ни было вокруг. Лишь новая возможность поработать на машине может поднять его дух.
Следует подчеркнуть, что нарисованный мною портрет наверняка опознают в любой точке мира, где есть вычислительная машина. Он воплощает разновидность психопатологии, значительно менее расплывчатую, чем, например, слабо выраженные формы шизофрении или паранойи. В то же время это чрезвычайно сильно выраженная форма расстройства, поразившая большую часть нашего общества.
Как же следует относиться к этому наваждению? В первую очередь необходимо убедиться в том, что это действительно мания. Обычно стремление достичь удовлетворения вызывает поведение, для которого характерны пристрастность и самопроизвольность. Удовлетворение подобных желаний вызывает удовольствие. Поведение одержимого программиста вынужденное; в том, как он себя ведет, мало самопроизвольности, и удовлетворение его номинальных желаний не вызывает у него удовольствия. У вычислительной машины он ищет не удовольствия, а ободрения, Аналогией с психопатологией такого рода является неумолимая и неосознанная тяга к утешению, характерная для одержимого игрока.
Одержимый игрок также четко отличается от профессионального игрока. Последний в некотором важном смысле вообще не игрок. (Можно не учитывать шулеров и профессиональных мошенников, поскольку ни те, ни другие не являются явно игроками.) Так называемый профессиональный игрок - это, в сущности, специалист по прикладной статистике и, возможно, по прикладной психологии. Его доходы почти не зависят от удачи. Он знаком с приложениями теории вероятностей и использует ее для подсчета своих шансов, а затем разыгрывает эти шансы в таких комбинациях и совокупностях, которые позволяют ему прогнозировать доход на период, скажем, в год с почти математической точностью.
Это не азартная игра.
Существуют также люди, играющие в азартные игры, но не являющиеся ни профессиональными, ни одержимыми игроками. Для одержимого игрока игра - это все. Даже выигрыш менее важен, чем сама игра. Он счастлив, так сказать, только тогда, когда находится за игорным столом.
Всякий, работавший в вычислительном центре или в казино, двери которых к ночи закрываются, узнает сцену, описанную Ф. М. Достоевским, который сам был страстным игроком, в "Игроке": "В одиннадцатом часу у игорных столов остаются настоящие, отчаянные игроки, для которых на водах существует только одна рулетка, которые и приехали для нее одной, которые плохо замечают, что вокруг них происходит, и ничем не интересуются во весь сезон, а только играют с утра до ночи и готовы были бы играть, пожалуй, и всю ночь до рассвета, если б можно было. И всегда они с досадой расходятся, когда в двенадцать часов закрывают рулетку. И когда старший крупер перед закрытием рулетки, около двенадцати часов, возглашает: "Les trois derniers coups, messieurs!" [Прим. перев.: Три последних игры (букв: удара), господа! (франц.)], то они готовы иногда проставить на этих трех последних ударах все, что у них есть в кармане, - и действительно тут-то наиболее и проигрываются" [Прим. перев.: Цитата из романа "Игрок" приводится по тексту полн. собр. соч. Ф. М. Достоевского в 30-ти томах. - Л.: "Наука", т. V, 1973, с. 292]1.
Достоевский с тем же успехом мог бы описать и машинный зал.
Медицинская литература, посвященная маниакальному пристрастию к игре, в основном занимается психогенезом этой мании и, следовательно, рассматривает ее почти исключительно с психоаналитических позиций. В мои задачи не входят психоаналитические рассуждения. Достаточно лишь отметить, что все психоаналитики, начиная с Фрейда, считали манию величия и иллюзии всемогущества основными компонентами психической деятельности одержимого игрока. Не следует принимать либо отвергать психоаналитические объяснения источников подобных бредовых расстройств (например, что они коренятся в неразрешенных эдиповых конфликтах, порождающих стремление добиться превосходства над отцом, которое ведет в свою очередь к подсознательной мотивации уступать), чтобы присоединиться к психоаналитикам и таким писателям, как Достоевский, в признании ведущей роли мании величия, порождающей бред всемогущества, в одержимости игрой.
Игрок, согласно психоаналитику Эдмунду Берглеру, придерживается трех следующих основных принципов:
- субъективно он уверен в своем выигрыше;
- непоколебимо верит в свою одаренность;
- считает, что жизнь сама по себе - лишь игра2.
Какие же могут быть основания для уверенности в победе в сугубо случайной игре? Сознавать, что то, как упадет пара игральных костей или какая будет открыта карта, это сугубо случайное событие, то же самое, что сознавать собственную неспособность повлиять на его исход. Вот в этом-то и все дело! Одержимый игрок считает, что ему подчиняется магический мир, доступ в который имеют лишь немногие. "Он верит, - пишет Берглер, - что рок избрал его... и поддерживает с ним связь посредством малозаметных знаков, выражающих одобрение или осуждение"3. Игрок - ученый этого магического мира. Он - толкователь знаков, подаваемых ему роком, точно так же, как ученый, действующий в реальном мире, истолковывает знаки, которые природа посылает всем тем, кто даст себе труд обратить на них внимание, И подобно нормальному ученому одержимый игрок всегда имеет предварительную гипотезу, объясняющую почти все знаки, наблюдавшиеся им прежде, т. е. дающую очень близкую к полной картину интересующих его аспектов вселенной. Критерий адекватности как для научного, так и для "магического" представлений о мире - это способность прогнозировать и при определенных обстоятельствах управлять. Итак, согласно Берглеру, одержимый игрок считает себя "не жертвой, а орудием непредсказуемой судьбы"4.
То, что профану кажется суевериями игрока, на самом деле результаты гипотетической реконструкции игроком того мира, который рок по кусочкам приоткрывает ему. Опыт учит его, скажем, что для выигрыша в день игры он должен прикоснуться к горбуну, положить в левый карман кроличью лапку, не сидеть за игорным столом со скрещенными ногами и так далее. Знания такого рода для него значат то же, что, например, для авиационного конструктора знание математической модели обтекания крыла воздушным потоком.
Поскольку суеверия игрока явно не связаны с перемещениями игральной кости, порядком расположения игральных карт и тому подобным, его гипотезы очень часто опровергаются эмпирически. Любой опровергающий опыт содержит, однако, определенные элементы, которые сопрягаются с основными элементами его гипотетической схемы и сохраняют тем самым ее общую структуру. Проигрыш, следовательно, не означает, что иметь при себе лапку кролика, например, является ошибкой или несущественно, но лишь показывает, что упущен какой-то решающий компонент, гарантирующий успех, Быть может, в последний раз, когда игрок выиграл, за его стулом стояла молодая блондинка. О! Вот оказывается, что: коснуться горбуна, иметь при себе лапку кролика, не скрещивать ноги и за стулом должна стоять молодая блондинка. Когда это средство не срабатывает, он высчитывает, что такая комбинация действует только по четвергам, и так далее, и далее, и далее. Одни элементы объяснений добавляются, другие изымаются, а структура в целом становится все более и более сложной. В конечном счете в распоряжении игрока действительно оказывается концептуальная схема, напоминающая массив научного знания по крайней мере по сложности и запутанности. Он является экспертом по чрезвычайно усложненному миру, доступному лишь нескольким посвященным, которые, упорно работая и рискуя, изучили его таинственную доктрину и язык.
Магический мир, в котором обитает одержимый игрок, не отличается в принципе от миров, где другие, подобным же образом увлекаемые грандиозными фантазиями, пытаются реализовать свои мечты о могуществе. Астрология, в частности, породила чрезвычайно сложную концептуальную схему - систему теорий и гипотез, якобы позволяющую посвященным управлять событиями. Знать, например, что соединение определенных планет, наблюдаемое в какой-то конкретный день, служит неблагоприятным предзнаменованием для осуществления какого-то рискованного предприятия и что иное соединение в другой день благоприятно для этого предприятия, и затем осуществить это предприятие в благоприятную дату - значит пытаться управлять событиями.
Астрологические гипотезы, однако, тоже опровергаются повседневной практикой. Каким же образом астрология и другие магические системы сохраняют свою силу в умах людей? Точно так же, как и гипотезы одержимого игрока. Первый способ защиты концептуальных систем игроков и программистов: любое противоречие между опытом и собственным представлением магического происхождения человек объясняет ссылкой на какие-то другие магические представления. В результате именно такая логическая "кругообразность" обеспечивает сохранение всей структуры магических представлений в целом. Этот способ защиты системы от атак со стороны реальности особенно эффективен, если опровержения поступают no-одному, поскольку в такой ситуации сама демонстрация возможности включения, казалось бы, аномального факта служит подтверждением истинности системы. Чтобы объяснить свое "невезение" в определенный день, игрок может, например, сослаться на то, что он не завязал шнурки на ботинках, хотя, как ему известно, он должен был это сделать. Объяснения такого рода формально эквивалентны (предположению одержимого программиста, что его программа не работает исключительно из-за технических ошибок, допущенных при программировании.
Второй способ защиты: их расширение при помощи введения циклов. Игрок, обнаружив неожиданно, что некоторые его уловки срабатывают только по четвергам, включает это новое "озарение" в уже существующую схему суеверий, т. е. в сущности вводит в ее структуру соответствующий эпицикл. Программист волен каждое очередное затруднение трактовать как некоторый специальный случай, для которого следует специально написать особую подпрограмму, и таким способом он включает этот случай в свою систему. Прибегая к подобному неограниченному наращиванию в своих системах эпициклов, и программисты, и игроки приобретают неисчерпаемый резерв объяснений, позволяющих им обходить даже самые серьезные трудности. И, наконец, концептуальную устойчивость любой магической системы или системы программирования можно сохранять отрицанием, пользуясь словами Майкла Поляни:
"...основ, которые могут поддерживать любую конкурирующую концепцию. Экспериментальные свидетельства в поддержку [конкурирующей концепции] могут приводиться лишь no-одному. Новая же концепция..., которая могла бы занять место [удерживаемое оспариваемой], может быть признана лишь на основе целой последовательности соответствующих событий, а подобные свидетельства не могут накапливаться в сознании [игроков или программистов], если каждое [отдельное свидетельство] будет последовательно признаваться несущественным из-за отсутствия концепции, способной придать ему значимость"5.
Игрок постоянно бросает вызов вероятностным законам; он отказывается признавать их операционное значение и тем самым отказывает им в праве быть основой реалистического озарения. Программа может оказаться неудачной из-за серьезных структурных, математических или лингвистических трудностей, для которых существуют соответствующие теории. Одержимый же программист на большинство проявлений таких неудач отвечает дальнейшими программными ухищрениями и, таким образом, подобно игроку не дает им возможности сгруппироваться в его сознании вокруг соответствующих теорий. Одержимые программисты известны тем, что не читают литературу, посвященную основным проблемам тех областей, в которых они номинально работают. Эти три механизма, названные Поляни логическим кругом, авторасширением и подавлением образования ядер, составляют основу оборонительного оружия истого приверженца магических систем мышления и, в частности, одержимого программиста. Литература по психиатрии свидетельствует о том, что эта патология тесно связана с бредом всемогущества. Убеждение в собственном всемогуществе не приносит, однако, покоя - оно все время требует потверждения. Критерий наличия власти - возможность управлять. Критерий абсолютной власти-точное и совершенное управление. Сталкиваясь с одержимым программистом, нам приходится также иметь дело с его потребностью управлять и его потребностью в уверенности.
Страстная потребность в уверенности составляет, конечно, главную основу науки, философии и религии [Прим.
перев.: Речь идет здесь об определенных системах "договоренностей", которые, как правило, кладутся в основу научных, философских и религиозных систем. Очевидно, возможность опираться на зафиксированную соответствующим образом систему основополагающих концепций (например, в математике это аксиомы, понятие натурального ряда и т. п.) и создает фундамент для "уверенности"]. Стремление же к управлению - неотъемлемый элемент всей техники. В действительности причина нашего столь сильного интереса к одержимому программисту заключается в том, что мы не усматриваем существенного разрыва между его патологическими мотивами и поведением и, в принципе, мотивами и поведением современного ученого и инженера. Одержимый программист - это в чистом виде общеизвестный безумный ученый, получивший в свое распоряжение театр (вычислительную машину), в котором он разыгрывает свои фантастиче с кие спектакли.
Обратимся снова к трем замечаниям Берглера об игроках. Во-первых, игрок субъективно уверен в том, что он выиграет. Точно так же думает и одержимый программист - правда, творящий свой мир на универсальной машине имеет для такой уверенности некоторые реальные основания. Ученые, за некоторыми исключениями, убеждены в том же: то, что наука не сделала, она пока еще не сделала; вопросы, на которые наука не ответила, пока еще не нашли ответа. Во-вторых, игрок, безусловно, верит в свою одаренность. В-третьих, игрок считает, что жизнь сама по себе - всего лишь игра. Аналогично одержимый программист убежден в том, что жизнь - это всего лишь прогон некоторой программы на грандиознейшей вычислительной машине, а потому любой аспект жизни в конечном счете можно объяснить в программных терминах. Многие ученые (за некоторым примечательным исключением) также считают, что все стороны жизни и природы можно в конце концов объяснить в сугубо научных терминах. В самом деле, как правильно указывает Поляни, устойчивость научных убеждений защищается такими же механизмами, которые охраняют и магические системы представлений:
" Любое противоречие между определенным научным понятием и эмпирическими фактами можно объяснить с помощью других научных понятий; существует готовый запас приемлемых научных гипотез, которые используются для объяснения любого мыслимого события... в пределах собственно науки; устойчивость теорий по отношению к реальному опыту поддерживается эпициклическими резервами, подавляющими альтернативные концепции в зародыше" 6.
Итак, можно построить некий континуум. На одном его конце находятся ученые и технократы, во многом похожие на одержимого программиста, на другом-помещаются те ученые, гуманитарии, философы, художники и представители церкви, которые как личности стремятся к достижению понимания других людей, исходя изо всех мыслимых точек зрения. Мировыми делами, судя по всему, вершат технократы, психический склад которых опасно близок психическому складу одержимого программиста. Голоса же в пользу разумности второго подхода слышны все слабее и слабее [Прим. перев.: Здесь автор, в сущности, воспроизводит известную концепцию "двух культур" английского ученого и писателя Чарлза П. Сноу, обратившего внимание на поляризацию и даже раскол духовного мира западной интеллигенции: "на одном полюсе - художественная интеллигенция, на другом - ученые ... Их разделяет стена непонимания, а иногда - особенно среди молодежи - даже антипатии и вражды. Но главное, конечно, непонимание, У обеих групп странное, извращенное представление друг о друге. Они настолько по-разному относятся к одним и тем же вещам, что не могут найти общего языка даже в плане эмоций... На одном полюсе-культура, созданная наукой. Она действительно существует как определенная культура, не только в интеллектуальном, но и в антропологическом смысле. Это значит, что те, кто к ней причастен, не нуждаются в том, чтобы полностью понимать друг друга, что и случается довольно часто. Биологи, например, сплошь и рядом не имеют ни малейшего представления о современной физике. Но биологов и физиков объединяет общее отношение к миру; у них одинаковый стиль и одинаковые нормы поведения, аналогичные подходы к проблемам и родственные исходные позиции.
Эта общность удивительно широка и глубока .... На другом полюсе отношение к жизни гораздо более разнообразно... Но я думаю, что полюс абсолютного непонимания науки не может не повлиять на всю сферу своего притяжения. Абсолютное непонимание, распространенное гораздо шире, чем мы думаем, - в силу привычки мы этого просто не замечаем, - придает привкус ненаучности всей "традиционной" культуре, и часто - чаще, чем мы предполагаем, эта ненаучность едва удерживается на грани антинаучности... Западный мир руководствуется традиционной культурой, и вторжение науки лишь в ничтожной степени поколебало ее господство..." (Ч. П. Сноу. Две культуры и научная революция. - В кн.: Ч. П. Сноу. Две культуры. Сборник публицистических работ: Сокр. пер. с англ. Н. С. Родман/ Ред. и предисл. А. И. Арнольдова.-М.: Прогресс, 1973, с 17-61)]
Существует известный анекдот, который может помочь прояснить этот момент. Однажды темной ночью полицейский набрел на пьяного, который стоя на коленях что-то искал у фонарного столба. Он объяснил полицейскому, что ищет ключи, потерянные где-то там, в темноте. Полицейский спросил его: "Если ключи потеряны "там", почему вы ищете их под этим фонарем?" Пьяный ответил: "Потому что здесь светлее". Именно таким способом действует и наука. Важно осознать это обстоятельство, но неуместно и бессмысленно порицать за это науку. Действительно, разыскиваемое можно найти только там, где освещено. Иногда вы находите даже новый источник света в том круге света, в котором ведете поиск. Существенны две вещи: размер светового круга, составляющего "космос" вашего исследования, и истинный дух исследования. Последний должен отличаться предельно ясным осознанием того, что вокруг - темнота, где существуют источники света, о которых до сих пор исследователю известно очень мало, Наука может продвигаться вперед, рассматривая только упрощенные модели действительности. Первый шаг этого процесса упрощения - абстракция. Абстрагирование означает отказ от учета всех эмпирических данных, не укладывающихся в ту конкретную концептуальную схему, в пределах которой в данный момент наука работает, т.
е. не попадающих в свет того конкретного фонаря, под которым науке сейчас следует искать свои ключи. Олдос Хаксли достаточно ясно заметил по этому поводу:
"В прагматическом смысле [ученые] вполне оправданно действуют столь эксцентрическим и чрезвычайно произвольным образом; дело в том, что, сосредоточиваясь исключительно на измеримых аспектах тех элементов опыта, которые поддаются объяснению в терминах систем, подчиняющихся принципу причинности, они получают возможность достичь очень большой и все растущей степени контроля над природной энергией. Власть, однако, - не то же самое, что постижение сущности, и научная картина мира не есть адекватное представление реальности по той простой причине, что наука даже и не претендует на использование эмпирического опыта в целом, а работает лишь с его определенными сторонами в определенных контекстах. Все это вполне отчетливо сознают люди науки, обладающие философским складом ума. К сожалению, некоторые ученые, многие технократы и большинство потребителей технических новинок не имеют ни времени, ни склонности изучать основания и историю науки. Соответственно они склонны считать картину мира, неявно представляемую научными теориями, полным и исчерпывающим описанием реальности; они склонны рассматривать те элементы опыта, которые ученые не учитывают (поскольку для работы с ними им не хватает компетентности), как нечто менее существенное, чем те аспекты, которые наука произвольно выбрала для абстрагирования из бесконечно богатой всеобщности имеющихся фактов" 7.
Одно из наиболее ясных описаний способа, при помощи которого наука преднамеренно и сознательно планирует искажение реальности, а затем рассматривает искаженную версию как "полное и исчерпывающее" представление, дан ученым-кибернетиком Гербертом А. Саймоном в связи с изложением им своих фундаментальных теоретических позиций:
"В том, что касается принципов своего поведения, муравей весьма прост. Кажущаяся сложность его поведения во времени в основном отражает сложность внешней среды, в которой он функционирует ...
истинность [рассматриваемой] гипотезы не должна зависеть от простоты или сложности микроскопического строения муравья. На клеточном или молекулярном уровне муравьи, безусловно, весьма сложные живые организмы; но подробности устройства внутренней среды муравья почти никак не влияют на его поведение во внешней среде. Поэтому автомат, несмотря на полное отличие его от муравья на микроскопическом уровне, может тем не менее в общих чертах моделировать поведение последнего." ...
"...я подробно остановлюсь на этой гипотезе, только слово "муравей" заменю на "человек".
В том, что касается принципов своего поведения, человек весьма прост. Кажущаяся сложность его поведения во времени в основном отражает сложность внешней среды, в которой он живет" ... "... я полагаю, что гипотеза, о которой идет речь, справедлива для человека в целом ..."8[Прим. перев.: Цитата приводится с минимальными изменениями по тексту русского перевода книги: Г. Саймон. Науки об искусственном: Пер. с англ. Э. Л. Наппельбаума; послесловие О. К. Тихомирова. - М.: Мир, 1972, с. 35-36]
Одним росчерком пера, простой заменой слова "муравей" словом "человек" предполагаемая несущественность микроскопических элементов внутренней среды муравья для его поведения была распространена на несущественность внутренней среды человека в целом для его поведения! За 23 года до Саймона Хаксли указывал (будто слова Саймона звучали в его ушах):
"В связи с престижем науки как источника могущества и общим пренебрежением философией популярное в наше время Weltanschauung [Прим. перев.: Weltanschauung (нем.) - концепция о развитии событий и целей мира] содержит в значительной степени то, что можно было бы определить как мышление в стиле "не что иное, как". Человеческие существа, как более или менее молчаливо подразумевается, - это не что иное, как телесные оболочки, животные, даже машины ... ценности - это не что иное, как иллюзии, перепутанные различным образом с нашим опытом жизни в этом мире; особенности психической деятельности - это не что иное, как вторичные патологические явления. ...
духовное начало - это не что иное, как ... и так далее"9.
Конечно, мы имеем здесь дело не с "популярным" Weltanschauung, а с точкой зрения одного из наиболее уважаемых американских ученых. Кроме того, допущение Саймона о том, что несущественно для поведения человека в целом, не является "более или менее неявным"; наоборот, к его чести, он сделал его совершенно явным.
Саймон к тому же исключительно ясно и определенно показывает нам, каким образом и насколько тщательно ученый устраняет для себя возможность перехода через границу, разделяющую круг света, отбрасываемый его собственными исходными предпосылками, и окружающей его тьмой. Рассказывая, каким образом он проверял тезисы, лежащие в основе его гипотезы, т. е. что человек весьма прост и тому подобное, он пишет:
"Я собрал результаты некоторых опытов, касающихся познавательных возможностей человека, и особенно тех, которые проводились в психологических лабораториях.
Поведение людей при решении криптоарифметических задач, при формировании понятий, заучивании наизусть, хранении информации в кратковременной памяти, обработке зрительных стимулов и при выполнении заданий, требующих использования естественного языка, определенно свидетельствует в пользу справедливости рассмотренных тезисов... обобщения, относящиеся к законам мышления человека, ...получаем на основе экспериментальных данных. Они весьма просты, чего и следовало ожидать, учитывая исходные гипотезы. Более того, хотя общая картина будет постоянно расширяться и проясняться, не следует ожидать существенного ее усложнения. Только свойственное человеку высокомерие вынуждает нас считать, что сложность выбираемого нами пути и причудливость траектории движения муравья объясняются различными причинами!"10[Прим. перев.: Цитата из книги Г. А. Саймона приводится по тому же, что и выше, источнику, с теми же оговорками]
Гипотеза, проверяемая здесь, частично заключается в том, что внутренний мир человека в целом не связан с его поведением.
Можно было бы предположить, что для его проверки будут отыскиваться экспериментальные данные, способные его опровергнуть. Можно было бы, например, изучать поведение человека, перенесшего горе или испытавшего глубокое религиозное переживание. Эти примеры, однако, не легко совместить с методами изучения человека, развитыми в психологических лабораториях. Маловероятно также, что они приведут к получению тех простых результатов, к которым, как ожидается, должны привести экспериментатора его гипотезы. Они лежат в темноте, там, где теоретик на самом деле потерял свои ключи; но насколько же лучше освещение под фонарным столбом, который сам он и воздвиг.
Следовательно, нет вообще никаких шансов за то, что гипотеза Саймона будет опровергнута в его глазах или в глазах его коллег. Круг света, определяющий и ограничивающий область, доступную его зрению, не освещает ни одну из областей, в которых могли бы возникать проблемы, скажем, ценностей или субъективности. Вопросы такого рода, находящиеся, как им и следует, полностью за пределами мира его рассуждений, могут, следовательно, не приводить его к отказу своей концептуальной схемы, имеющей (подобно всем иным магическим системам объяснения) наготове резерв приемлемых гипотез, пригодных для объяснения любого мыслимого события.
Почти вся современная наука и техника обнаруживают синдром поиска пьяного и страдают близорукостью, являющейся его непосредственным результатом. Но, как указывает также Хаксли, эта близорукость не могла бы сохраняться, если бы не наличие свидетельств ее достижений. Наука и техника поддерживаются благодаря тому, что они дают возможность властвовать и управлять. В той же степени, в какой вычислительные машины и вычисления могут считаться частью науки и техники, они пользуются той же кормушкой. Крайность, представляемая одержимым программистом, демонстрирует нам, что вычислительные машины обладают могуществом, достаточным для порождения бреда мании величия. Но этот род могущества вычислительной машины-просто крайний случай могущества, являющегося неотъемлемым элементом всякой системы мышления, находящей в самой себе подтверждение своей истинности.Возможно, мы начинаем понимать, что абстрактные системы - игры, которые люди, работающие с вычислительными машинами, порождают, пользуясь своей безграничной свободой от ограничений, кладущих предел мечтам всех, работающих в реальном мире, - могут терпеть сокрушительные неудачи, если их правила применяются по-настоящему. Нам следует также принять к сведению, что такая же опасность присуща и другим магическим системам, в равной степени оторванным от подлинного человеческого опыта, причем особенно в тех науках, которые настаивают на своей способности включить в свои абстрактные скелетообразные схемы человека в целом.