Игра в имитацию - Эндрю Ходжес
Шрифт:
Интервал:
Закладка:
Чтобы использовать позиционную систему счисления с основанием 32, было необходимо найти 32 символа для 32 разных «цифр». За основу он взял систему, которая уже использовалась инженерами, в ней они передавали 5-битные комбинации, согласно коду Бодо. Таким образом, цифра «двадцать два», соответствующая последовательности 10110 двоичных цифр, была бы записана, как «Р», это буква, которая в последовательности 10110 зашифрована для обычного телепринтера. Работа в этой системе означала запоминание кода Бодо и выраженной в нем таблицы умножения, что он и лишь немногие другие могли сделать с легкостью.
Официальной причиной выбора этого примитивного метода кодирования, которая влекла за собой кропотливую работу для пользователя, стало то, что благодаря электронно-лучевой трубке можно и даже нужно было проверять содержимое запоминающего устройства путем «подглядывания», как говорил Алан. Он настаивал на том, что увиденные пятна на трубке должны были цифра за цифрой соответствовать написанной программе. Для того чтобы поддержать этот принцип последовательности, было необходимо выписать позиционную систему счисления с основанием 32 в обратном порядке, так, чтобы наименее значимая цифра шла впереди. Это делалось по техническим причинам, которые также предполагали считывание электронно-лучевых трубок слева направо. Еще одна проблема возникла из-за 5-битной комбинации, которая не соответствовала никакой букве алфавита в коде Бодо. (Это была та же проблема, что и с системой Rockex). Поэтому Джефф Тутилл уже ввел дополнительные символы. Ноль в позиционной системе счисления с основанием 32 был представлен, как «/». В результате целые страницы программ были покрыты такими чертами, в Кэмбридже говорили, что это соответствовало ливням за окнами в Манчестере.
К октябрю 1949 года манчестерская машина была готова, за исключением деталей, которые должен был сделать Ферранти. Пока машина собиралась, на прототипе для экономии времени было решено написать руководство по использованию, а также основные программы, которые можно было бы использовать на компьютере (в будущем он будет называться Марк I).
Это уже было следующей задачей Алана. Наверняка, он потратил много времени на проверку каждой функции на прототипе и спорил об их эффективности с инженерами. К октябрю он написал программу ввода для того, чтобы при первом включении компьютер мог читать информацию с лент, сохранять ее в нужном месте и начать ее использовать.
Но это была работа не для него, на данном этапе Руководство Handbook7, которое он написал для программистов, содержало множество полезных и практичных советов, а также несколько новых идей. Но на самом деле, в нем не было ничего и близко напоминающего его работу в Национальной физической лаборатории Великобритании (НФЛ) с числами с плавающей точкой. Он также ничего не сделал и с подпрограммами. В манчестерском проекте существовало два вида памяти: на машине Ферранти было восемь электронно-лучевых трубок, каждая из них содержала 1280 цифр и магнитный барабан, который предполагал не менее 655360 цифр, расположенных в 256 рядах по 2560 цифр в каждом. Программирование заключалось в процессе передачи данных и программ из барабана в трубки и обратно. Предполагалось, что каждая подпрограмма будет храниться на новом ряду барабана и будет перемещаться согласно требованиям. Схема Тьюринга затрагивала эту тему, но не вдавался в подробности. В своем Руководстве он небрежно написал:
Подпрограммы любой программы могут иметь подпрограммы. Это можно сравнить с блохами. Думаю, что невозможно представить себе длину паразитарной цепи блох, если только не верить в бесконечно длинные цепи. Такова же ситуация и с подпрограммами. Одна из них в конечном счете всегда сводится к программе без подпрограмм.
Но он это оставил на совести пользователя. Его собственная «Схема А» предполагала существование лишь одного уровня подпрограмм. В Руководстве было выявлено множество проблем с коммуникацией, с которыми он столкнулся в Манчестере. Для Уильямса и других инженеров математик был тем, кто мог делать вычисления, в частности, он показал им двоичную систему в новом свете. Однако для Тьюринга их схемы с позиционной системой счисления и все остальное были лишь простыми иллюстрациями того факта, что математики были вольны использовать систему символов так, как они хотели. Для него было очевидным, что символ не имеет никакой внутренней связи с объектом, который он символизирует, поэтому в начале его Руководства был длинный абзац, объясняющий, почему существовало убеждение, согласно которому последовательность импульсов могла быть истолкована в виде цифр. Эта была более точная, а также более творческая идея, но она не была понятна человеку, который никогда раньше не знал, что цифры могут быть выражены не только в порядке от 1 до 10. Не то, чтобы Алан презирал рутину и детальную работу с системой символов, как этого требовала манчестерская машина: в своем докладе он склонялся от абстрактного к детальному таким образом, что это имело смысл только для него. Создание языков программирования, которое он назвал «очевидным» в 1947 году, могло бы поглотить и его свободное понимание системы символов, а также готовность к простой работе, когда это необходимо. Но это именно то, чего он не сделал, и таким образом он не использовал то преимущество, которое давало ему понимание абстрактной математики.
С октября 1949 года у него появились два ассистента. Одним из них был аспирант Одри Бэйтс. Другой была Сесили Попплвелл, с которой он провел собеседование летом 1949 года. Она была выпускницей Кэмбриджа с опытом работы с перфокартами. Они работали в офисе главного здания университета викторианской эпохи и ждали пока не закончится строительство новой лаборатории, где планировалось использовать машину Ферранти. Но это было не самое удачное сотрудничество, так как он никогда не признавал их права на существование. В первый день Сесили он объявил: «Время ланча!» и вышел из комнаты, так и не показав, где можно поесть. Он охотно разговаривал со всеми, кто заходил в их офис, но ужасно раздражался, если его ассистенты участвовали в разговоре. Иногда ситуация накалялась, однажды в его сторону полетели насмешки, когда Алан пришел в офис в одном лишь пальто. В другой раз он занял десять шиллингов и прикрепил их к шортам по дороге домой. Обычно они были рады, когда он не приходил, а такое случалось довольно часто.
Работа с прототипом проходила не так гладко. Согласно Сесили Попплвелл, это требовало огромной физической подготовки. В начале работы ты должен был предупредить инженеров и включить ручные переключатели, чтобы ввести входную программу. Светлая полоса на контрольной электронно-лучевой трубке показывала, что цикл ожидания запущен. Когда цель была достигнута, нужно было бежать наверх, чтобы вставить ленту в устройство считывания, а потом вернуться к машине. Если все шло по плану, ты должен был позвонить инженерам, чтобы они включили ток записи и очистили аккумулятор. Если все сложилось удачно, то лента считывалась. Как только рисунок на мониторе показывал, что процесс окончен, инженеры переключали ток записи на барабан. Как и любое устройство, машина была потенциальным источником ложных показаний, кроме этого было сложно вставить ленту с первого раза, каждый раз нужно было бежать в другую комнату.
(adsbygoogle = window.adsbygoogle || []).push({});