Хакеры. Как молодые гики провернули компьютерную революцию и изменили мир раз и навсегда. Стивен Леви
компьютером IBM 704, вскоре замененным более новой моделью 709. Они проводили все предрассветные часы возле священной комнаты, знакомясь со «жрецами», выражая им свое почтение бессчетное число раз. И, в конце концов, Коток и его друзья получили возможность нажать несколько кнопок на компьютере, наблюдая за результатом.
Компьютеры IBM оказались способны на многое, их тайны открывались старейшим «жрецам» МТИ, имеющим доступ к «священной» машине. Так, несколько программистов, аспирантов, совместно с Маккарти написали программу, при запуске зажигавшую на экране ряды огоньков в последовательности, имитирующей игру в пинг-понг. Маленький шарик будто перелетал слева направо, а после нажатия оператором переключателя – обратно. Очевидно, программа создавалась с целью произвести впечатление на коллег, чтобы потом им захотелось взглянуть и на более серьезные проекты.
При этом нужно было стремиться минимизировать объем программы, поскольку память компьютеров тех лет была крайне малой. Однажды Джон Маккарти заметил, что его студенты, получившие доступ к машине 704, работали над своими компьютерными программами, извлекая максимум пользы из наименьшего количества инструкций, пытаясь максимально сократить код и уменьшить количество карточек, загружаемых в компьютер. Сокращение программы на одну или две инструкции превратилось для них в навязчивую идею. Маккарти сравнивал их с «лыжными задницами» (ski bums): они испытывали такой же адреналиновый всплеск от сокращения кода, как горнолыжники от бешеной скорости при спуске с горы. Так родился термин «втиснуть программу» (program bumming), означающий доработку программы, ее оптимизацию и сокращение инструкций без потерь в результативности. В лаборатории часто слышалось бормотание в духе: «Может, у меня получится втиснуть программу, сократив количество инструкций и обойдясь тремя карточками вместо четырех».
В 1959 году интерес Маккарти переключился с шахматной программы на создание нового способа общения с компьютером – на язык программирования LISP. Тогда Алан Коток с друзьями взялись за реализацию шахматного проекта. Они обучали этой игре сначала машину 704, затем 709, а после ее замены – и 7090. Постепенно группа Котока стала занимать максимум компьютерного времени во всем вычислительном центре МТИ.
Однако работа с компьютерами IBM не удовлетворяла их. Худшим было ждать результат от момента, когда ты загрузил инструкции в машину, до момента, когда компьютер выдаст ответ. А потеря хотя бы одной буквы в инструкции приводила к фатальной ошибке программы. Весь процесс приходилось повторять с самого начала на фоне огромного количества правил, соблюдение которых требовалось во время работы в вычислительном центре. Большая часть правил была внедрена для физического ограждения машины от контактов с такими фанатиками, как Самсон, Коток и Сондерс. Самое жесткое правило гласило, что никто не имеет права трогать компьютер или вмешиваться в его работу. Но именно этого и добивались члены «энергетического комитета»