34.
Одно из самых строгих официальных правил заключалось в том, что никто, абсолютно никто, кроме обслуживающего персонала, не имел права без разрешения приближаться к машине, хотя, разумеется, многие студенты и молодые научные сотрудники ну просто сгорали от желания нарушить это правило.
Первый язык программирования высокого уровня — Fortran (Фортран) — был разработан американским специалистом в области информатики Джоном Бэкусом (1924—2007) в 1954 году, а первый компилятор (программа для перевода программы высокого уровня в машинный код) для указанного языка появился в 1957 году. Другой информатик — Джон Маккарти (1927—2011) — через год разработал язык LISP (List Processing language; Лисп). А уже весной 1959 года Массачусетский технологический институт предложил своим студентам первый учебный курс программирования; преподавал его сам Джон Маккарти.
Машинные языки быстро усложнялись.
Общение с машиной выходило на всё более осмысленный уровень.
Теперь это было уже не обычное муторное составление программ в специальных кодах, требующее подробной записи команд и адресов в числовом (бинарном или восьмеричном) представлении, а настоящая творческая работа.
Интересно, что в те же самые годы за океаном — в СССР — исследователи шли тем же примерно курсом (уточним, параллельным), хотя развитию вычислительной техники очень мешала продолжающаяся там чисто идеологическая борьба с кибернетикой. Тем не менее первый учебный курс программирования в СССР (с использованием условного языка команд) был прочитан уже в 1952 году замечательным математиком Алексеем Андреевичем Ляпуновым (1911—1973)35. Ас конца 1950-х годов в СССР начали выходить учебники программирования, среди них очень известный — Анатолия Китова и Николая Криницкого36.
Сейчас трудно представить себе бурную радость хакеров при появлении новых всё более доступных компьютеров. В Массачусетском технологическом институте таким «новым» стал ТХ-0. В отличие от прежних вычислительных мастодонтов, он не производился массово; техникам для работы сперва был предоставлен образец, созданный в Линкольновской лаборатории. Был он выполнен на транзисторах и печатных схемах, имел совсем небольшой экран, на котором в процессе работы высвечивались всего лишь зелёные буквы, точки и линии, даже допускал работу в интерактивном режиме, зато занимал целую комнату и стоил около трёх миллионов долларов. Всё же — штучное производство. Данные в ТХ-0 вводились с перфолент, а не с перфокарт, причём нужную перфоленту можно было «набить» тут же. Объём оперативной памяти ТХ-0 составлял всего несколько килобайт, но несомненное преимущество — энтузиастам из числа студентов и преподавателей разрешали работать с ним непосредственно!
В 1959 году появился ещё более компактный (размером всего-то с тройку холодильников) компьютер PDP-1 — продукт недавно возникшей корпорации «Digital Equipment» (DEC; «Диджител экипмент»). Эта машина стоила уже только 120 тысяч долларов; немало, но всё же не миллионы!
Чем занимались, чего достигли первые хакеры?
Говоря о юности Стива Джобса и Стива Возняка, о возникновении знаменитой фирмы «Apple», о создании первых настоящих персональных компьютеров не обойтись без реального понимания царящей в те годы атмосферы созидающего, всегда личностного труда. Даже неясно, в какой последовательности следует перечислять темы, вдохновлявшие и одновременно развлекавшие хакеров того поколения.
Ну, развитие языков программирования. Тут, в общем, всё ясно.
«Рассел помогал дяде Джону (основоположнику теории искусственного интеллекта Джону Маккарти. — Г. П., С. С.) писать интерпретатор LISP для огромного неповоротливого гиганта IBM 704. По его словам, это была “ужасная инженерная работа”, в основном — из-за утомительного режима пакетной обработки на модели 704»37.
Ну, первые компьютерные игры.
Под влиянием всё того же неутомимого Джона Маккарти шла непрестанная работа над программами для игры в шахматы (за океаном, в СССР, этим тоже занимались с конца 1950-х — под руководством чемпиона мира, доктора технических наук Михаила Ботвинника). Одновременно велась работа над играми, близкими к тем, что популярны и сейчас, к примеру «Мышь в лабиринте». Пользователь рисовал световым пером хитроумный (по его представлению) лабиринт, затем ставил отметку на экране, и эта отметка (собственно, мышь), тыкаясь в стены, упорно отыскивала другие отметки (ломтики сыра) на экране. Существовала даже VIP-версия этой игры: в ней мышь отыскивала бокалы с мартини38.
Ну, первые шаги компьютерной графики.
Здесь игры тоже были не последней мотивацией.
Вот, скажем, разработка оптимального маршрута с пересадками в огромном запутанном нью-йоркском метро. Программы подобного типа сейчас вовсю используются, к примеру, в системах продажи авиабилетов. Этот хак (обходное техническое решение) был даже опробован в реальности. Парочка экспериментаторов ехала в настоящем метро, а связь с ними через уличные телефоны обеспечивалась курьерами, связанными с лабораторией. Данные вводились в машину, программа выдавала нужные указания, и вся эта информация тут же отправлялась к экспериментаторам.
Наконец, открытие совершенно неожиданных (именно так!) возможностей компьютера. В компьютер PDP-1 стало возможным вводить музыкальную партитуру, переводя ноты в буквы и цифры, а он отвечал на это прекрасной трёхголосной органной сонатой. Группа хакеров закодировала таким образом оперетты Гилберта и Салливана.
Показателен пример создания известной игры «Космические войны».
Это был существенный шаг по направлению к программированию в «реальном» времени: события, происходившие в компьютере, совпадали с временной шкалой, в которой работали люди. Расселу наконец удалось сымитировать интерактивный стиль отладки, позволявший видеть, какая из инструкций программы была обработана неправильно. После этого, используя переключатель (Flexowriter), можно было перескочить на другую инструкцию.
Благодаря многочисленным энтузиастам возникла сильнейшая мотивация для развития систем, максимально приближенных к пользователю. Но в целом хакеры Восточного побережья всё же были настроены более академично, чем в Калифорнии, — ведь в Массачусетском технологическом институте работали такие светила, как Джон Маккарти и Марвин Ли Минский (1927—2016). Они, кстати, сами были полны любопытства. Когда Минский, например, набрёл (почти случайно) на способ изображения окружности на примитивном дисплее (стандартного графического программного обеспечения тогда попросту не существовало), это весьма подняло его акции в кругу хакеров.
Поверхностное прочтение книги Стивена Леви может привести к неправильному представлению, будто речь в ней идёт в основном о шутках и забавах, на самом деле всё в этой книге серьёзно, а игра — это просто стиль хакеров. Главным их двигателем всегда было любопытство. В случае с изображением окружности на дисплее речь могла идти всего лишь о побочном эффекте математической программы по построению сплайнов (гибких лекал), но в другом случае, там, где Марвин Минский говорит об усовершенствовании программы движения трёх точек на экране, речь, несомненно, идёт о вполне реальной небесной механике — моделировании задачи трёх тел. При этом на дисплее появлялись картинки, напоминавшие розу с тысячей лепестков. Сразу чувствовалась хакерская атмосфера, в которой откровенно шутливое легко перемешивалось с глубоко серьёзным.
«В начале шестидесятых Марвин Минский начал организацию того, что в дальнейшем превратилось в первую в мире лабораторию, напрямую занимавшуюся искусственным интеллектом. В качестве рабочей силы ему понадобились гении программирования, не случайно он принимал хакерство в любом его виде»39.
Мир не стоит на месте, мир постоянно меняется.
В Америке люди легко оставляют насиженные места.
В 1962 году Джон Маккарти перебрался из Массачусетского технологического института в Стэнфорд и организовал там Лабораторию искусственного интеллекта (SAIL — Stanford AI Laboratory), аналогичную той, которую возглавлял в Массачусетсе Марвин Минский. Распространению хакерства способствовало теперь появление на рынке высоких технологий новых интерактивных машин, таких как PDP-10 и SDS/XDS-940. Конечно, их количество в 1960-е годы невозможно сравнивать с количеством персональных компьютеров, появившихся в более поздние времена (например, PDP-6 тогда было выпущено всего 23 штуки), зато каждая университетская лаборатория или фирма, где устанавливались такие машины, сразу становилась центром притяжения для многих талантов. В то же время хакеры-ветераны постепенно покидали Массачусетский технологический институт и перебирались в другие места, разнося по всей стране свою культуру. Новые центры хакерства появлялись повсюду. На Западном побережье — Стэнфорд, Беркли, в центре — университет Карнеги-Меллон вблизи Питсбурга, наконец, Чикаго.
«Иногда хакеры уходили не в институты, а в коммерческие фирмы. Программист по имени Майк Левитт основал в Сан-Франциско фирму по развитию передовых технологий под названием “Systems Concepts”»40.
Многие хакеры с Восточного побережья в дальнейшем переехали на Западное, где перспективы бизнеса выглядели более радужными.
Не всё, конечно, шло гладко.
«Иногда хакеры (такова реальность) отставали от новостей в своём деле и сами непроизвольно становились якорями, замедлявшими текущую работу, — не без юмора писал Эдвард Фредкин (род. 1934), профессор информатики, заместитель Марвина Минского. — Понятно, лаборатория старалась от таких работников освободиться. Иногда для них организовывали специальные командировки, обычно в достаточно отдалённые места. Ничего случайного в этом не было. Всё это организовывал я сам»41.
3
1960—1970-е годы в США были бурным временем.