В свет и во тьму повергающий мир мановеньем руки,
Предохранителей Тестер, Прокладчик Путей,
Рубщик Системы продвинутый, игравший железной дорогой,
Странный, помятый, лежал он, растекшись под «полом»…
Ответь мне, о, бьющая точкой-об-точку контактов машина,
Линия, что коммутируешь ты, свет возносит над схемой,
Много мужей искушенных сказали мне — ты неисправна.
Я им поверил — я видел, что лампы, горевшие долго,
Те, что раскрашены тщательно кистью умелой,
Были повергнуты в тьму, привлекая,
Многих желающих тут же залезть под Систему.
Прямо под башнею, там, где скопление пыли,
Там мы похачим
Систему, где трещины ширятся вдвое.
Будет похачено все, даже если, кто это делает — он первокурсник-невежда,
Тот кто забросил занятья и кто будет выгнан в дальнейшем.
Будут похачены электрощиты, что стоят под замками,
Те что скрывают контакторы, что контролируют схему.
Будет похачено все! [5]
«Будет похачено все!», —этими странноватыми, в потрепанной одежде, лежащими под схемой хакерскими выбросами юношеской энергии; отстегнутыми поджаривателями диодов, которые гордятся своими ролями Повергателей мира во тьму, Тестеров Предохранителей, Прокладчиков Путей, Игроков с Железной дорогой, и Продвинутых Прерывателей Системы.
Всякий раз, когда была возможность, Самсон и его товарищи проскальзывали в комнату ЭОПД с ее наборными полями, пытаясь придумать, как можно использовать эту машину для отслеживания коммутаторов под моделью железной дороги. Они также считали важным, понять для себя пределы того, что можно было бы сделать при помощи этого электромеханического считывающего устройства.
Весной 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, решению задачи расстановки ферзей на доске. В конечном счете, группа Котока стала самым большим пользователем компьютерного времени во всем вычислительном центре МТИ.