У Стивена Леви – самый конец 1950-х, Кембридж, Массачусетс (Восточное побережье). Блистательный Массачусетский технологический институт:
«Все эти люди должны были набивать перфокарты, скармливать их машине, манипулировать прерывателями и кнопками, они были своего рода жрецами, как тогда говорили, а другие, совсем немногие избранные, приносили им полученные данные. Почти мистический ритуал.
Служитель: О, машина, примешь ли ты эту мою информацию [жертву] и выдашь ли результат?
Жрец (с согласия машины): Мы ничего не обещаем»[37].
Но нужный результат машина, как правило, выдавала.
В повести братьев Стругацких (рассказ ведется от лица «младшего жреца» Привалова) атмосфера почти такая же.
«Здесь стоял мой “Алдан”. Я немножко полюбовался на него, какой он компактный, красивый, таинственно поблескивающий (наверное, Джобсу пришлось бы по душе это восхищение. – Г. П., С. С.). Несмотря на маленькие помехи и неприятности, несмотря на то, что одушевленный теперь “Алдан” иногда печатал на выходе: “Думаю. Прошу не мешать”, несмотря на недостаток запасных блоков и на чувство беспомощности, которое охватывало меня, когда требовалось произвести логический анализ “неконгруэнтной трансгрессии в пси-поле инкуб-преобразования”, – несмотря на все это, работать здесь было необычайно интересно, и я гордился своей очевидной нужностью. Я провел все расчеты в работе Ойры-Ойры о механизме наследственности биполярных гомункулусов. Я составил для Витьки Корнеева таблицы напряженности М-поля дивана-транслятора в девятимерном магопространстве. Я вел рабочую калькуляцию для подшефного рыбозавода. Я рассчитал схему для наиболее экономного транспортирования эликсира Детского смеха. Я даже сосчитал вероятности решения пасьянсов “Большой слон”, “Государственная дума” и “Могила Наполеона” для забавников из группы пасьянсов и проделал все квадратуры численного метода Кристобаля Хозевича, за что тот научил меня впадать в нирвану…»
И, наконец, главное (и для «жрецов» Леви, и для героев братьев Стругацких): «Я был доволен, дней мне не хватало, и жизнь моя была полна смысла»[38].
Кстати, опыт «младшего жреца» Привалова не сильно отличался от опыта самого Бориса Стругацкого (младшего брата в знаменитом писательском тандеме), если судить по его воспоминаниям (речь идет как раз о конце 1950-х).
«Я… вместо кандидата физ. – мат. наук сделался инженером-эксплуатационником по счетно-аналитическим машинам… Так, я, например, испытывал самое высокое творческое наслаждение, работая с немецкими гробами тридцатых годов – табуляторами, призванными изначально только складывать, вычитать и печатать, – а я обучал их высокому искусству умножения, деления и даже извлечения квадратного корня. И это было прекрасно!»[39]
Но, конечно, не все хакеры были «жрецами».
Первые их шаги (по описаниям все того же Леви) были связаны как раз с желанием обойти абсолютную «жреческую» монополию на доступ к компьютерам. Обойти – по разным причинам. Одним хотелось напрямую общаться с «другим разумом», другими двигало желание играть, столь присущее человеку. Кстати, само английское слово «хак» имеет нечто общее со студенческим «врубиться», в смысле – понять, хорошо разобраться.
Хакерами двигали три желания.
Они хотели непосредственно общаться с машиной.
Они хотели работать в «реальном времени», то есть узнавать результаты своих действий «сейчас и здесь».
Наконец, они хотели ощущать полученные ими результаты так же остро, как все мы ощущаем окружающий нас мир в его постоянной реальности, в его движении, в изменениях, хотя поначалу это сводится прежде всего к визуализации результатов.
В Массачусетском технологическом институте хакеры начинали свой путь как самые простые члены клуба любителей настольной железной дороги. Да, да, железной дороги. Был такой клуб, составляли его любители. Одних больше интересовала, скажем, правильная раскраска игрушечных вагонов, аутентичность железнодорожных станций кукольного размера, других – электрические схемы, реле, принципы сигнализации. Казалось бы, все это лишь затянувшееся детство, но мир меняется быстро, его изменения беспрерывны, эти изменения затягивают, увлекают, тащат за собой; короче, всем членам указанного выше клуба хотелось быть истинными творцами, действовать (именно действовать) хотя бы в масштабах настольной железной дороги.
Главной вычислительной машиной в Массачусетском технологическом институте была IBM 704. Ее массовый выпуск наладили в 1954 году. Стоила она два миллиона долларов и весила около 15 тонн, даже без мощной системы охлаждения. В инструкции указывалось, что IBM 704 – это «крупномасштабный скоростной электронный калькулятор, управляемый внутренней хранимой программой с инструкциями одноадресного типа… Гибкая организация позволяет машине выполнять команды со скоростью примерно сорок тысяч команд в секунду при решении большинства проблем… Внутренняя скоростная память – на магнитных сердечниках. Когда объем памяти оказывается недостаточным, магнитные барабаны используются для того, чтобы хранить и выдавать большие объемы информации для быстрого доступа с небольшими интервалами. Когда необходимый объем памяти превышает возможности оперативной памяти и магнитных барабанов, используется магнитная лента… Программа может вводиться в калькулятор многими способами… Обычно команды в исходной форме пробиваются на перфокартах и вводятся в машину через читающее устройство…»[40].
Одно из самых строгих официальных правил заключалось в том, что никто, абсолютно никто, кроме обслуживающего персонала, не имел права без разрешения приближаться к машине, хотя, разумеется, многие студенты и молодые научные сотрудники ну просто сгорали от желания нарушить это правило.
Первый язык программирования высокого уровня – Fortran (Фортран) – был разработан американским специалистом в области информатики Джоном Бэкусом (1924–2007) в 1954 году, а первый компилятор (программа для перевода программы высокого уровня в машинный код) для указанного языка появился в 1957 году. Другой информатик – Джон Маккарти (1927–2011) – через год разработал язык LISP (List Processing language; Лисп). А уже весной 1959 года Массачусетский технологический институт предложил своим студентам первый учебный курс программирования; преподавал его сам Джон Маккарти.
Машинные языки быстро усложнялись.
Общение с машиной выходило на все более осмысленный уровень.
Теперь это было уже не обычное муторное составление программ в специальных кодах, требующее подробной записи команд и адресов в числовом (бинарном или восьмеричном) представлении, а настоящая творческая работа.
Интересно, что в те же самые годы за океаном – в СССР – исследователи шли тем же примерно курсом (уточним, параллельным), хотя развитию вычислительной техники очень мешала продолжающаяся там чисто идеологическая борьба с кибернетикой. Тем не менее первый учебный курс программирования в СССР (с использованием условного языка команд) был прочитан уже в 1952 году замечательным математиком Алексеем Андреевичем Ляпуновым (1911–1973)[41]. А с конца 1950-х годов в СССР начали выходить учебники программирования, среди них очень известный – Анатолия Китова и Николая Криницкого[42].
Сейчас трудно представить себе бурную радость хакеров при появлении новых все более доступных компьютеров. В Массачусетском технологическом институте таким «новым» стал TX-0. В отличие от прежних вычислительных мастодонтов, он не производился массово; техникам для работы сперва был предоставлен образец, созданный в Линкольновской лаборатории. Был он выполнен на транзисторах и печатных схемах, имел совсем небольшой экран, на котором в процессе работы высвечивались всего лишь зеленые буквы, точки и линии, даже допускал работу в интерактивном режиме, зато занимал целую комнату и стоил около трех миллионов долларов. Все же – штучное производство. Данные в TX-0 вводились с перфолент, а не с перфокарт, причем нужную перфоленту можно было «набить» тут же. Объем оперативной памяти TX-0 составлял всего несколько килобайт, но несомненное преимущество – энтузиастам из числа студентов и преподавателей разрешали работать с ним непосредственно!