Книга Археолог цифрового века – Том 1. 1966-1979 - читать онлайн бесплатно, автор Джимми Мехер. Cтраница 3
bannerbanner
Вы не авторизовались
Войти
Зарегистрироваться
Археолог цифрового века – Том 1. 1966-1979
Археолог цифрового века – Том 1. 1966-1979
Добавить В библиотекуАвторизуйтесь, чтобы добавить
Оценить:

Рейтинг: 0

Добавить отзывДобавить цитату

Археолог цифрового века – Том 1. 1966-1979

Как и в случае с The Oregon Trail, все признаки указывают на то, что первоначальная версия Hunt the Wumpus была написана на HP-BASIC. Именно ее, а также троицу игр-предшественниц, написанных Бобом Альбрехтом, я смог найти на архивных копиях кассет, собранных Бобом Брауном и Майклом Джемени из группы Yahoo, посвященной мини-компьютерам НР. Впервые исходный код Hunt the Wumpus был опубликован в середине 1973 года в бюллетене People’s Computer Company, а затем – в номере Creative Computing за октябрь 1975 года. Единственным отличием от более ранней кассетной версии стало добавление в начале программы строк с комментариями, где указывается авторство Грегори Йоба, а также рекламируются два написанных им продолжения: Wumpus 2 (с вариациями игрового поля) и Wumpus 3 (с новыми ловушками).

В то время как The Oregon Trail была, говоря современным языком, «эксклюзивом» МЕСС и распространялась, по всей видимости, только по учебным учреждениям, Hunt the Wumpus разлетелась в виде портов и адаптаций по всем существующим платформам своего времени (а также тем, которые появлялись впоследствии) кустарным способом. В сопроводительной статье к исходному коду, опубликованной в Creative Computing, Йоб писал: «Мне рассказывали, что будто бы видели код Wumpus, переписанный на RPG и FORTRAN, что в операционной системе одной крупной научно-исследовательской лаборатории есть команда to Wumpus, запускающая игру, и что даже есть иллюстрированная версия для дисплейных терминалов Hazeltine!»

Особо показателен тот факт, что игра сумела преодолеть культурный барьер между BASIC-сообществом хиппи из РСС и «настоящими» хакерами: к появлению Unix 6 версии в 1975 году (а по всей видимости, даже раньше), Hunt the Wumpus была портирована на Unix C (в исходном коде даже есть комментарий, где радостно сообщается, что игра была «украдена из бюллетеня РСС, том 2 № 1»)32.

9. «Приключение» Уилла Краузера, часть 1

Что еще можно сказать об Adventure, давно и по праву признанной самым главным прототипом не только текстовых приключений и ИЛ, но и большинства значимых видеоигр современности? (Взять хоть World of Warcraft, которая ведет родословную от Ultima Online и первого MUD – «многопользовательского подземелья» – Ричарда Бартла, которые, в свою очередь, восходят к Adventure.) Более чем за сорок лет, прошедших с ее выхода, Adventure неоднократно становилась предметом исследований: в 1985 году Мэри Энн Баклз защитила первую в истории диссертацию, посвященную игровому нарративу, под названием Interactive Fiction: The Computer Storygame Adventure («Интерактивная литература: Adventure как сюжетная компьютерная игра»), а в 2007 году в открытом научном журнале Digital Humanities Quarterly была опубликована великолепная статья Денниса Джорджа Джерза Somewhere Nearby is Colossal Cave33 («Где-то неподалеку находится Колоссальная пещера»). Однако поскольку этот блог, так уж сложилось, посвящен истории интерактивного повествования, к истории мы и обратимся. Недавно мне удалось поиграть в оригинальную версию Adventure, написанную Уиллом Краузером, которую Джерз нашел, собирая материал для вышеназванной статьи, и поэтому я, как чуть раньше Джейсон Дайер34, хочу поделиться своими впечатлениями.

В общих чертах история создания Adventure наверняка знакома большинству людей, интересующихся этой темой, поэтому пересказывать ее здесь целиком я не буду. Если вкратце: в 1975 году Уилл Краузер, программист и спелеолог, развелся с женой. Скучая по двум дочерям, оставшимся с матерью, он решил в свободное от работы время написать игру – видимо, в качестве подарка. Эта игра, которую он назвал просто Adventure, объединила в себе три его главных увлечения: программирование, исследование пещер и новую настольную игру под названием Dungeons and Dragons (D&D).

Как такое возможно? Очень просто: игроку предлагается исследовать пещерный ландшафт, примерно соответствующий пещере Бедквилт (часть Колоссальной пещеры, в связи с чем «полное» наименование игры часто приводят как Collossal Cave Adventure) в составе пещерной системы Мамонтова—Флинт-ридж35 в штате Кентукки. Краузер долгие годы изучал ее, составляя подробную карту. В пещере игрок встречается с существами и сокровищами, заимствованными прямиком со страниц руководств по D&D, а для победы должен решать запутанные головоломки, обращая внимание на мелочи, как настоящий программист. Короче говоря, Краузер создал первое в истории текстовое приключение, единолично заложив основы жанра, почти без изменений сохранившиеся до наших дней.

Теперь давайте ненадолго отвлечемся от самой игры и попробуем ответить на вопрос: а кто такой, собственно, Уилл Краузер? Его портрет хорошо выведен в книге Кэти Хефнер и Мэтью Лайона Where Wizards Stay Up Late36 («Там, где волшебники засиживаются допоздна»), где повествуется об истории создания сети ARPANET37 (предшественницы современного интернета). Краузер обладал множеством причуд характера, которые сегодня привычно ассоциируются у нас с хакерами. Можно сказать, он был «прототипичным» хакером.

Во-первых, он был крайне неразговорчив и практически не проявлял эмоций, отчего окружающим становилось не по себе. Во-вторых, он терпеть не мог костюмы и всегда ходил в повседневной одежде; даже на аудиенции к Комитету начальников штабов ВС США в Пентагоне он приходил в кроссовках. В-третьих, цитирую: «он был чудовищно привередлив в еде (любое блюдо сложнее бутерброда с колбасой могло вызвать у него резкое неприятие), из-за чего его невозможно было приглашать в гости или в ресторан».

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

Но все эти причуды с лихвой компенсировались другим качеством Краузера – непревзойденным талантом к программированию. На англоязычной странице Википедии, посвященной Уиллу Краузеру, значится: «Программист, спелеолог и альпинист-любитель. Наиболее известен как один из создателей игры Colossal Cave Adventure» – и все. Казалось бы, все правда, но как-то нечестно сводить достижения этого человека только к изучению пещер и одной-единственной игре. Краузер заслужил место в компьютерной истории, даже если бы никогда не написал Adventure.

Уилл Краузер был незаменимым членом небольшой команды разработчиков, которая с конца 60-х закладывала основы современного интернета. Он лично написал ПО для работы IMP’ов (Interface Message Processor – «интерфейсный процессор обработки сообщений») – компьютеров, осуществлявших коммутацию пакетов в базовой подсети ARPANET; иными словами он создал прошивку для первых в мире роутеров. Коллеги не без оснований считали, что он «входит в 1% лучших программистов мира». Особенно ему удавалось писать емкий и эффективный код – весьма ценный навык, учитывая чрезвычайно жесткие ограничения в объемах памяти и процессорной мощности. Главный недостаток Краузера (и то с натяжкой): его куда больше привлекала разработка прототипов. Ему скорее было интересно продемонстрировать принципиальную возможность решения той или иной задачи, нежели шлифовать код и доводить программу до завершенного вида.

И если сопоставить все эти факты друг с другом, становится ясно, как вышло, что Краузер буквально на коленке создал сам жанр ИЛ, причем в том виде, в каком мы его знаем до сих пор… а потом с такой же легкостью забросил: просто потому (вероятно), что возникла более интересная задача, требовавшая решения.

10. «Приключение» Уилла Краузера, часть 2

Оригинальная Adventure38, написанная Краузером, включает в себя довольно полный «наружный» уровень и первый подземный уровень, которые мы помним по завершенной версии игры. Эта своего рода «демо-версия» заканчивается на локации «Большой перекресток», где установлен знак: «РАБОТЫ ПО СТРОИТЕЛЬСТВУ ПЕЩЕРЫ НЕ ЗАВЕРШЕНЫ. МОЖЕТЕ ПРОДОЛЖАТЬ ИССЛЕДОВАНИЕ НА СВОЙ СТРАХ И РИСК». И это не розыгрыш. Начиная с этого места код становится неряшливым и невычитанным настолько, что при переходе в очередную комнату игрока может, например, внезапно выкинуть на поверхность. Да и кроме обычных трудностей с ориентированием, игровых задач как таковых там, в общем-то, нет. Но все равно даже в таком виде Краузер заложил основы для тысяч текстовых приключений, которые будут написаны впоследствии, в том числе даже кое-какие простенькие головоломки – ну и лабиринты, конечно же, куда без них.

На самом деле, Adventure и есть один большой лабиринт. Самая сложная задача во всей игре – понять, как соединены между собой узлы (то есть «комнаты») игрового мира, и как там ориентироваться. Более того, все головоломки, которых и без того немного, так или иначе завязаны на перемещении: игроку нужно догадаться, как прогнать змею, чтобы выйти из «Зала горного короля», затем нужно найти другой выход из пещеры, чтобы покинуть ее вместе с сокровищами и т.д. Современному игроку, в особенности если он воспитан на поздних произведениях ИЛ, это наверняка покажется странным, неинтересным и, вполне возможно, даже раздражающим. Все-таки мы привыкли, что в игре, помимо головоломок и блужданий, должно быть еще и увлекательное повествование. Но стремился ли сам Краузер к сильному нарративу, разрабатывая Adventure? Сильно сомневаюсь.

Уилл Краузер вел и ведет весьма закрытый образ жизни, поэтому пообщаться с ним и узнать, о чем он думал во время разработки и что хотел или не хотел сделать, невозможно. Но здесь нас может в какой-то степени выручить текст, который игра выдает в ответ на команду «HELP» (ПОМОЩЬ):


Я ПОНИМАЮ, ЧТО ТАКОЕ МЕСТА, ДЕЙСТВИЯ И ПРЕДМЕТЫ. БОЛЬШИНСТВО СЛОВ В МОЕМ СЛОВАРЕ ОПИСЫВАЕТ МЕСТА И ПЕРЕМЕЩЕНИЕ МЕЖДУ НИМИ. ЧТОБЫ ПЕРЕМЕЩАТЬСЯ, ВВЕДИ «ЛЕС», «ЗДАНИЕ», «ВНИЗ ПО РЕКЕ», «ВОЙТИ», «ВОСТОК», «ЗАПАД», «СЕВЕР», «ЮГ», «ВВЕРХ» ИЛИ «ВНИЗ». МНЕ ИЗВЕСТНЫ КОЕ-КАКИЕ ПРЕДМЕТЫ, СПРЯТАННЫЕ В ПЕЩЕРЕ, НАПРИМЕР «ЧЕРНЫЙ ПРУТ». Я ПОНИМАЮ НЕКОТОРЫЕ КОМАНДЫ, ПОСРЕДСТВОМ КОТОРЫХ МОЖНО С ЭТИМИ ПРЕДМЕТАМИ ВЗАИМОДЕЙСТВОВАТЬ.


Обратите внимание, что на первый план Краузер ставит именно географию и перемещение, и только потом, как бы походя, упоминает о возможности взаимодействовать с «кое-какими предметами». Увлеченный хакер, Краузер почти наверняка имел знакомство с Hunt the Wumpus. Мне кажется, было бы логичным предположить, что Adventure изначально задумывалась как очередная попытка развить идеи Йоба о «топологической компьютерной игре» и, собственно, так и разрабатывалась, пока автору не наскучило. Весьма вероятно также – почти бесспорно, – что навигация по сторонам света была добавлена позже всего. По всей видимости, Краузер первоначально планировал, что игрок будет перемещаться между комнатами, пользуясь только ключевыми словами – то есть ориентирование в пространстве действительно ставилось во главу угла.* Неудивительно, ведь для Краузера как спелеолога подземная география имела первостепенную важность не столько с позиции фактической точности, сколько как фактор выживания. Разработкой Adventure Краузер, скорее всего, занимался на том же домашнем телетайпном терминале, на котором он компилировал геологические данные и составлял карты настоящей Мамонтовой пещеры для коллег-спелеологов.

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

С другой стороны, действительно ли нам так важно знать, какую именно игру хотел сделать Краузер? Наверное, нет. Однако необходимо помнить, что в то время ожидания игроков и подходы создателей игр к геймдизайну были совсем не такими, как сегодня, и становится ясно, почему авторам сходило с рук то, что сейчас кажется нам издевательством. К этой мысли я еще буду возвращаться, рассматривая другие игры описываемого периода.

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

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

Здесь интересно отметить реакцию других спелеологов, которые имели возможность поиграть в Adventure. Многие из них обратили внимание, насколько скрупулезно воспроизведено устройство пещеры Бедквилт, вплоть до придуманных Краузером сотоварищи названий, таких как «Зал горного короля» или «Птичья клетка» (хотя наиболее опытные, конечно, заметили также, что ряд переходов был убран: их наличие сделало бы навигацию и прохождение чересчур легким). А Мел Парк, участница одной из экспедиций в Колоссальную пещеру, в 1994 году писала про свою напарницу, которая изучила Adventure вдоль и поперек:

«В течение всей вылазки она не умолкая рассказывала нам все, что знала благодаря игре. В пещере под названием “Швейцарский сыр” она вдруг исчезла в незнакомом мне направлении. Вернувшись, она сказала: “Я просто хотела посмотреть, как выглядит “Полный тупик”. В точности так, как я и ожидала”. На обратном пути я разрешила ей вывести нас наружу, что она с блеском проделала, так как помнила все ходы в игре наизусть. Вы не подумайте, пещера представляет собой сложный лабиринт, и для новичка так хорошо ориентироваться в нем – большое достижение».

Что ж, а дальше мы рассмотрим, какое здание возвел на этом прочном фундаменте Дон Вудс.

11. Дон Вудс продолжает «Приключение», часть 1

Дон Вудс узнал об Adventure в начале 1977 года, когда учился в магистратуре Стэнфордского университета по специальности «Информатика». Наводку ему дал однокашник, который нашел игру – не поверите – в компьютерной системе Стэнфордского медицинского центра. Каким образом Adventure попала из BBN Technologies в Бостоне, где на момент ее создания работал Уилл Краузер, в северную Калифорнию, наверное, так навсегда и останется загадкой, поэтому не будем плодить домыслы, а поговорим только о том, что нам более или менее известно. А нам известно, что Вудс, заинтересовавшись игрой, перенес ее копию на мини-компьютер PDP-1039 в Стэнфордской лаборатории искусственного интеллекта (СЛИИ), где сам занимался хакерством. Досконально изучив все то немногое, что предлагала оригинальная версия, он решил развить наработки Краузера и доделать игру до конца. К сожалению, в его распоряжении был только исполняемый файл, без исходников на Fortran. История о том, как был добыт исходный код Adventure, прочно вошла в анналы хакерских баек, и я с удовольствием ее здесь перескажу.

В тексте программы Краузер оставил одно-единственное указание на свое авторство. В инструкции к игре с неподражаемой лаконичностью написано: «ОШИБКИ, ЗАМЕЧАНИЯ, ПРЕДЛОЖЕНИЯ – КРАУЗЕРУ». По всей видимости, Краузер и не рассчитывал, что его игра, тем более в столь незавершенном виде, когда-либо выйдет за пределы кружка хакеров из BBN Technologies (а уж они-то определенно знали, кто такой «КРАУЗЕР» и как с ним связаться). Задача осложнялась еще и тем, что к тому моменту, как Вудс наткнулся на Adventure, Краузер уже устроился работать в калифорнийский офис компании Xerox (так что есть вероятность, что игра попала на Западное побережье вместе с ним). Но Вудс нашел выход: он отправил электронное письмо по адресу crowther@xxx, где «xxx» обозначает все существующие домены в Сети. Так, став, возможно, первым в истории спамером, Вудс разыскал Краузера и получил от него разрешение на доработку Adventure и, что самое главное, ее драгоценный исходный код. Да уж, в те времена интернет был куда более тесен…

На момент знакомства с Adventure Вудсу еще не было двадцати трех, но он уже заслужил себе место в хакерской истории, выступив соавтором шуточного языка программирования под названием INTERCAL40 – одного из самых безумных образчиков хакерского юмора. Cтивен Леви особо подчеркивает контраст в хакерской культуре Восточного и Западного побережья США:

«Различия начинались с местоположения: Стэнфордская лаборатория искусственного интеллекта (СЛИИ) размещалась в полукруглом здании из стекла, бетона и редких пород дерева – бывшем конференц-центре, построенном на холмах над университетским городком. Там к услугам хакеров были шестьдесят четыре терминала, разбросанные по разным кабинетам. Никакой тесноты, характерной для Тек-Сквера. Ни лифтов, ни оглушающего гудения кондиционеров. И атмосфера была куда более расслабленной, чем в МТИ: без желчности, пусть иногда и конструктивной, без громких перепалок в аудиториях Клуба железнодоророжных моделистов, без войн между хакерами и магистрантами, доходивших до уровня религиозных. В то время как в Тек-Сквере была популярна воинственная научная фантастика с космическими кораблями и бластерами, в Стэнфорде отдавали предпочтение уютному фэнтези: эльфам, хоббитам и колдунам со страниц трилогии Дж. Р. Р. Толкина “Властелин колец”. Помещения в лаборатории искусственного интеллекта носили названия различных мест Средиземья, а принтер мог печатать на трех эльфийских шрифтах».

На мой взгляд, Леви несколько преувеличивает культурную «пропасть» между консервативными, по-военному стриженными поклонниками Хайнлайна из МТИ и длинноволосыми толкиенистами из Стэнфорда, ведь несмотря на различия в литературных предпочтениях, они все же работали на одинаковых компьютерах (прежде всего, линейки PDP от DEC), с одинаковой операционной системой (TOPS-1041), на одинаковых языках программирования (что угодно, кроме BASIC!) – и вообще придерживались весьма сходных взглядов касательно принципов работы с компьютером. В этом плане у них было гораздо больше общего друг с другом, чем с популистами-хиппи из РСС. Определенная разница в подходах к программированию, безусловно, прослеживалась, но и то скорее поколенческая, нежели географическая. Прежде чем поговорить о ней, небольшое лирическое отступление на техническую тему.

Adventure была написана под операционной системой TOPS-10 для мини-компьютеров DEC PDP-10. Как уже упоминалось, ЭВМ производства DEC пользовались у хакеров безоговорочной любовью, которая длилась по меньшей мере лет двадцать – с 1960 по 1980 годы. Во-первых, компания-производитель постоянно стремилась к инновациям, причем не только в производимой технике. Во-вторых, сами машины были достаточно мощными, чтобы решать серьезные задачи, но вместе с тем достаточно компактными, чтобы их можно было без особого труда перемещать. Но главное даже не это, а другое: DEC не просто понимала потребности хакеров, а разделяла их. Для нее передовые исследовательские учреждения вроде МТИ и Стэнфорда служили полигонами для разработки и обкатки нового программного и аппаратного обеспечения. Наиболее перспективных хакеров DEC даже время от времени приглашала к себе в штат. Трудно представить более разительный контраст со снисходительным и закоснелым гигантом под названием IBM. Операционная система TOPS-10, разработанная DEC, пользовалась точно такой же огромной любовью, и ее развитие с конца 60-х до середины 70-х годов велось при активном участии хакерского сообщества. TOPS-10 сохраняла свои позиции главной хакерской ОС вплоть до 1977 года, когда начался плавный переход на Unix и TOPS-20, духовную наследницу от все тех же разработчиков из DEC.

Исходный код Adventure был написан на языке Fortran42 (FORmula TRANslating system, т.е. «система перевода формул»), которому на тот момент уже исполнилось два десятилетия. Это был первый высокоуровневый язык программирования, получивший широкое распространение; его разработали в конце 50-х годов в недрах компании IBM для своих же мейнфреймов. Краузер и Вудс программировали на стандарте Fortran IV, который появился в 1965 году. Как бы хакеры ни плевались от BASIC, Fortran, сказать по правде, был не сильно лучше: в нем тоже приходилось вручную нумеровать строки, а также обильно пользоваться вставными структурами с оператором GOTO, без которых ничего не работало. Более не подходящий для текстовых приключений язык отыскать трудно – еще и потому, что Fortran не поддерживал строковые переменные. Именно поэтому Краузер вынес весь игровой текст в отдельный файл: с ним так было удобнее работать. По иронии судьбы, в том же году, когда Вудс завершил работу над Adventure, появился Fortran 77 – крупное расширение, которое, помимо прочего, давало возможность манипулировать полноценными строковыми переменными. Увы, переносить проект на этот стандарт было уже поздно.

Но почему именно Fortran? Дело в том, что выбор языков, поддерживаемых TOPS-10, был невелик. В число альтернатив Fortran входил язык ассемблера (но писать на нем игру вроде Adventure – еще большее мучение), а также ненавистный всем BASIC и, наверное, еще более ненавистный COBOL43 (COmmon Business Oriented Language, «обобщенный язык для применения в сфере бизнеса») – страшно негибкий язык, разработанный исключительно для неинтерактивной работы со структурами данных, т.е. рутинных расчетов и бизнес-вычислений, которые казались хакерам невыносимо скучными. Известный нам Эдсгер Дейкстра, желая, видимо, продемонстрировать, что сарказм не всегда идет рука об руку с изобретательностью, отзывался о COBOL примерно в том же духе, что и о BASIC: «Программирование на Коболе калечит мозг, поэтому обучение ему должно трактоваться как преступление». Собственно, методом исключения выбор и пал на Fortran.

Однако несмотря на то, что Краузер с Вудсом писали на одном и том же языке, подходы к оформлению кода у них коренным образом различались. Оригинальный исходный код, написанный Краузером, представляет собой весьма суровый образчик спагетти-кода и практически лишен комментариев, то есть сам по себе все равно что «лабиринт из маленьких запутанных переходов». Да, он, несомненно, лаконичен и прекрасно оптимизирован, но едва ли кто-то, кроме самого Краузера, был в состоянии его поддерживать или хотя бы прочесть. Окончательная версия Вудса, напротив, —образец чистоты и ясности: множество развернутых комментариев, а структура прозрачная и логичная – насколько, конечно, позволяет ограниченный инструментарий Fortran IV. Впрочем, даже невзирая на эти ограничения, читать код Вудса – одно удовольствие. Именно этим, я думаю, и объясняется, каким образом Adventure впоследствии столь быстро портировали на множество других языков и платформ: код Вудса позволял делать это чуть ли не с закрытыми глазами.

Сравнивать черновую заготовку с законченной версией, конечно, нечестно. Едва ли программа Вудса была такой читаемой с самого начала; ее шлифовкой явно занимались вплоть до самого релиза. Однако определенные выводы сделать все-таки можно. Во-первых, код явно демонстрирует различие в темпераменте: Краузер, хоть и признанный гений программирования, был скорее одиночкой, и потому явно не стремился комментировать свои решения и делать код понятным для последователей. Во-вторых, как уже упоминалось выше, Краузер с Вудсом принадлежали к разным поколениям хакеров. Краузер начал работать в 60-е годы, когда никаких законов «правильного» программирования не было и в помине; главное – добиться результата любым способом, который позволяло хилое «железо» тех лет. Вудс же сложился как хакер уже в 70-е годы, когда структурированность, прозрачность, читаемость и удобство сопровождения кода уже выходили на первый план и когда программисты сформулировали основные правила, которых мы – с некоторыми добавлениями и уточнениями – придерживаемся до сих пор.