Так что победу у британского новаторства на самом финише вырвала американская публикация – и это в то время, когда все следили за западом. Американцы победили, и Алан оказался вторым. На этот раз, правда, приоритет американцев обернулся плюсом для его планов – ведь он задал им политический и экономический импульс, который одним умозрительным идеям Тьюринга иначе не видать было бы никогда.
* * *
Но Алана эта неудача не остановила. Вскоре он придумал для нового проекта электронной вычислительной машины Тьюринга более счастливый акроним, в сравнении с бездушным ЭДВАК: АВМ – «Автоматическая вычислительная машина». И она стала более универсальной, чем ЭДВАК.
Ведь Алан начал первым процесс написания программ (таблиц команд), и считал это «очень увлекательным» занятием. Он создал нечто очень оригинальное и при том именно свое. Он изобрел искусство компьютерного программирования. Это был полный разрыв со старомодными арифмометрами. Они объединяли суммирующие и умножающие механизмы, да еще они заправлялись бумажной лентой, без которых они не работали исправно. Они были машинами для совершения арифметических действий, для которых логическая структура была лишь обременением. АВМ была принципиальной иной машиной. Она задумывалась, как машина, выполняющая программы «каждого известного действия». Акцент делался на логическое структурирование и управление процессом работы, а арифметические устройства добавлялась только ради быстрого доступа к наиболее часто использующимся операциям.
На настольных счетных машинах цифры от 0 до 9 становились видны на регистрах и клавиатуре, и у оператора могло возникать ощущение, будто каким-то образом цифры хранятся в самой машине. В действительности, в них не было ничего, кроме колес и рычагов управления, однако иллюзия присутствия цифр в машине была сильна.
Эта иллюзия отличала большие релейные счетные машины. Даже в докладе о машине ЭДВАК сохранялось ощущение, будто импульсы в линиях задержки будут на самом деле числами. Однако концепция Тьюринга несколько отличалась и имела более абстрактный вид. В АВМ импульсы могли восприниматься, как представляющие числа, либо команды. Хотя это все было, конечно, только в уме наблюдателя. Машина работала, как указывал Алан, «не думая», и на самом деле оперировала не числами и не командами, а электронными импульсами. Человек мог «делать вид, будто команда была числом», поскольку сама машина ничего не знала ни об одном, ни о другом. Соответственно, он мог свободно допускать в мыслях соединение данных и команд, управление командами, вводе таблиц команд посредством других команд «высшего порядка».
АВМ не должна была «решать арифметические задачи» так, как их решал бы человек. Она должна была лишь имитировать арифметические действия в том смысле, что при вводе команды, представляющей «67 + 45», можно было гарантированно получить на выходе «112». Но внутри машины не было «чисел», только импульсы.
Как писал Алан, «нам надо только однажды придумать, как это сделать, а потом забыть о том, как это сделано». Тот же принцип был применим и к машине, запрограммированной на игру в шахматы: ей следовало бы пользоваться, как если бы она играла в шахматы. На любом этапе «игры» она бы только внешне имитировала действие мозга. Но тогда, кто бы знал, как мозг делал это? Единственно допустимым использованием языка, по мнению Алана, было применение тех же норм, стандартов внешнего проявления к машине, что и к мозгу. На практике люди ведь говорили совершенно некорректно, что машина «решала арифметические задачи»; точно так же они бы говорили, что машина играет в шахматы, обучается или думает, если бы она могла имитировать функцию мозга, совершенно не считаясь с тем, что «в реальности» происходило внутри машины. Так что даже в его технических предложениях скрывалось философское видение, далеко превосходящее амбициозное желание создать машину для решения больших и сложных (арифметических) задач.
* * *
Алан видел будущее своего детища. Например, так он рассматривал возможность использования удаленных терминалов: «…автоматическая вычислительная машина будет выполнять работу примерно за 10 000 вычислителей (людей). Поэтому логично ожидать, что большой объем вычислений, производимых вручную, сведется к нулю. Вычислители (люди) будут и в дальнейшем выполнять на маленьких счетных машинах такие действия, как подстановка значений в формулы, но, если на одно какое-либо вычисление у вычислителя уходит несколько дней работы, то лучше, чтобы его вместо человека выполняла электронная вычислительная машина. Но при этом совсем необязательно будет, чтобы у всех, кто заинтересован в такой работе, имелся компьютер. Целесообразно и возможно будет наладить управление удаленным компьютером с помощью телефонной связи. Для использования на этих удаленных станциях будут разработаны специальные устройства ввода и вывода информации, которые будут стоить, самое большее, несколько сотен фунтов стерлингов».
Алан также осознал требования к компьютерным программистам: «Основной объем работы, выполняемой этими компьютерами, будет состоять из задач, которые невозможно решить путем вычислений вручную в силу их масштабности. Чтобы загрузить машину такими задачами, нам потребуется большое количество способных математиков. Эти математики нужны будут для предварительной обработки и оформления задач для вычисления…»
И он на самом деле смог предугадать развитие новой отрасли промышленности и занятости:
«Очевидно, что возможности просто огромны. Одной из трудностей для нас будет поддержание соответствующей дисциплины, чтобы мы не потеряли нить того, что мы делаем. Нам потребуется энное число эффективных библиотечных типов для поддержания у нас порядка».
Опередив свое время на двадцать лет в своей концепции организации компьютерных узлов, Алан исходил из опыта, полученного в Блетчли-парке. Там работало десять тысяч человек, операторов, и все они составляли систему, включавшую отдаленные от центра станции, телефонные коммуникации, элиту, которая преобразовывала задачи в программы, и множество «библиотечных типов». Но он никогда не мог сказать об этом прямо, и никто не мог представить себе картину того, что никогда официально не существовало, так что его анализ был сродни вестям ниоткуда.
Доклад о АВМ был также первым отчетом о спектре применения универсальной вычислительной машины. АВМ была призвана решать «такие задачи, которые решаются трудоемкими усилиями клерков, работающих по строгим правилам и без всякого понимания», сталкивающихся с тем, что из-за размера машин «количество письменных материалов, необходимых на каком-либо одном этапе ограничивается… 50 листами бумаги», а «инструкции для оператора», написанные на «обычном» языке, «объемом с обычный роман». АВМ могла бы решать такие задачи за одну стотысячную долю того времени, которое требовалось «оператору-человеку, решающему свои арифметические задачи без помощи технических средств».
АВМ смогла бы выполнить всю рутинную умственную работу для нужд британского фронта. Огласив такой вывод, Алан заработал себе необычно хороший «политический» балл: в перечне возможных приложений «создание таблиц стрельбы» стояло первым. Это была работа, для которой специально спроектировали ЭНИАК (первый электронный цифровой компьютер общего назначения, который можно было перепрограммировать для решения широкого спектра задач. – Ред.). Затем следовали еще четыре примера практического применения АВМ для вычислений, которые на тот момент требовали месяцы, а то и годы работы за арифмометрами. А еще четыре примера были не связаны с численными вычислениями; они отражали более широкий взгляд Алана на сущность компьютера, опыт и спектр интересов Тьюринга.