Хакеры: Герои компьютерной революции - [7]

Шрифт
Интервал

Маккарти начал работу над мамонтообразной программой на Неповоротливом Гиганте IBM 704, которая придала бы этой машине невероятные способности игры в шахматы. В противовес критике противников подававшей надежды области искусственного интеллекта, люди, подобные Джону Маккарти, могли предоставить только голый оптимизм. Но Маккарти имел определенное видение того, что компьютеры могли делать, и игра в шахматы была только началом.

Котока, Самсона и других привлекали не эти «видения», а вполне конкретные и занятные вещи. Они хотели понять, как же работают эти проклятые машины, и хотя этот новый язык программирования LISP, о котором Маккарти постоянно говорил во время курса №641, был достаточно интересен, он не был столь же интересен, как сам акт программирования или то фантастическое мгновение, когда вы забираете вашу распечатку из рук Верховных Жрецов, полученную непосредственно из источника! После этого можно было потратить многие часы, детально изучая результаты работы программы, пытаясь понять, что пошло не так, и как это можно было бы исправить и улучшить.

Хакеры из TMRC изобретали способы подобраться поближе к IBM 704, которая в скором времени была модернизирована до более новой модели 709. Оставаясь в вычислительном центре в ранние утренние часы, постепенно признакомившись с Высшим Жречеством, отбивая поклоны и осеняя себя крестными знамениями необходимое количество раз, Котоку и прочим, в конечном счете, позволялось нажать несколько кнопок на машине, и понаблюдать моргание лампочек во время ее работы.

На этих машинах имелись и свои тайны. Они были кропотливо изучены некоторыми старшекурсниками в МТИ, у которых был доступ к 704 и друзья среди Верховных Жрецов. Что удивительно, некоторые из этих программистов — дипломников, работавших с Маккарти, даже написали программу, которая использовала одну из строк крошечных лампочек. Лампочки зажигались в таком порядке, что это напоминало небольшой шарик, который пролетал справа налево: и если оператор нажимал выключатель в нужный момент, то огоньки мог ли двигаться в обратную сторону. Это походило на компьютерный пинг-понг! Очевидно, что это было как раз тем, чем можно было бы похвастаться перед друзьями и впечатлить их, после чего они бы посмотрели на код программы, и попытались бы понять, как это было сделано.

Чтобы программа стала лучше, можно было бы попробовать сделать то же самое с меньшим количеством команд, приложив при этом достойные усилия, так как в маленькой «памяти» компьютеров тех дней было очень мало места и в них не могло помещаться много инструкций. Джон Маккарти однажды отметил, как его аспиранты, которые тусовались вокруг IBM 704, работали над своими компьютерными программами, пытаясь выжать из машинных команд все, что только было возможно, чтобы в итоге программа была максимально компактна и чтобы в машину нужно было вставлять наименьшее количество перфокарт. Удаление одной или двух инструкций для них было почти навязчивой идеей. Маккарти сравнивал этих студентов с лыжниками-баммерами (bummers), которые ездят на максимальной скорости. Студенты получали те же острые ощущения от этого «максимального кодекса» как и фанатичные лыжники, которые получали удовольствие, отчаянно и со свистом проносясь с вершины холма. Поэтому попытки отрезать часть инструкций от компьютерной программы без воздействия на конечный результат стали в итоге называться «программным баммингом» и вы могли бы часто слышать людей, бормочущих под нос что-то вроде: «Возможно, я сумею бамнуть несколько инструкций нафиг и сократить загрузку программы восьмеричной коррекции с четырех карт до трех».

В 1959 году интересы Маккарти немного сместились: он оставил шахматы и занялся новым способом общения с компьютером. Это был новый «язык» под названием LISP. А шахматным проектом занялись Алан Коток и его друзья, которые были весьма нетерпеливы и готовы приступить немедленно к решению проблемы. Работая на IBM, которая функционировала в режиме пакетной обработки, они начали обучать IBM 704, потом модель 709, а впоследствии и заменившую ее модель 7090, решению задачи расстановки ферзей на доске. В конечном счете, группа Котока стала самым большим пользователем компьютерного времени во всем вычислительном центре МТИ.

Однако работа с IBM сильно выматывала. Не было ничего хуже долгого ожидания в промежутке после сдачи ваших перфокарт и моментом, когда ваши результаты вручались вам назад. Если вы напечатали не в том месте хотя бы одну букву, то программа вылетала с ошибкой, и вы должны были начинать всю работу снова. Кроме того, как снежный ком росло количество чертовых правил, которые пронизывали всю атмосферу вычислительного центра. Большинство из этих правил было предназначено для того, чтобы держать сумасшедших компьютерных фанов типа Самсона, Котока и Сандерса, на должном физическом удалении от машины. Самым жестким правилом из всех было то, что никто не должен быть прикасаться к переключателям или непосредственно вмешиваться в работу машины. Как раз это ребята из СиП хотели сделать больше всего на свете и просто умирали от этого страстного желания, а действующие ограничения сводили их с ума.