из этих программистов — дипломников,
работавших с Маккарти, даже написали программу, которая использовала одну из
строк крошечных лампочек. Лампочки зажигались в таком порядке, что это
напоминало небольшой шарик, который пролетал справа налево: и если оператор
нажимал выключатель в нужный момент, то огоньки мог ли двигаться в обратную
сторону. Это походило на компьютерный пинг‑понг! Очевидно, что это было
как раз тем, чем можно было бы похвастаться перед друзьями и впечатлить их,
после чего они бы посмотрели на код программы, и попытались бы понять, как это
было сделано.
Чтобы программа стала лучше, можно было бы попробовать
сделать то же самое с меньшим количеством команд, приложив при этом достойные
усилия, так как в маленькой «памяти» компьютеров тех дней было очень мало места
и в них не могло помещаться много инструкций. Джон Маккарти однажды отметил,
как его аспиранты, которые тусовались вокруг IBM 704 , работали над своими
компьютерными программами, пытаясь выжать из машинных команд все, что только
было возможно, чтобы в итоге программа была максимально компактна и чтобы в
машину нужно было вставлять наименьшее количество перфокарт. Удаление одной или
двух инструкций для них было почти навязчивой идеей. Маккарти сравнивал этих
студентов с лыжниками‑баммерами (bummers), которые ездят на максимальной
скорости. Студенты получали те же острые ощущения от этого «максимального
кодекса» как и фанатичные лыжники, которые получали удовольствие, отчаянно и со
свистом проносясь с вершины холма. Поэтому попытки отрезать часть инструкций от
компьютерной программы без воздействия на конечный результат стали в итоге
называться «программным баммингом» и вы могли бы часто слышать людей,
бормочущих под нос что‑то вроде: «Возможно, я сумею бамнуть несколько
инструкций нафиг и сократить загрузку программы восьмеричной коррекции с
четырех карт до трех».
В 1959 году интересы Маккарти немного сместились: он оставил
шахматы и занялся новым способом общения с компьютером. Это был новый «язык»
под названием LISP. А шахматным проектом занялись Алан Коток и его друзья,
которые были весьма нетерпеливы и готовы приступить немедленно к решению
проблемы. Работая на IBM, которая функционировала в режиме пакетной обработки,
они начали обучать IBM 704, потом модель 709, а впоследствии и заменившую ее
модель 7090, решению задачи расстановки ферзей на доске. В конечном счете,
группа Котока стала самым большим пользователем компьютерного времени во всем
вычислительном
центре МТИ.
Однако работа с IBM сильно выматывала. Не было ничего хуже
долгого ожидания в промежутке после сдачи ваших перфокарт и моментом, когда
ваши результаты вручались вам назад. Если вы напечатали не в том месте хотя бы
одну букву, то программа вылетала с ошибкой, и вы должны были начинать всю
работу снова. Кроме того, как снежный ком росло количество