Хакеры: Герои компьютерной революции - Леви Стивен. Страница 12
Вселенная человека и машины не была отмечена ни на одной карте, и практически никто, кроме самих хакеров не имел о ней никакого представления. Как бы смог этот профессор, или кто-нибудь другой на его месте, кто не был также погружен в эту Вселенную, понять, что Вагнер и его друзья использовали компьютер только для того, чтобы, по словам Вагнера, сымитировать «странные ситуации, которые вряд ли кто-либо мог предвидеть»? Со временем профессор, как и любой другой человек на его месте, понял бы, что мир, открытый компьютером был бесконечен.
Если кому-то нужны дальнейшие доказательства, то можно вспомнить о проекте, над которым на вычислительном центре работал Коток — программа игры в шахматы. Над ней начал работать еще на IBM 704 «дядя Джон» Маккарти, как его называли хакеры. Хотя Коток и некоторые другие хакеры, которые помогали ему в работе над программой, испытывали презрение к пакетному способу мышления фирмы IBM, которое окружало машину и людей вокруг нее, они были вынуждены нелегально занять некоторое количество машинного времени и интерактивно его использовать. Днем ранее они выдержали битву с системными программистами на IBM 704, в ходе которой выяснилось, какая из групп пользователей является самым большим потребителем машинного времени. Пули свистели по обеим сторонам баррикад, но, в конце концов, эти парни в белых рубашках и черных галстуках уступили и разрешили Котоку и его группе касаться кнопок и переключателей на 704, что было весьма редким осязательным контактом с этой именитой бестией, созданной в IBM.
Роль Котока в претворении в жизнь шахматной программы была показательна в том же плане, что и роль хакеров в области искусственного интеллекта. Обычно, какая-нибудь «Большая Голова», например Маккарти или его коллега Марвин Минский, начинала научный проект или интересовалась вслух реальностью реализации некоторой задачи на компьютере, а хакеры, если им это было интересно, начинали над этим работать.
Шахматную программу начинали писать на языке ФОРТРАН, который был одним из самых первых компьютерных языков. Компьютерные языки были гораздо более похожи на естественные языки, чем язык ассемблера, на них было гораздо легче писать, и с их помощью в нескольких строчках программы можно было сделать гораздо больше. Однако, каждый раз, когда компьютер получал список команд, написанных на языке ФОРТРАН, компьютер должен был сначала перевести эти инструкции в свой собственный бинарный код. Это делалось при помощи программы, называемой компилятором, которая делала максимум этой работы, равно как и занимала максимум ценного пространства памяти компьютера. В итоге, использование компьютерного языка было большим шагом в сторону от прямого контакта с компьютером, поэтому хакеры, как правило, предпочитали использовать ассемблер, или как они его называли, «машинный» язык, в отличие от менее элегантного «высокоуровневого языка» подобного языку ФОРТРАН.
Коток, вообще-то, признавал, что из-за огромного количества инструкций, которое было необходимо реализовать в программе для игры в шахматы, часть кода следовало писать на ФОРТРАНЕ, а часть — на ассемблере. Они хакерили программу по частям, при помощи «генераторов перемещений», которые были основной структурой данных, а также применяя все виды инновационных алгоритмов для реализации стратегии. После ввода в машину всех правил для перемещения каждой из фигур, они добавили в нее несколько параметров, с помощью которых оценивались позиции фигур, рассматривались различные варианты ходов, и, в конечном счете, выполнялись перемещения фигур, которые переводили программу в еще более сложное состояние. Коток занимался ею в течение нескольких лет, программа росла в размерах, по мере того как МТИ модернизировал компьютеры IBM. И, наконец, в одну памятную ночь, несколько хакеров собрались вместе, для того чтобы посмотреть, как программа выполняет свои первые ходы в реальной игре. Программа достаточно уверенно разыграла дебют, но после восьми или около того ходов, на «доске» сложилось тяжелое для компьютера положение — над ним нависла угроза мата. Всем было любопытно, как машина на это отреагирует. Спустя некоторое время (все знали, что во время этих пауз машина «думает», если считать за «мышление» рассмотрение компьютером различных вариантов ходов, их оценку, отбрасывание большинства из них, и использование предопределенных параметров для того, чтобы выполнить окончательный ход). В конечном итоге, компьютер передвинул свою пешку на две клетки вперед, перепрыгнув через другую фигуру на доске. Ошибка! Но достаточно хитрая — компьютер вывел фигуру за пределы доски. Может быть, программа пыталась разработать новый шахматный алгоритм, с помощью которого она хотела одержать верх?
В других университетах, профессоры делали публичные заявления, что компьютеры никогда не сумеют победить человека при игре в шахматы. Но хакеры разбирались в этом лучше. Они были теми, кто вел компьютеры к более высоким вершинам, чем этого ожидали. И хакеры, благодаря своей производительной и значимой связи с компьютером были в первых рядах тех, кто пользовался благами, даваемыми компьютером.
Но это не ограничивалось теми, кто имел доступ к источнику этих благ. Каждый мог получить что-нибудь полезное из использования думающих машин в автоматизированном мире. И разве не получил бы каждый из обитателей этого мира, еще больше, если бы он подходил к миру с той же самой энергией при получении знаний, с тем же скептицизмом по отношению к бюрократии, с той же открытостью воображения и извлечением пользы из успеха, разделенного с окружающими, так же подстегивая самого себя при внедрении улучшений и желая поступать также как все, кто следовал принципам Хакерской Этики? Разве не выиграл бы он, воспринимая остальных людей, тем же самым непредвзятым способом, которым компьютеры воспринимали любого, кто набивал код на Flexowriter-e? Разве мы бы не выиграли, научившись у компьютера его совершенной работе и перенеся эти совершенные методы в человеческую жизнь? И если бы каждый, кто работает с компьютерами руководствовался тем же непорочным, продуктивным и творческим импульсом, которым руководствовались хакеры, то Хакерская Этика могла бы распространиться в обществе как благостная волна, и тогда компьютер действительно изменил бы мир к лучшему.
В монастырских стенах Массачусетского Технологического Института, люди имели достаточно свободы, чтобы думать и жить этой хакерской мечтой. Никто не предполагал, что эта мечта может выйти за пределы Института. Вместо этого, хакеры приступили к строительству, прямо здесь в МТИ, хакерского Ксанаду, которого больше не было нигде на свете. [17]
3. «Космические войны».
Летом 1961 года, Алан Коток и другие хакеры из TMRC узнали, что свежеиспеченная компьютерная компания скоро привезет в МТИ абсолютно новый компьютер, который представляет собой следующий шаг в развитии вычислительной техники. Это был компьютер, который сделал несколько шагов вперед в плане развития интерактивных способностей TX-0. Это была машина, которая была гораздо лучше, чем TX-0.
PDP-1. Этот компьютер навсегда изменит мир вычислений. Он сделает все еще неясную хакерскую мечту немногим ближе к реальности.
Алан Коток очень хорошо зарекомендовал себя на TX-0, поэтому его, вместе с Сандерсом, Вагнером, Самсоном и несколькими другими ребятами, Джек Деннис взял на работу в состав группы системного программирования TX-0. Работа оплачивалась исходя из необычайно щедрых $1.60 в час. Для некоторых из хакеров, работа была еще одной отмазкой от посещения занятий, поэтому такие люди как Самсон, рисковали никогда не окончить институт, но они были слишком заняты процессом хакерства, чтобы думать и жалеть об этом. Тем не менее, Коток был не только в состоянии учиться, но и зарекомендовал себя «каноническим» хакером. В пределах TX-0 и TMRC он приобрел легендарный статус. Один из хакеров, который тогда еще только поступил в МТИ, вспоминал, как Коток показывал новичкам, как работает TX-0: «У меня создалось впечатление, что у него были проблемы с щитовидкой или что-то этом роде», — говорил Билл Госпер, который также станет со временем каноническим хакером, — «Он говорил очень медленно, был весьма круглолиц и его глаза были постоянно полузакрыты. Но это было полностью неверным представлением. [В отношении TX-0], Коток пользовался бесконечным моральным авторитетом. Он написал программу для игры в шахматы. Он понимал, как работает железо». Последнее замечание представляло собой весомый комплимент. «Понимание работы железа» было сродни постижению Дао окружающей природы.
17
Xanadu — экзотическое, необычное место, название местности из поэмы С.Т. Колериджа «Кублахан» — пр. перев.