Кстати, опыт «младшего жреца» Привалова не сильно отличался от опыта самого Бориса Стругацкого (младшего брата в знаменитом писательском тандеме), если судить по его воспоминаниям (речь идет как раз о конце 1950-х).
«Я… вместо кандидата физ. – мат. наук сделался инженером-эксплуатационником по счетно-аналитическим машинам… Так, я, например, испытывал самое высокое творческое наслаждение, работая с немецкими гробами тридцатых годов – табуляторами, призванными изначально только складывать, вычитать и печатать, – а я обучал их высокому искусству умножения, деления и даже извлечения квадратного корня. И это было прекрасно!»[39 - Борис Натанович Стругацкий – выпускник матмеха ЛГУ (1955). См.: Стругацкий Б. Н. О матмехе с любовью. СПб.: Полярная звезда, 2011.]
Но, конечно, не все хакеры были «жрецами».
Первые их шаги (по описаниям все того же Леви) были связаны как раз с желанием обойти абсолютную «жреческую» монополию на доступ к компьютерам. Обойти – по разным причинам. Одним хотелось напрямую общаться с «другим разумом», другими двигало желание играть, столь присущее человеку. Кстати, само английское слово «хак» имеет нечто общее со студенческим «врубиться», в смысле – понять, хорошо разобраться.
Хакерами двигали три желания.
Они хотели непосредственно общаться с машиной.
Они хотели работать в «реальном времени», то есть узнавать результаты своих действий «сейчас и здесь».
Наконец, они хотели ощущать полученные ими результаты так же остро, как все мы ощущаем окружающий нас мир в его постоянной реальности, в его движении, в изменениях, хотя поначалу это сводится прежде всего к визуализации результатов.
В Массачусетском технологическом институте хакеры начинали свой путь как самые простые члены клуба любителей настольной железной дороги. Да, да, железной дороги. Был такой клуб, составляли его любители. Одних больше интересовала, скажем, правильная раскраска игрушечных вагонов, аутентичность железнодорожных станций кукольного размера, других – электрические схемы, реле, принципы сигнализации. Казалось бы, все это лишь затянувшееся детство, но мир меняется быстро, его изменения беспрерывны, эти изменения затягивают, увлекают, тащат за собой; короче, всем членам указанного выше клуба хотелось быть истинными творцами, действовать (именно действовать) хотя бы в масштабах настольной железной дороги.
Главной вычислительной машиной в Массачусетском технологическом институте была IBM 704. Ее массовый выпуск наладили в 1954 году. Стоила она два миллиона долларов и весила около 15 тонн, даже без мощной системы охлаждения. В инструкции указывалось, что IBM 704 – это «крупномасштабный скоростной электронный калькулятор, управляемый внутренней хранимой программой с инструкциями одноадресного типа… Гибкая организация позволяет машине выполнять команды со скоростью примерно сорок тысяч команд в секунду при решении большинства проблем… Внутренняя скоростная память – на магнитных сердечниках. Когда объем памяти оказывается недостаточным, магнитные барабаны используются для того, чтобы хранить и выдавать большие объемы информации для быстрого доступа с небольшими интервалами. Когда необходимый объем памяти превышает возможности оперативной памяти и магнитных барабанов, используется магнитная лента… Программа может вводиться в калькулятор многими способами… Обычно команды в исходной форме пробиваются на перфокартах и вводятся в машину через читающее устройство…»[40 - IBM 704 Manual. Printed by IBM Corporation, 1954, 1955.].
Одно из самых строгих официальных правил заключалось в том, что никто, абсолютно никто, кроме обслуживающего персонала, не имел права без разрешения приближаться к машине, хотя, разумеется, многие студенты и молодые научные сотрудники ну просто сгорали от желания нарушить это правило.
Первый язык программирования высокого уровня – Fortran (Фортран) – был разработан американским специалистом в области информатики Джоном Бэкусом (1924–2007) в 1954 году, а первый компилятор (программа для перевода программы высокого уровня в машинный код) для указанного языка появился в 1957 году. Другой информатик – Джон Маккарти (1927–2011) – через год разработал язык LISP (List Processing language; Лисп). А уже весной 1959 года Массачусетский технологический институт предложил своим студентам первый учебный курс программирования; преподавал его сам Джон Маккарти.
Машинные языки быстро усложнялись.
Общение с машиной выходило на все более осмысленный уровень.
Теперь это было уже не обычное муторное составление программ в специальных кодах, требующее подробной записи команд и адресов в числовом (бинарном или восьмеричном) представлении, а настоящая творческая работа.
Интересно, что в те же самые годы за океаном – в СССР – исследователи шли тем же примерно курсом (уточним, параллельным), хотя развитию вычислительной техники очень мешала продолжающаяся там чисто идеологическая борьба с кибернетикой. Тем не менее первый учебный курс программирования в СССР (с использованием условного языка команд) был прочитан уже в 1952 году замечательным математиком Алексеем Андреевичем Ляпуновым (1911–1973)[41 - См.: Липаев В. В. Очерки истории отечественной программной инженерии: 1940–1980-е годы. М.: Синтег, 2012.]. А с конца 1950-х годов в СССР начали выходить учебники программирования, среди них очень известный – Анатолия Китова и Николая Криницкого[42 - Китов А. И., Криницкий Н. А. Электронные цифровые машины и программирование. М.: Государственное изд-во физико-математической литературы, 1959.].
Сейчас трудно представить себе бурную радость хакеров при появлении новых все более доступных компьютеров. В Массачусетском технологическом институте таким «новым» стал TX-0. В отличие от прежних вычислительных мастодонтов, он не производился массово; техникам для работы сперва был предоставлен образец, созданный в Линкольновской лаборатории. Был он выполнен на транзисторах и печатных схемах, имел совсем небольшой экран, на котором в процессе работы высвечивались всего лишь зеленые буквы, точки и линии, даже допускал работу в интерактивном режиме, зато занимал целую комнату и стоил около трех миллионов долларов. Все же – штучное производство. Данные в TX-0 вводились с перфолент, а не с перфокарт, причем нужную перфоленту можно было «набить» тут же. Объем оперативной памяти TX-0 составлял всего несколько килобайт, но несомненное преимущество – энтузиастам из числа студентов и преподавателей разрешали работать с ним непосредственно!
В 1959 году появился еще более компактный (размером всего-то с тройку холодильников) компьютер PDP-1 – продукт недавно возникшей корпорации «Digital Equipment» (DEC; «Диджител экипмент»). Эта машина стоила уже только 120 тысяч долларов; немало, но все же не миллионы!
Чем занимались, чего достигли первые хакеры?
Говоря о юности Стива Джобса и Стива Возняка, о возникновении знаменитой фирмы «Apple», о создании первых настоящих персональных компьютеров не обойтись без реального понимания царящей в те годы атмосферы созидающего, всегда личностного труда. Даже неясно, в какой последовательности следует перечислять темы, вдохновлявшие и одновременно развлекавшие хакеров того поколения.
Ну, развитие языков программирования. Тут, в общем, все ясно.
«Рассел помогал дяде Джону (основоположнику теории искусственного интеллекта Джону Маккарти. – Г. П., С. С.) писать интерпретатор LISP для огромного неповоротливого гиганта IBM 704. По его словам, это была “ужасная инженерная работа”, в основном – из-за утомительного режима пакетной обработки на модели 704»[43 - Levy S. L’Ethique des Hackers. P. 57.].
Ну, первые компьютерные игры.
Под влиянием все того же неутомимого Джона Маккарти шла непрестанная работа над программами для игры в шахматы (за океаном, в СССР, этим тоже занимались с конца 1950-х – под руководством чемпиона мира, доктора технических наук Михаила Ботвинника). Одновременно велась работа над играми, близкими к тем, что популярны и сейчас, к примеру «Мышь в лабиринте». Пользователь рисовал световым пером хитроумный (по его представлению) лабиринт, затем ставил отметку на экране, и эта отметка (собственно, мышь), тыкаясь в стены, упорно отыскивала другие отметки (ломтики сыра) на экране. Существовала даже VIP-версия этой игры: в ней мышь отыскивала бокалы с мартини[44 - Ibid.].
Ну, первые шаги компьютерной графики.
Здесь игры тоже были не последней мотивацией.
Вот, скажем, разработка оптимального маршрута с пересадками в огромном запутанном нью-йоркском метро. Программы подобного типа сейчас вовсю используются, к примеру, в системах продажи авиабилетов. Этот хак (обходное техническое решение) был даже опробован в реальности. Парочка экспериментаторов ехала в настоящем метро, а связь с ними через уличные телефоны обеспечивалась курьерами, связанными с лабораторией. Данные вводились в машину, программа выдавала нужные указания, и вся эта информация тут же отправлялась к экспериментаторам.
Наконец, открытие совершенно неожиданных (именно так!) возможностей компьютера. В компьютер PDP-1 стало воможным вводить музыкальную партитуру, переводя ноты в буквы и цифры, а он отвечал на это прекрасной трехголосной органной сонатой. Группа хакеров закодировала таким образом оперетты Гилберта и Салливана.
Показателен пример создания известной игры «Космические войны».
Это был существенный шаг по направлению к программированию в «реальном» времени: события, происходившие в компьютере, совпадали с временно?й шкалой, в которой работали люди. Расселу наконец удалось сымитировать интерактивный стиль отладки, позволявший видеть, какая из инструкций программы была обработана неправильно. После этого, используя переключатель (Flexowriter), можно было перескочить на другую инструкцию.
Благодаря многочисленным энтузиастам возникла сильнейшая мотивация для развития систем, максимально приближенных к пользователю. Но в целом хакеры Восточного побережья все же были настроены более академично, чем в Калифорнии, – ведь в Массачусетском технологическом институте работали такие светила, как Джон Маккарти и Марвин Ли Минский (1927–2016). Они, кстати, сами были полны любопытства. Когда Минский, например, набрел (почти случайно) на способ изображения окружности на примитивном дисплее (стандартного графического программного обеспечения тогда попросту не существовало), это весьма подняло его акции в кругу хакеров.
Поверхностное прочтение книги Стивена Леви может привести к неправильному представлению, будто речь в ней идет в основном о шутках и забавах, на самом деле все в этой книге серьезно, а игра – это просто стиль хакеров. Главным их двигателем всегда было любопытство. В случае с изображением окружности на дисплее речь могла идти всего лишь о побочном эффекте математической программы по построению сплайнов (гибких лекал), но в другом случае, там, где Марвин Минский говорит об усовершенствовании программы движения трех точек на экране, речь, несомненно, идет о вполне реальной небесной механике – моделировании задачи трех тел. При этом на дисплее появлялись картинки, напоминавшие розу с тысячей лепестков. Сразу чувствовалась хакерская атмосфера, в которой откровенно шутливое легко перемешивалось с глубоко серьезным.
«В начале шестидесятых Марвин Минский начал организацию того, что в дальнейшем превратилось в первую в мире лабораторию, напрямую занимавшуюся искусственным интеллектом. В качестве рабочей силы ему понадобились гении программирования, не случайно он принимал хакерство в любом его виде»[45 - Ibid. P. 59.].
Мир не стоит на месте, мир постоянно меняется.
В Америке люди легко оставляют насиженные места.
В 1962 году Джон Маккарти перебрался из Массачусетского технологического института в Стэнфорд и организовал там Лабораторию искусственного интеллекта (SAIL – Stanford AI Laboratory), аналогичную той, которую возглавлял в Массачусетсе Марвин Минский. Распространению хакерства способствовало теперь появление на рынке высоких технологий новых интерактивных машин, таких как PDP-10 и SDS/XDS-940. Конечно, их количество в 1960-е годы невозможно сравнивать с количеством персональных компьютеров, появившихся в более поздние времена (например, PDP-6 тогда было выпущено всего 23 штуки), зато каждая университетская лаборатория или фирма, где устанавливались такие машины, сразу становилась центром притяжения для многих талантов. В то же время хакеры-ветераны постепенно покидали Массачусетский технологический институт и перебирались в другие места, разнося по всей стране свою культуру. Новые центры хакерства появлялись повсюду. На Западном побережье – Стэнфорд, Беркли, в центре – университет Карнеги-Меллон вблизи Питсбурга, наконец, Чикаго.
«Иногда хакеры уходили не в институты, а в коммерческие фирмы. Программист по имени Майк Левитт основал в Сан-Франциско фирму по развитию передовых технологий под названием “Systems Concepts”»[46 - Ibid. P. 151.].
Многие хакеры с Восточного побережья в дальнейшем переехали на Западное, где перспективы бизнеса выглядели более радужными.
Не всё, конечно, шло гладко.
«Иногда хакеры (такова реальность) отставали от новостей в своем деле и сами непроизвольно становились якорями, замедлявшими текущую работу, – не без юмора писал Эдвард Фредкин (род. 1934), профессор информатики, заместитель Марвина Минского. – Понятно, лаборатория старалась от таких работников освободиться. Иногда для них организовывали специальные командировки, обычно в достаточно отдаленные места. Ничего случайного в этом не было. Все это организовывал я сам»[47 - Ibid.].
3
1960–1970-е годы в США были бурным временем.
Многое менялось, и менялось бесповоротно. Как пел Боб Дилан, любимый бард Стивена Джобса:
Эй, собирайтесь, люди,
Сюда, где бы вы ни бродили,
Ведь вода поднялась,
И никто от нее не уйдет.
Эти воды всех нас
До мозга костей промочили.
Выбор прост – кто не хочет спасаться,
тонет,
А кто хочет спасаться – плывет,
Ибо время пришло перемен…[48 - Перевод С. Соловьева.]
Каждый год приносил что-то новое, прежде казавшееся немыслимым.
За пару лет проходила целая эпоха. Как говорил один нетипичный герой Стивена Кинга: «До полного расцвета движения хиппи оставалось совсем немного, и [все же] не каждый из нас понимал, что мы в первый раз увидели Знак Мира»[49 - Кинг С. Сердца в Атлантиде. М.: АСТ; Харвест, 2008.].