К этому времени увеличилось финансирование Project MAC и Билл Госпер нашел способ втиснуться в ведомость расходов. Ему не пришлось менять свои привычки так как, работая в оговоренные часы на Adams, он каждую ночь пропадал на девятом этаже, работая на PDP-6.
* * *
Хакерские крылья Гринблатта к этому времени полностью окрепли. Одним из проектов, над которым он работал на PDP-6, был компилятор LISP, что позволило бы использовать на этой машине самую последнюю и наиболее совершенную версию языка, разработанного Джоном Маккарти для искусственного интеллекта. Юный Питер Дейч написал в свое время LISP для PDP— 1, но этот вариант был неэффективен, так как на «единице» было мало памяти. LISP, который работал с символами, а не числами (они легко трансформировались в бинарный вид) пожирал невероятное количество памяти.
Некоторые хакеры, включая Госпера, считали, что реализация LISP на PDP-6 является полной тратой времени. Госпер, который всегда был озабочен тем, что у компьютеров те дни не хватало вычислительной мощности, позднее изумлялся тому, как они были невежественны во время работы в лаборатории ИИ, пытаясь выполнять невозможные задачи и обвиняя в неудачах не те ничтожные машины, которые были в их распоряжении, а самих себя. На старшем курсе, Минский подкинул Госперу задачу, в ходе которой следовало изучить является ли некоторое оптическое явление стереоскопическим или монокулярным. Ему удалось сделать несколько шагов к решению этой задачи, и, в конце концов, создать изящную фигуру в виде клеверного листа, с помощью, которой удалось продемонстрировать это явление. Тем не менее, большую часть времени он бился головой о кирпичную стену, пытаясь выжать из машины больше, чем она была в состоянии сделать. Поэтому одной из задач, которую Госпер считал невозможной, состояла в разработке пригодного компилятора LISP на PDP-6, который мог бы быть полезен в качестве анализа символьных последовательностей, но никак не для полезной работы. Он считал, что это очередная глупость Минского, которую Гринблатт и остальные пытались реализовать.
У Гринблатта было другое видение проблемы. Хотя он понимал, что LISP на PDP-6 будет в некотором роде хаком, не полностью обоснованным с практической точки зрения, он видел необходимость движения в этом направлении. Это был мощный язык, давший возможность уйти вперед исследованиям в области искусственного интеллекта: это был язык, при помощи которого могли выполнять задачи, крайне сложно реализуемые иным способом, и с его помощью системы могли бы действительно обучаться. У Гринблатта только еще начали складываться конкретные очертания будущего; легкий намек на техническую реализацию хакерской мечты. Поэтому он, и еще несколько человек, даже Коток, который периодически приезжал из DEC, начали писать LISP на PDP-6. Они исписали в несколько слоев все классные доски в TMRC, и в конечном счете им удалось запустить его на машине.
Самые ответственные части были написаны Гринблаттом и еще одним хакером. Одновременная работа двух или трех человек над проектом рассматривалась как Правильная Вещь, что было весьма далеко от того, что IBM называла «человеческой волной» в программировании, когда на решение задачи бросались десятки программистов, а в итоге все заканчивалось ничем. Лучше было полагаться на двух-трех человек, чем на одинокого крестоносца, так что когда один хакер заканчивал свою тридцатичасовую сессию, подтягивался кто-нибудь еще и продолжал начатое. Это было что-то вроде команды, работавшей последовательно.
После того как PDP-6 MacLISP (названный в честь Project MAC) был доведен до ума, хакеры начали интегрировать этот компьютерный язык в свои программы, а также в свою собственную речь. Например, соглашение, принятое в LISP и использовавшее букву "p" в качестве предиката, было толчком к созданию хакерской манеры задавать вопрос. Когда кто-нибудь спрашивал «Еда-П?», то любой хакер знал, что его спрашивают, не хочет ли он пойти перекусить. Термы LISP "T" и «nil» означали, соответственно, «да» и «нет». Принятие LISP не означало уменьшения любви хакеров к ассемблерному языку, особенно на PDP-6 с ее элегантным набором инструкций. Но и Гринблатт и даже Госпер позднее поняли, что LISP был мощным средством для построения систем, которое очень хорошо укладывались в принципы Хакерской Этики.
DEC проявил интерес к MacLISP, и Коток договорился с тем чтобы Гринблатта и остальных, поздно вечером допускали в офис DEC в Мэйнарде, где они могли бы работать над программой, набирая и отлаживая код. Это было частью общей договоренности между МТИ и DEC, поэтому ни у кого не возникло никаких вопросов. Правильной Вещью было удостовериться в том, что любая хорошая программа получала максимальное распространение, потому что информация была свободной , и мир мог только выиграть от ее ускоренного распространения.
Читать дальше
Конец ознакомительного отрывка
Купить книгу