Стивен Леви - Хакеры: Герои компьютерной революции
«Будет похачено все!», —этими странноватыми, в потрепанной одежде, лежащими под схемой хакерскими выбросами юношеской энергии; отстегнутыми поджаривателями диодов, которые гордятся своими ролями Повергателей мира во тьму, Тестеров Предохранителей, Прокладчиков Путей, Игроков с Железной дорогой, и Продвинутых Прерывателей Системы.
Всякий раз, когда была возможность, Самсон и его товарищи проскальзывали в комнату ЭОПД с ее наборными полями, пытаясь придумать, как можно использовать эту машину для отслеживания коммутаторов под моделью железной дороги. Они также считали важным, понять для себя пределы того, что можно было бы сделать при помощи этого электромеханического считывающего устройства.
Весной 1959 года, в МТИ студентам был предложен новый курс. Это был первый курс по программированию компьютера, который могли выбирать для себя новички. Преподавателем был человек, немного отрешенный от этого мира, с шевелюрой больше похожей на взрыв волос на голове, чем на прическу и такой же непослушной бородой. Его звали Джон Маккарти. Будучи великолепным математиком, Маккарти был классическим рассеянным профессором. Ходила масса историй относительно его привычки отвечать на вопрос спустя многие часы, а иногда даже дни, после того, как он ему был задан. Он встречал вас в коридоре, и без всякого приветствия начинал говорить со своей очень четкой роботоподобной дикцией, как будто пауза при разговоре занимала только долю секунды, а не неделю. И, как правило, этот запоздалый ответ был полностью исчерпывающим.
Маккарти был одним из малочисленной группы людей, которые работали с компьютерами в абсолютно новой области. Изменчивая и спорная природа этого поля деятельности был очевидна из крайне высокомерного названия, которое Маккарти ему дал — искусственный интеллект. Этот человек на самом деле думал, что компьютеры могут быть разумными.Но даже в таком наукоемком месте как МТИ, большинство людей считали эту идею смешной. Они полагали, что компьютеры являются полезным, хотя и невероятно дорогим, инструментом для перемалывания огромных массивов численных вычислений и основой для разработки ракетных оборонных систем[6], но они высмеивали саму мысль, что компьютеры могут представлять поле для научных исследований.
В конце пятидесятых, информатика (computer science) как таковая официально в МТИ не существовала, и сам Маккарти, и его коллеги-компьютерщики работали в Департаменте Электротехники, где для студентов был разработан курс №641, который Коток, Самсон, и несколько других членов TMRC взялись изучать этой весной.
Маккарти начал работу над мамонтообразной программой на Неповоротливом Гиганте IBM 704 , которая придала бы этой машине невероятные способности игры в шахматы. В противовес критике противников подававшей надежды области искусственного интеллекта, люди, подобные Джону Маккарти, могли предоставить только голый оптимизм. Но Маккарти имел определенное видение того, что компьютеры могли делать, и игра в шахматы была только началом.
Котока, Самсона и других привлекали не эти «видения», а вполне конкретные и занятные вещи. Они хотели понять, как же работаютэти проклятые машины, и хотя этот новый язык программирования LISP, о котором Маккарти постоянно говорил во время курса №641, был достаточно интересен, он не был столь же интересен, как сам акт программирования или то фантастическое мгновение, когда вы забираете вашу распечатку из рук Верховных Жрецов, полученную непосредственно из источника! После этого можно было потратить многие часы, детально изучая результаты работы программы, пытаясь понять, что пошло не так, и как это можно было бы исправить и улучшить.
Хакеры из TMRC изобретали способы подобраться поближе к IBM 704, которая в скором времени была модернизирована до более новой модели 709. Оставаясь в вычислительном центре в ранние утренние часы, постепенно признакомившись с Высшим Жречеством, отбивая поклоны и осеняя себя крестными знамениями необходимое количество раз, Котоку и прочим, в конечном счете, позволялось нажать несколько кнопок на машине, и понаблюдать моргание лампочек во время ее работы.
На этих машинах имелись и свои тайны. Они были кропотливо изучены некоторыми старшекурсниками в МТИ, у которых был доступ к 704 и друзья среди Верховных Жрецов. Что удивительно, некоторые из этих программистов — дипломников, работавших с Маккарти, даже написали программу, которая использовала одну из строк крошечных лампочек. Лампочки зажигались в таком порядке, что это напоминало небольшой шарик, который пролетал справа налево: и если оператор нажимал выключатель в нужный момент, то огоньки мог ли двигаться в обратную сторону. Это походило на компьютерный пинг-понг! Очевидно, что это было как раз тем, чем можно было бы похвастаться перед друзьями и впечатлить их, после чего они бы посмотрели на код программы, и попытались бы понять, как это было сделано.
Чтобы программа стала лучше, можно было бы попробовать сделать то же самое с меньшим количеством команд, приложив при этом достойные усилия, так как в маленькой «памяти» компьютеров тех дней было очень мало места и в них не могло помещаться много инструкций. Джон Маккарти однажды отметил, как его аспиранты, которые тусовались вокруг IBM 704 , работали над своими компьютерными программами, пытаясь выжать из машинных команд все, что только было возможно, чтобы в итоге программа была максимально компактна и чтобы в машину нужно было вставлять наименьшее количество перфокарт. Удаление одной или двух инструкций для них было почти навязчивой идеей. Маккарти сравнивал этих студентов с лыжниками-баммерами (bummers), которые ездят на максимальной скорости. Студенты получали те же острые ощущения от этого «максимального кодекса» как и фанатичные лыжники, которые получали удовольствие, отчаянно и со свистом проносясь с вершины холма. Поэтому попытки отрезать часть инструкций от компьютерной программы без воздействия на конечный результат стали в итоге называться «программным баммингом» и вы могли бы часто слышать людей, бормочущих под нос что-то вроде: «Возможно, я сумею бамнуть несколько инструкций нафиг и сократить загрузку программы восьмеричной коррекции с четырех карт до трех».
В 1959 году интересы Маккарти немного сместились: он оставил шахматы и занялся новым способом общения с компьютером. Это был новый «язык» под названием LISP. А шахматным проектом занялись Алан Коток и его друзья, которые были весьма нетерпеливы и готовы приступить немедленно к решению проблемы. Работая на IBM, которая функционировала в режиме пакетной обработки, они начали обучать IBM 704, потом модель 709, а впоследствии и заменившую ее модель 7090, решению задачи расстановки ферзей на доске. В конечном счете, группа Котока стала самым большим пользователем компьютерного времени во всем вычислительном центре МТИ.
Однако работа с IBM сильно выматывала. Не было ничего хуже долгого ожидания в промежутке после сдачи ваших перфокарт и моментом, когда ваши результаты вручались вам назад. Если вы напечатали не в том месте хотя бы одну букву, то программа вылетала с ошибкой, и вы должны были начинать всю работу снова. Кроме того, как снежный ком росло количество чертовых правил, которые пронизывали всю атмосферу вычислительного центра. Большинство из этих правил было предназначено для того, чтобы держать сумасшедших компьютерных фанов типа Самсона, Котока и Сандерса, на должном физическом удалении от машины. Самым жестким правилом из всех было то, что никто не должен быть прикасаться к переключателям или непосредственно вмешиваться в работу машины. Как раз это ребята из СиП хотели сделать больше всего на свете и просто умирали от этого страстного желания, а действующие ограничения сводили их с ума.
Один Жрец, а точнее — помощник Жреца низкого уровня, во время ночной смены был особенно настойчив в выполнении этих бюрократических распоряжений. Для него Самсон изобрел подходящую месть. Однажды, копаясь в развалах электронного хлама в магазине Эли, он случайно наткнулся на электронную плату, которая в точности походила на плату, аналогичную той, на которой были смонтированы электронные лампы, находившиеся внутри IBM. Однажды ночью, около 4 часов утра, этот младший помощник Жреца отлучился на минуту из комнаты. Когда он возвратился, Самсон сказал ему, что машина вышла из строя, но они нашли источник проблемы, после чего показал ему полностью разбитый модуль от старой IBM 704, которую он нашел у Эли.
Помощник жреца едва смог вымолвить: « Г-где ты это взял?»
Самсон, большие зеленые глаза которого могли легко принимать маниакальное выражение, медленно показал на свободное место в стойке машины, где, конечно, никогда никакой платы не стояло, но сиротливая пустота которого, была как нельзя кстати.
У помощника жреца перехватило дыхание. По его лицу было видно, что от испуга его внутренности вот-вот выйдут наружу. Он начал стенать и взывать к Господу. Вне всякого сомнения, перед ним начали проноситься кошмарные видения в виде вычета в миллионы долларов из его зарплаты. Он успокоился только после того, как пришел Старший Жрец, который несколько понимал менталитет этих молодых вундеркиндов из TMRC и объяснил ему, что же происходит на самом деле.