Одной из вещей, которой они активно пользовались, была система программирования, которую создали Джек Деннис и профессор Том Стокман. Когда TX-0 привезли в МТИ, ее немного «раздели» по сравнению с тем оснащением, которое у нее было в стенах Lincoln Lab. Была существенно уменьшена память; до 4,096 «слов» из восемнадцати битов каждое [9]. Кроме того, TX-0 не имел почти никакого программного обеспечения. Поэтому Джек Деннис, еще до того как он показал TX-0 ребятам из TMRC , написал «системные программы», то есть такое программное обеспечение, которое помогало пользователям работать с машиной.
Первой вещью, над которой работал Деннис, был ассемблер. Это было специальное программное обеспечение, переводившее программу, написанную на языке ассемблера в двоичный код. Язык ассемблера представлял собой символические трехбуквенные сокращения, которые на самом деле были командами машины. Ассемблер транслировал их в машинный язык, который, состоял из двоичных чисел 0 и 1. TX-0 имел довольно ограниченнуюсистему команд, так как его дизайн позволял использовать только два бита из каждого восемнадцатибитного слова в качестве команды для компьютера, то есть могли использоваться только четыре инструкции (каждая из возможных комбинаций двух битов — 00, 01, 10, и 11 представляла собой команду). Все что компьютер мог делать, могло быть сведено к выполнению одной из тех четырех инструкций: ему требовалась одна команда, чтобы складывать два числа, и последовательность из примерно двадцати команд, чтобы умножить два числа. Тщательный просмотр написанного длинного списка команд компьютера, записанных в двоичном виде, например, 10011001100001 могли легко превратить вас в заговаривавшегося душевнобольного уже по истечении нескольких минут. Но та же самая команда на языке ассемблера могла бы выглядеть как ADD Y. После загрузки ассемблера в компьютер, который написал Деннис, вы могли бы писать программы в более простой символической форме, и спокойно сидеть и ждать, потирая от удовольствия руки, в то время как компьютер выполнял для вас перевод в двоичный код. После этого вы скармливали компьютеру уже подготовленный «объектный» код. Ценность этой программы была неизмерима: она позволяла программистам писать на языке, который напоминал естественный язык, а не эти бесконечные, вызывающие головокружение, ряды единиц и нолей.
Другая программа, над которой Деннис работал вместе со Стокманом, была новым вариантом отладчика или дебаггера [10]. TX-0 передали с программой отладки под названием UT-3, который позволял общаться с компьютером во время его работы, печатая команды непосредственно на Flexowriter-е. Этот отладчик имел большой недостаток: он воспринимал подаваемые ему команды только в восьмиричном виде. «Восьмеричный» — значит, что в основе системы исчисления лежит число восемь (в противоположность двоичной системе, в которой основой системы является число два, а в арабской системе исчисления, которой мы пользуемся ежедневно, является основой число десять), и поэтому восьмеричная система является достаточно сложной для повседневного использования. Зная об этом, Деннис и Стокман решили написать нечто лучшее, чем UT-3, что позволило бы пользователям работать с символическим языком ассемблера, который был более легок в использовании. В конце концов, они решили назвать его FLIT. Он позволял пользователям находить ошибки в программе во время работы, устранять их, а также контролировать работу программы. (Деннис пояснял позднее, что "FLIT " означает Flexowriter Interrogation Tape (Допросная лента для Флексоврайтера), но, похоже, что настоящим источником имени был аэрозоль от насекомых, имевший аналогичное название). Фактически FLIT был квантовым скачком вперед, так как он освободил программистов от рутинной работы, и они могли теперь писать на компьютере программы так же, как музыканты, пишут свои произведения на музыкальных инструментах. С использованием отладчика, который занимал третью часть из 4,096 слов памяти TX-0, у хакеров были развязаны руки для создания нового, более смелого и свободного стиля программирования.
Ну и какие же программы делали хакеры? Ну, иногда, это вообще не имело никакого значения, что делали эти программы. Питер Самсон однажды хакерил всю ночь программу, которая мгновенно конвертировала арабские числа в римские цифры, и Джек Деннис, который восхитился искусством, с которым Самсон проделал этот «подвиг», сказал, «Мой Бог, почему кто-нибудь другой не захотел это сделать?» Но Деннис на самом деле знал почему. Вполне достаточным оправданием было чувство власти и достижение совершенства, которое Самсон получал, когда он заправлял ленту с программой в считыватель, смотрел на мерцающие огни машины и щелкал выключателями. После чего, он видел как арабские цифры, нарисованные на простой старой классной доске, превращались в римские цифры — тоже своего рода хак, который в свое время сделали римляне.
Читать дальше
Конец ознакомительного отрывка
Купить книгу