Глава 2
Компьютер
Чаще всего инновации возникают при синхронизации идей и технологий. А это значит, что: глубокие идеи приходят как раз тогда, когда уже появились технологии, с помощью которых эти идеи могут быть реализованы. Например, мысль отправить человека на Луну возникла ровно в тот момент, когда научились делать микрочипы, которые позволили устанавливать компьютерные системы наведения в головную часть ракеты. Есть и противоположные примеры, когда идея возникала несвоевременно. Чарльз Бэббидж опубликовал статью о компьютере, устроенном сложнейшим образом, в 1837 году, но потребовалось еще сто лет, в течение которых появились необходимые для его создания десятки новых технологических усовершенствований, прежде чем первый такой компьютер появился на свет.
Некоторые из этих усовершенствований кажутся почти тривиальными, но прогресс движется не только большими скачками, но и сотнями мелких шажков. Взять, например, перфокарты, которые Бэббидж увидел на станках Жаккарда и намеревался использовать в своей аналитической машине. Активное использование перфокарт в компьютерах началось из-за того, что Герман Холлерит – сотрудник Бюро по переписи населения США – пришел в ужас от того, что результаты переписи 1880 года пересчитывались вручную в течение примерно восьми лет. И тогда он принял решение автоматизировать подсчет результатов следующей переписи 1890 года.
Опираясь на опыт проводников в поездах, пробивающих отверстия в различных местах билета, отвечающих за определенные характерные черты каждого пассажира (пол, приблизительный рост, возраст, цвет волос), Холлерит разработал перфокарты с двенадцатью рядами и двадцатью четырьмя столбцами, в которых записывались основные признаки каждого переписываемого человека. Карты укладывались между матрицей из ртутных чашек и набором иголочек на пружинках, и там, где было отверстие, иголочки опускались в чашки, замыкая электрическую цепь. Машина могла высчитывать не только общие итоговые показатели, но и количество людей с определенной комбинацией признаков, например женатых мужчин или женщин, родившихся за границей. Благодаря табуляторам Холлерита, обработка переписи 1890 года была завершена в течение одного года. Это был первый крупный случай использования электросхем для обработки информации, а компания, основанная Холлеритом, после серии слияний и поглощений стала в 1924 году называться корпорацией International Business Machines или IBM.
Иногда инновации рассматривают как накопление сотен маленьких достижений, таких как счетчики и устройства считывания перфокарт. В таких местах, как IBM, которые нацелены на повседневные улучшения, производимые командой инженеров, лучше всего удается понять, как на самом деле возникают инновации. Некоторые из наиболее важных технологий нашей эры, таких как технология для фрекинга[9], созданная в последние шесть десятилетий для добычи природного газа, возникли и благодаря бесчисленным мелким инновациям, но также и благодаря нескольким прорывным идеям.
В случае с компьютерами тоже было много сделано подобных мелких шагов, с помощью которых безымянные инженеры из таких фирм, как IBM, продвинули вперед технологию. Но этого было недостаточно. Хотя машины, производимые корпорацией IBM в начале ХХ века, могли компилировать данные, они не являлись в полном смысле тем, что мы назвали бы компьютером. Они даже не были особо эффективными калькуляторами. Они все-таки были недоделанными устройствами. Кроме сотен мелких достижений, для рождения компьютерной эры потребовалось и несколько крупных прорывов, совершенных гениями-творцами.
Цифровое побеждает аналоговое
Машины, разработанные Холлеритом и Бэббиджем, были цифровыми, а значит, они были рассчитаны на использование цифр – различных дискретных целых чисел, таких как о, 1, 2, 3. В их машинах сложение и вычитание целых чисел происходило при помощи шестеренок и колесиков, одним поворотом которых вводилась только одна цифра, как в счетчиках. Другой подход к вычислениям состоял в том, чтобы создавать устройства, которые могут имитировать или моделировать физические явления, а потом проводить измерения на аналоговой модели для расчета требуемых результатов. Эти машины стали называться аналоговыми компьютерами, поскольку они работали по аналогии. Для расчетов в аналоговых компьютерах использовались не дискретные числа, а непрерывные функции. В аналоговых вычислительных машинах переменная величина, такая как электрическое напряжение, положение веревки на шкиве, гидравлическое давление или измерение расстояния используется в качестве аналога соответствующих величин в задаче, которую предстоит решить. Логарифмическая линейка является аналоговым устройством, а счеты – цифровым. Часы со стрелками – аналоговые, а те, в которых на циферблатах отображаются цифры, – цифровые.
Примерно в то время, когда Холлерит строил свой цифровой табулятор, лорд Кельвин и его брат Джеймс Томсон – два самых выдающихся английских ученых – создавали аналоговую машину. Она разрабатывалась для того, чтобы справиться с трудоемкими решениями дифференциальных уравнений, нужных для создания графиков приливов и таблиц углов наводки при стрельбах, которые позволили бы просчитывать различные траектории полета артиллерийских снарядов. Начиная с 1870-х годов братья разрабатывали систему, которая была основана на планиметре – инструменте, который может измерять площадь двумерной фигуры неправильной формы, например площадь фигуры, ограниченной замкнутой кривой, нарисованной на листе бумаги. Для расчета площади нужно вести по контуру кривой устройством, включающим в себя диск, цилиндр и сферу: вращение большого диска передается цилиндру посредством маленькой сферы, прижатой одновременно к его поверхности и к цилиндру[10]. Рассчитав площадь под кривой таким образом, можно получить решение уравнения интегрированием, другими словами, выполнить основную задачу исчисления. Кельвин и его брат смогли использовать этот метод, чтобы создать “синтезатор гармоник”, который мог за четыре часа составить годовой график приливов и отливов. Но им не удалось преодолеть механические трудности и соединить несколько таких устройств, чтобы решать уравнения с большим количеством переменных.
Задача по соединению друг с другом нескольких интеграторов не была решена до 1931 года, когда профессор Массачусетского технологического института Вэнивар (имя Vannivar рифмуется со словом beaver – бобер) Буш (запомните это имя, его носитель является ключевым персонажем этой книги) сумел построить первый в мире аналоговый электромеханический компьютер. Он назвал свою машину дифференциальным анализатором. Она состояла из шести колесно-дисковых интеграторов, не слишком сильно отличавшихся от интеграторов лорда Кельвина, которые были связаны между собой посредством набора шестеренок, шкивов, валов, вращавшихся с помощью электродвигателей. Бушу помогло то, что он работал в Массачусетском технологическом институте, где вокруг было много специалистов, которые умели собирать и вытачивать сложные детали с большой точностью. В окончательном виде машина, которая была размером с небольшую спальню, могла решать уравнения с огромным числом (до восемнадцати) независимых переменных. В течение следующего десятилетия модификации дифференциального анализатора Буша были собраны в США: на Абердинском испытательном полигоне ВМС штата Мэриленд, в электротехнической школе Мура, в Университете Пенсильвании, а также в Манчестерском и Кембриджском университетах в Англии. Они оказались особенно полезными при составлении таблиц для артиллерийских стрельб, но главное – на них воспитывалось и обучалось новое поколение первооткрывателей компьютеров.
Машине Буша, однако, не суждено было стать важным шагом вперед в истории развития компьютеров, поскольку она была аналоговым устройством. На самом деле она оказалась последним образчиком аналогового компьютера, по крайней мере, в течение многих последующих десятилетий других не было предложено.
Новые подходы, технологии и теории начали появляться в 1937 году, ровно через сто лет после того, как Бэббидж впервые опубликовал свою статью об аналитической машине. Этот год стал “годом чудес” для компьютерной эры, и итогом его стало безоговорочное признание четырех основных свойств, в известном смысле взаимосвязанных, которые определили конструкцию современных компьютеров.
ЦИФРОВОЙ ПОДХОД. Фундаментальной чертой компьютерной революции было то, что в основу были положены цифровые, а не аналоговые компьютеры. Как мы скоро увидим, это произошло по многим причинам, в том числе из-за почти одновременных прорывов в теоретической логике, схемотехнике и технологии электронных двухпозиционных переключателей (работающих в режимах включить/выключить), что сделало более естественным цифровой, а не аналоговый подход. И только в 2010-х годах ученые-компьютерщики, стремясь промоделировать работу человеческого мозга, опять серьезно задумались о возрождении аналогового принципа работы компьютера.
БИНАРНОСТЬ. Мало того, что современные компьютеры стали цифровыми, но цифровая система, которую они используют, это двоичная система, то есть за основание взята двойка, что означает, что используются только цифры 0 и 1, а не все десять цифр нашей обычной десятичной системы. Как и многие математические понятия, двоичная система была впервые разработана Лейбницем в конце XVII века. В 1940-е годы становилось все более очевидным, что для выполнения логических операции с использованием схем, содержащих двухпозиционные переключатели, бинарная система подходила лучше, чем другие цифровые системы, в том числе десятичная.
ЭЛЕКТРОНИКА. В середине 1930-х годов британский инженер Томми Флауэрс разработал метод использования электронных ламп в электронных схемах в качестве двухпозиционных переключателей. До тех пор в схемах использовались механические и электромеханические переключатели, такие как пружинные электромагнитные реле, применявшиеся телефонными компаниями. Ранее электронные лампы в основном использовались для усиления сигналов, а не как двухтактные переключатели. При использовании электронных компонентов, таких как электронные лампы, а позже – транзисторов и микросхем, компьютеры могут работать в тысячи раз быстрее, чем машины, в которых имеются движущиеся электромеханические переключатели.
УНИВЕРСАЛЬНОСТЬ. Наконец, машины должны иметь возможность быть программируемыми и перепрограммируемыми для решения различных задач; более того, они должны уметь перепрограммировать сами себя. Они должны выполнять не только один вид математических расчетов, например решать дифференциальные уравнения, но и уметь решать разные другие задачи, а также наряду с числами оперировать множеством других символов, включая слова, музыку, фотографии, и тогда реализовались бы те возможности, которые леди Лавлейс вообразила себе при описании аналитической машины Бэббиджа.
Инновации рождаются, когда проросшие семена падают на благодатную почву. Но огромный успех в развитии компьютеров в 1937 году объяснялся не одной причиной, а комбинацией возможностей, идей и потребностей, возникших одновременно во множестве мест. Как это часто бывает в истории изобретений, особенно относящихся к информационным технологиям, просто настало время и ситуация созрела. Развитие электронных ламп в радиоиндустрии подготовило почву для создания электронных цифровых схем. Это сопровождалось открытиями в области теоретической логики, которые сделали применение этих схем более целесообразным. И, кроме того, приход новых компьютеров ускорил барабанный бой приближающейся войны. Когда страны начали вооружаться в преддверии назревающего конфликта, стало ясно, что вычислительная мощность страны была не менее важна, чем ее огневая мощь. Успехи в разных местах подстегивали друг друга и происходили почти одновременно и стихийно в Гарварде и Массачусетском технологическом институте, в Принстоне и в Bell Labs, в берлинских квартирах и даже, что совсем невероятно, но любопытно, в подвальном помещении города Эймса в штате Айова.
В основе всех этих достижений были некоторые красивые (Ада могла бы назвать их поэтическими) открытия в области математики. Одно из этих открытий привело к формальному понятию “универсального компьютера” – машины общего назначения, которую можно было бы запрограммировать для выполнения любой логической задачи и с помощью которой можно было бы промоделировать поведение любого другого логического устройства. Эта идея возникла как мысленный эксперимент блестящего английского математика, история жизни которого одновременно и воодушевляющая, и трагичная.
Алан Тьюринг
Алан Тьюринг родился в семье, принадлежавшей к захудалому британскому аристократическому роду1, и получил суровое воспитание. Его предку в 1638 году был дарован титул баронета, который унаследовал один из его племянников и его потомки. Но младшим сыновьям, которыми были Тьюринг, его отец и дед, не досталось никакой земли и не так много богатства. Большинство представителей этой ветви рода становились либо священниками, как дедушка Алана, либо шли на колониальную гражданскую службу, как его отец, бывший мелким администратором в отдаленных районах Индии. Алан был зачат в Чхатрапуре, в Индии, а родился 23 июня 1912 года в Лондоне, где его родители проводили отпуск. Вскоре родители уехали обратно в Индию на несколько лет и передали его и его старшего брата на воспитание в семью отставного армейского полковника и его жены, живших в приморском городке на южном побережье Англии. “Я не детский психолог, – писал позднее его брат Джон, – но я уверен, что это плохо для грудного ребенка, когда его отрывают от родной семьи и помещают в чужую 2.
Когда его мать вернулась в Англию, они с Аланом прожили вместе несколько лет, а затем в тринадцать лет он был отправлен в школу-интернат. Он поехал туда один на велосипеде, и ему потребовалось два дня, чтобы преодолеть более ста километров, отделявшие дом от школы, – его тяга к одиночеству проявилась в любви к длинным пробежкам и езде на велосипеде. Кроме того, в его характере имелась черта, роднившая его со многими другими инноваторами, которая так хорошо была описана его биографом Эндрю Ходжесом: “Алан с трудом учился чувствовать тонкую грань, отделявшую инициативность от неповиновения”3.
В своих воспоминаниях его мать так описала обожаемого ею сына:
Алан был ширококостным, крепкого телосложения и высокого роста, с квадратной, четко очерченной челюстью и непослушными каштановыми волосами. Его наиболее примечательной особенностью были глубоко посаженные, ясные, голубые глаза. Короткий, слегка вздернутый нос и линия рта, указывающая на чувство юмора, придавали ему юный, а иногда даже детский вид. Настолько, что, когда ему было сильно за тридцать, его временами по ошибке принимали за студента. Он был достаточно неряшлив, что проявлялось в его одежде и привычках. Он обычно носил слишком длинные волосы, на лоб падала челка, которую он откидывал обратно взмахом головы… Он мог быть отрешенным и мечтательным, погруженным в свои мысли, так что иногда казался нелюдимым. Временами его застенчивость приводила его к крайней бестактности. Он считал, что на самом деле ему очень бы подошла уединенная жизнь в средневековом монастыре4.
В школе-интернате в Шерборне он понял, что является гомосексуалом. Он увлекся белокурым стройным одноклассником – Кристофером Моркомом, с которым они вместе занимались математикой и обсуждали философские проблемы. Но зимой, еще до того, как Морком успел закончить школу, он умер от туберкулеза. Тьюринг написал матери Моркома: “Я просто боготворил землю, по которой он ступал, и, вынужден признать, не очень пытался это скрыть”5. Из письма Тьюринга к его матери видно, что он пытался утешиться в вере: “Я чувствую, что должен буду опять где-то встретиться с Моркомом, и там нас ожидает работа, которую мы там будем делать вместе, как я надеялся, что мы будем ее делать здесь. Теперь, когда я остался один, мне придется трудиться над этим в одиночку, и я не должен подвести его. Если мне это удастся, когда я присоединюсь к нему там, я окажусь достойнее его общества, чем сейчас”. Но эта трагедия подорвала веру Тьюринга в бога. Оказалось также, что он стал еще большим интровертом, и с тех пор он с трудом вступал в близкие отношения. Директор пансиона сообщил его родителям на Пасху 1927 года: “Нет сомнения, что он не «нормальный» мальчик – не в том смысле, что хуже других, но, вероятно, менее счастливый”6.
В последний год обучения в Шерборне Тьюринг получил стипендию для учебы в Королевском колледже Кембриджа, куда он поступил в 1931 году и стал там изучать математику. Одной из трех книг, которые он купил на деньги от какой-то премии, была книга “Математические основы квантовой механики” Джона фон Неймана – великолепного математика венгерского происхождения, который первым разработал архитектуру современного компьютера. Тьюринг особенно заинтересовался аппаратом математической статистики, с помощью которой описываются события в квантовой физике на субатомном уровне и согласно которой они являются вероятностными, а не определяются соответствующими детерминистскими законами. Он считал (по крайней мере, пока был молод), что эта же неопределенность и неоднозначность на субатомном уровне, вероятно, позволяет человеку иметь свободу воли, которая, если это так, отличает его от машин. Другими словами, поскольку события на субатомном уровне не предопределены, не предопределены наши мысли и действия. Он объяснил это в письме к матери Моркома так:
Обычно в науке предполагалось, что, если в любой конкретный момент все о Вселенной известно, мы можем предсказать, что с ней случится в каждый момент в будущем. Это представление возникло из-за очень успешных астрономических предсказаний. Более современная наука, однако, пришла к выводу, что, когда мы имеем дело с атомами и электронами, мы абсолютно не в состоянии знать точное их состояние, поскольку наши инструменты сами делаются из атомов и электронов. Идея о том, что состояние Вселенной возможно в точности узнать, должна действительно нарушаться на малых масштабах. Это означает, что теория, которая утверждает, что, если затмения и подобные им события предопределены, значит, также предопределены и все наши действия, тоже оказывается неправильной. Мы обладаем волей, которая способна определять действие атомов, вероятно, в небольшом участке головного мозга или, возможно, во всем мозгу7.
Всю остальную жизнь Тьюринга мучил вопрос, есть ли принципиальное отличие в работе человеческого разума и детерминированной машины, и постепенно он пришел к выводу, что различие не такое отчетливое, как он думал.
Еще ему интуитивно казалось, что подобно неопределенности, царящей в субатомном мире, существуют также математические задачи, которые не могут быть механически решены, и им суждено оставаться неразрешенными. В то время математики интенсивно работали над вопросами полноты и непротиворечивости логических систем, отчасти под влиянием Давида Гильберта – геттингенского гения, который, помимо многих других своих достижений, одновременно с Эйнштейном сформулировал общую теорию относительности в математической форме.
На конференции 1928 года Гильберт поставил три фундаментальных вопроса, касающихся любой формальной системы математики: (і) Полон ли набор правил в этой системе, в том смысле, что любое утверждение может быть доказано (или опровергнуто) с помощью правил только одной этой системы? (2) Является ли этот набор непротиворечивым (и значит, никакое утверждение не может быть признано одновременно и верным и ложным)? (з) Существует ли какая-то процедура, с помощью которой можно определить, является ли данное конкретное утверждение доказуемым, или остается возможность того, что некоторым утверждениям (к таким, например, относятся математические загадки, такие как последняя теорема Ферма, гипотеза Гольдбаха или гипотеза Коллатца) суждено оставаться неразрешенными? Гильберт думал, что ответы на первые два вопроса должны быть положительными, а третий считал схоластическим. Он сформулировал это просто: “Нет такого понятия, как неразрешимая задача”.
В течение трех лет математик-логик австрийского происхождения Курт Гёдель (тогда ему было двадцать пять лет, и он жил с матерью в Вене) получил на первые два из этих вопросов неожиданные ответы: “нет” и “нет”. В своей “теореме о неполноте” он доказал, что существуют утверждения, которые не могут быть ни доказаны, ни опровергнуты. Среди них, если немного упростить, оказались те, которые были сродни таким самореферентным утверждениям, как “это утверждение недоказуемо”. Если утверждение верно, то в нем декларируется, что мы не можем доказать, что оно верно; если оно ложно, это также приводит к логическому противоречию. Это отчасти напоминает древнегреческий “парадокс лжеца”, в котором истинность утверждения “данное утверждение ложно” не может быть определена. (Если утверждение истинно, то оно также и ложно, и наоборот.)
Приводя в качестве примера утверждения, которые не могут быть ни доказаны, ни опровергнуты, Гёдель показал, что любая формальная система, достаточно мощная, чтобы выражать обычную математику, неполна. Он также сформулировал сопутствующую теорему, которая с определенностью дала отрицательный ответ на второй вопрос Гильберта.
Оставался третий вопрос Гильберта – вопрос о разрешимости, или, как Гильберт назвал его, Entscheidungsproblem, “проблема разрешения”. Несмотря на то, что Гёдель привел утверждения, которые не могут быть ни доказаны, ни опровергнуты, возможно, этот странный класс утверждений можно было бы как-то определить и изолировать, оставив остальную часть системы полной и непротиворечивой. Для этого нам потребовалось бы найти какой-то метод принятия решения о том, является ли доказуемым данное логическое утверждение. Когда великий профессор из Кембриджа математик Макс Ньюман читал Тьюрингу лекцию, в которой рассказывал о вопросах Гильберта, он сформулировал проблему Entscheidungsproblem в следующем виде: “Существует ли «механический процесс», который можно было бы использовать для определения доказуемости данного логического утверждения”?
Тьюрингу понравилась концепция “механического процесса”. Однажды летом 1935 года он, как обычно, совершал пробежку вдоль реки Или, но километра через три остановился и прилег среди яблонь в Гранчестер-Медоуз, решив обдумать этот вопрос. Он воспринял понятие “механический процесс” в буквальном смысле и попытался придумать механический процесс – воображаемую машину – и применить его к решению данной проблемы8.
“Логическая вычислительная машина”, которую он придумал (как мысленный эксперимент, а не как настоящую машину, которую нужно создать), была на первый взгляд довольно проста, но теоретически могла выполнять любые математические вычисления. Она состояла из бумажной ленты неограниченной длины, на которой внутри квадратиков содержались символы, в простейшем двоичном примере этими символами могли быть просто единица и пробел. Машина могла бы читать символы на ленте и выполнять определенные действия согласно заданной ей “таблице команд 9.
Таблица команд должна указать машине, что делать при любой конфигурации, в которой она оказалась, и в зависимости от того, какой символ, если таковые имеются, она обнаружила в соответствующем квадрате. Например, таблица команд для конкретной задачи может состоять в том, что если машина была в конфигурации 1 и увидела 1 в квадрате таблицы команд, то она должна передвинуться на одну клетку вправо и перейти в конфигурацию 2. Довольно удивительно для нас, но, видимо, не для Тьюринга, что такая машина, если ей задать надлежащую таблицу инструкций, может решать любые математические задачи независимо от того, насколько они сложны.
Как может эта воображаемая машина ответить на третий вопрос Гильберта, то есть на проблему разрешения? Тьюринг подошел к проблеме, уточнив концепцию “вычислимых чисел”. Любое действительное число, которое определено с помощью математического правила, можно найти с помощью логической вычислительной машины. Даже иррациональное число, напримерр, можно вычислять с бесконечной точностью, используя конечную таблицу команд. Таким же образом можно рассчитать логарифм 7, квадратный корень из 2, или последовательность чисел Бернулли (в составленим алгоритма вычисления которых участвовала Ада Лавлейс), или любое другое число или ряд, независимо от того, насколько сложно их вычислять, лишь бы эти вычисления задавались конечным числом правил. Все они были в терминологии Тьюринга “вычислимыми числами”.
Тьюринг продвинулся дальше и показал, что невычислимые числа также существуют. Это было связано с проблемой, которую он назвал “проблемой остановки”. Как он показал, никаким методом заранее нельзя определить, приведет ли любая заданная таблица инструкций в сочетании с любым заданным набором исходных данных к тому, что машина найдет ответ, или же она войдет в вычисление некоторых циклов и будет продолжать пыхтеть бесконечно долго, так и не получив ответа. Неразрешимость проблемы остановки, как он показал, означает, что нет решения и у Entscheidungsproblem – проблемы разрешения Гильберта. Несмотря на надежды Гильберта, оказалось, что никакая механическая процедура не может определить доказуемость каждого математического утверждения. Теория Гёделя о неполноте, неопределенность квантовой механики и ответ Тьюринга на третий вопрос Гильберта – все они наносили удары по механической, детерминистской и предсказуемой Вселенной.
Статья Тьюринга была опубликована в 1937 году под не очень выразительным названием “О вычислимых числах и их приложении к Entscheidungsproblem”. Его ответ на третий вопрос Гильберта оказался полезным для развития теории математики. Но гораздо более важным стал “побочный продукт” доказательства Тьюринга – его концепция логической вычислительной машины, которая вскоре стала известна как “машина Тьюринга”. В статье он утверждал: “Можно изобрести единую машину, которую можно использовать для вычисления любого вычислимого ряда”10. Такая машина была бы способна выполнить команды, данные любой другой машине, и решить любые задачи, которые та машина может решить. В сущности, она была воплощением мечты Чарльза Бэббиджа и Ады Лавлейс об универсальной машине самого общего назначения.
Другое и менее красивое решение для Entscheidungsproblem с более громоздким названием “Бестиповое лямбда-исчисление” раньше в этом же году опубликовал Алонзо Чёрч, математик из Принстона. Руководитель Тьюринга – профессор Макс Ньюман – решил, что Тьюрингу было бы полезно поучиться у Чёрча. В своем рекомендательном письме Ньюман описал огромный потенциал Тьюринга. Он также добавил более личную рекомендацию, основанную на особенностях характера Тьюринга. “Он работал без всякого руководства или обсуждения с кем-либо, – написал Ньюман, – и поэтому важно, чтобы он как можно скорее вступил в контакт с ведущими специалистами в этой области, чтобы не превратился в закоренелого отшельника”11.
Тьюринг действительно предпочитал вести одинокий образ жизни. Временами из-за своей гомосексуальности он чувствовал себя чужим везде; он жил один и избегал серьезных личных отношений. В какой-то момент он предложил брак девушке-коллеге, но потом был вынужден признаться ей, что он гей; она не пришла в ужас и по-прежнему готова была выйти за него замуж, но он полагал, что это будет обманом, и решил дать задний ход. Тем не менее он не стал “законченным отшельником”. Он научился работать с другими сотрудниками в команде, что явилось ключевым обстоятельством, позволившим его абстрактным теориям превратиться в реальные, значимые изобретения.
В сентябре 1936 года, в ожидании опубликования своей статьи, двадцатичетырехлетний докторант плыл в Америку в каюте для пассажиров третьего класса на борту старенького океанского лайнера RMS Berengaria, прихватив с собой ценный латунный секстант. Его кабинет в Принстоне находился в здании математического факультета, который и тогда размещался в Институте перспективных исследований, где царили великие Эйнштейн, Гёдель и фон Нейман. Любящий новые знакомства и очень общительный фон Нейман особенно заинтересовался работой Тьюринга, хотя в человеческом плане они были очень разными.
Поистине тектонические сдвиги и почти одновременные открытия 1937 года не были напрямую связаны с публикацией статьи Тьюринга. На самом деле, вначале она не привлекла к себе внимания. Тьюринг попросил свою мать отправить оттиски его статьи философу и математику Бертрану Расселу и полудюжине других известных ученых, но единственный серьезный отзыв написал Алонзо Чёрч, который мог позволить себе дать лестную рецензию, поскольку он раньше Тьюринга решил проблему Гильберта. Чёрч был не только щедр – именно он ввел термин “машина Тьюринга” для мысленного эксперимента, который Тьюринг назвал “Логической вычислительной машиной”. Таким образом, в двадцать четыре года Тьюринг заработал себе имя за разработку одной из важнейших концепций цифровой эры12.
Клод Шеннон и Джордж Роберт Стибиц из Bell Labs
В 1937 году произошел еще один значительный прорыв в теории компьютеров, похожий на изобретение машины Тьюринга тем, что это был чисто мысленный эксперимент. Автором его был аспирант Массачусетского технологического института Клод Шеннон, который в том же году представил самую значительную дипломную работу за все время, которую Scientific American позже назвал “Magna Carta[11] эпохи информации”13.
Шеннон вырос в маленьком городке штата Мичиган, где он строил модели самолетов и собирал любительские радиоприемники, а позже отправился в Мичиганский университет учиться электротехнике и математике. На старшем курсе он откликнулся на объявление, висевшее на доске, о том, что в МТИ в группу, возглавляемую Вэниваром Бушем, требуется помощник для работ по запуску дифференциального анализатора. Шеннон получил работу и был заворожен этой машиной – не столько валиками, шкивами и колесами, которые являлись аналоговыми элементами, сколько электромагнитными переключателями – реле, которые были частью цепи управления. Когда электрические сигналы заставляли их щелчком открываться и с треском закрываться, переключатели меняли конфигурацию цепей.
Летом 1937 года Шеннон взял отпуск в МТИ и поступил на работу в Bell Labs – научно-исследовательский центр, находящийся в ведении компании AT&T[12]. Лаборатории тогда находились на Манхэттене, в той части района Гринич-Виллидж, которая выходит на Гудзон. Это место идеально подходило для превращения идей в изобретения: абстрактные теории сталкивались там с практическими проблемами, а в коридорах и кафе эксцентричные теоретики спорили с инженерами-практиками, грубоватыми механиками и деловитыми менеджерами, и в результате теория и технология взаимно обогащали друг друга. Это сделало Bell Labs примером организации, где были созданы условия, способствующие появлению инноваций цифровой эры, которые гарвардский историк науки Питер Галисон назвал “торговой зоной” или “зоной обмена”. Когда разрозненные практики и теоретики оказывались вместе, они учились находить общий язык, с помощью которого можно было обмениваться идеями и информацией14.
В Bell Labs Шеннон увидел вблизи удивительные возможности схем телефонных систем, где использовались электрические переключатели для маршрутизации вызовов и балансировки нагрузок. Мысленно он начал примерять эти схемные решения к другой привлекавшей его области – к логическим системам, сформулированным за девяносто лет до этого британским математиком Джорджем Булем. Буль революционизировал логику, найдя способы выражения логических выражений в виде символов и уравнений. Он присвоил истинным утверждениям значение і, а ложным – о. Тогда последовательность, составленную из базовых логических операций, таких как “и” (and), “или” (or), “не” (not), “и/или” (either/or), “если/то” (if/then), можно выполнить, используя эти утверждения, так же, как если бы они были математическими уравнениями.
Шеннон понял, что электрические схемы могут выполнять эти логические операции, используя различные комбинации двухпозиционных переключателей (с режимами “включено”/“выключено”). Для выполнения операции “и”, например, нужно два переключателя расположить последовательно, так что для того, чтобы пошел ток, оба должны быть в положении “включено”. Чтобы выполнить операцию “или”, переключатели должны быть расположены параллельно, так, чтобы электрический ток тек, если один из них находится в положении “включено”. Чуть более универсальные переключатели, называемые логическими затворами или вентилями, могли бы ускорить процесс. Другими словами, можно было сконструировать схему, содержащую много реле и логических затворов, которые могли бы выполнять шаг за шагом последовательность логических задач.
(Реле – это просто переключатель, который может открываться и закрываться с помощью электричества, например с помощью электромагнита. Те реле, которые механически – щелчком – открываются, а закрываются с помощью электричества, иногда называются электромеханическими, потому что они имеют подвижные части. Электронные лампы и транзисторы также можно использовать в качестве переключателей в электрической цепи, их называют электронными, потому что они управляют потоком электронов, но никакие физические части в них не движутся. “Логический затвор” – это переключатель, который может иметь один или несколько входов. Например, в случае двух входов логический элемент “и” переключается в положение “включено”, если оба входа находятся в позиции “включено”, а логический элемент “или” переходит в состояние “включено”, если какой-нибудь из входов находится в положении “включено”. Концептуальный прорыв Шеннона состоял в том, что он понял, как они могут быть соединены друг с другом в схемах, чтобы с их помощью можно было решать задачи булевой алгебры.)
Когда осенью Шеннон вернулся в МТИ и рассказал о своих идеях Бушу, тот был восхищен ими и предложил ему включить их в дипломную работу. Шеннон так и поступил, назвал ее “Символический анализ релейных и переключательных схем” и показал, как может быть выполнена каждая из многочисленных операций булевой алгебры. В конце он резюмировал: “Выполнять сложные математические операции с помощью релейных цепей вполне возможно”15. Это стало базовой концепцией, лежащей в основе всех цифровых компьютеров.
Идеи Шеннона заинтересовали Тьюринга, потому что они оказались тесно связаны с его только что опубликованной концепцией универсальной машины, которая могла использовать простые команды, выраженные в двоичном коде, для решения не только математических, но и логических задач. Кроме того, поскольку логика работает по тем же законам, что и человеческий мозг, машина, выполняющая логические задачи, теоретически могла бы имитировать ход мысли людей.
В Bell Labs в то же время работал математик Джордж Роберт Стибиц, в чьи обязанности входило разбираться со все более сложными расчетами, требовавшимися инженерам-телефонистам. Единственными инструментами в его распоряжении были механические настольные арифмометры, и он решил придумать что-то получше, основываясь на шенноновских идеях о возможностях электронных схем решать математические и логические задачи. Однажды поздним ноябрьским вечером он пошел на склад и взял несколько старых электромагнитных реле и электрических ламп. На столе своей кухни с помощью этих деталей, железной коробочки из-под табака и нескольких переключателей он собрал простую логическую схему, которая могла суммировать бинарные числа. Загоревшаяся лампа представляла собой 1, а потухшая – 0. Его жена окрестила схему K-Model – в честь кухонного стола. На следующий день он взял схему в офис и попытался убедить своих коллег, что, будь у него достаточно реле, он мог бы сделать вычислительную машину.
Одной из важных задач Bell Labs было найти способ усиливать передаваемые на большие расстояния телефонные сигналы и при этом отфильтровывать постоянный фон. У инженеров были формулы, в которые входили амплитуды и фазы сигнала, и в решения этих уравнений иногда входили комплексные числа (включающие мнимую часть, пропорциональную квадратному корню из -1). Руководитель Стибица спросил его, сможет ли машина оперировать комплексными числами. Когда он ответил, что это возможно, руководитель одобрил идею и дал ему в помощь группу для строительства такой машины. Машину назвали калькулятором комплексных чисел, и ее создание было завершено в 1939 году. В ней было более четырехсот реле, каждое из которых могло включаться и выключаться двадцать раз в секунду. Это сделало ее потрясающе быстродействующей по сравнению с механическими калькуляторами и мучительно медлительной по сравнению со схемами, собранными полностью из электронных ламп, которые как раз в то время изобрели. Компьютер Стибица не был программируемым, но он показал, что схемы на реле могут обращаться с бинарной математикой, обрабатывать информацию и выполнять логические операции16.
Говард Айкен
А в это же время в 1937-м аспирант из Гарварда по имени Говард Айкен пытался сделать утомительные расчеты для своей диссертации по физике, используя арифмометр. Когда он стал уговаривать университет построить более сложный компьютер для ускорения работы, декан его факультета вспомнил, что на чердаке научного центра Гарвардского университета валялись какие-то медные колесики, оставшиеся от устройства вековой давности, похожие на то, о чем говорил Айкен. Когда Айкен обследовал чердак, он нашел одну из шести демонстрационных моделей разностной машины Чарльза Бэббиджа, которую в нескольких экземплярах изготовил сын Бэббиджа Генри. Айкен пришел в восторг от идей Бэббиджа и перенес набор медных колесиков в свой кабинет. “У нас было два колесика Бэббиджа, – вспоминал он, – это были колеса, которые я позже вмонтировал в корпус своего компьютера”17.
Той осенью, как раз когда Стибиц готовил свою демонстрационную кухонную модель, Айкен написал двадцатидвухстраничную служебную записку своим гарвардским руководителям и специалистам из IBM, пытаясь их уговорить профинансировать современную версию цифровой машины Бэббиджа. Его записка начиналась словами: “Желание сэкономить время и умственные усилия при арифметических вычислениях, а также устранить ошибки, к которым склонен человек, вероятно, так же старо, как сама наука арифметика”18.
Айкен вырос в штате Индиана, и детство у него было трудное. Как-то раз, когда ему было двенадцать лет, ему пришлось кочергой защищать мать от пьяного отца, который потом бросил семью. Поэтому юный Говард был вынужден уйти из школы в девятом классе – нужно было зарабатывать. Сначала он устроился телефонным мастером, затем нашел ночную работу в местной энергетической компании, а днем посещал технический колледж. Он своими руками добился успеха, но у него испортился характер. С подчиненными он вел себя как надсмотрщик, позволяющий себе не сдерживаться. Про него говорили, что он похож на надвигающуюся грозу19.
В Гарварде мнения по поводу создания предлагаемой Айкеном вычислительной машины разошлись. В вопросе о предоставлении ему постоянной должности профессора также не было единства, поскольку его деятельность, казалось, больше относилась к области технологии, чем науки. (У некоторой части преподавательского сообщества Гарварда считалось оскорбительным называть кого-то практиком, а не ученым.) Но Айкена поддержал президент университета – Джеймс Брайант Конант, которому, как председателю Национального исследовательского комитета обороны США, хотелось продемонстрировать, что Гарвард участвует и в научных, и в промышленных, и в военных разработках. Сотрудники физического факультета, однако, были большими пуристами, чем президент. Декан факультета в декабре 1939 года написал Конанту, что машину “можно создать, если найдутся деньги, но это не более важная задача, чем многие другие”, а факультетский комитет заявил относительно Айкена: “Ему нужно дать понять, что подобная деятельность не увеличит его шансы на соискание профессорского звания”. В конце концов Конант одержал верх и дал указание Айкену заниматься машиной20.
В апреле 1941 года, когда по чертежам Айкена в лаборатории IBM в Эндикотте (штат Нью-Йорк) был создан компьютер Mark I, Айкен покинул Гарвард и отправился служить в ВМС США. Два года он преподавал в Военно-морской военной минной школе в штате Вирджиния в звании капитан-лейтенанта. Один коллега описал его как “вооруженного до зубов формулами длиной с комнату и теориями” гарвардского ученого, который напоролся “на ораву южан-тупиц”, ни один из которых “не имел понятия об исчислении”21. Большую часть времени он проводил в раздумьях о машине Mark I и иногда надевал парадную военную форму и отправлялся в Эндикотт22.
Служба дала ему одно важное преимущество: в начале 1944 года, когда IBM собиралась отправить готовый Mark I в Гарвард, Айкен смог убедить командование ВМС принять машину на свой баланс и назначить его ответственным за нее. Это помогло ему обойти академическую бюрократию Гарварда, которая все еще упрямо не хотела предоставлять ему постоянную ставку профессора. Гарвардская расчетная лаборатория стала на время военным объектом, и все сотрудники Айкена были военнослужащими ВМС, носившими на работе форму. Он называл их своим “экипажем”, они называли его “командиром”.
В конструкции Mark I позаимствовано много идей у машины Бэббиджа. Он тоже был цифровым, хотя и не двоичным, его колесики имели десять позиций. Вдоль его пятнадцатиметрового вала располагалось семьдесят два счетчика, которые могли запоминать числа длиной до двадцати трех разрядов, в окончательном виде он весил пять тонн, имел примерно двадцать пять метров в длину и семнадцать в ширину. Вал и другие движущиеся части поворачивались с помощью электрических двигателей. Но он был медлительным. Вместо электромагнитных реле в нем использовались механические, которые открывались и закрывались с помощью электрических моторчиков, и это означало, что требовалось около шести секунд, чтобы проделать операцию умножения. Для сравнения, в машине Стибица для этого требовалась одна секунда. Mark I, однако, обладал одной замечательной особенностью, которая станет одной из основных черт современных компьютеров: он был полностью автоматическим. Программы и данные вводились с помощью бумажной ленты, и она могла работать в течение нескольких дней без какого-либо участия человека. Это дало Айкену право провозгласить, что “мечта Бэббиджа сбылась”23.
Конрад Цузе
Тем временем в 1937 году немецкий инженер дома собирал свою машину, и он опередил всех остальных изобретателей, хотя они и не подозревали об этом. Конрад Цузе заканчивал конструировать прототип двоичного калькулятора, который мог читать инструкции с перфоленты. Однако по крайней мере первая версия машины, названной им Zi, была не электрической и не электронной, а механической.
Как и многие инноваторы цифровой эры, Цузе с детства обожал и искусство, и технику. После окончания технического колледжа он получил работу инженера-прочниста в самолетостроительной компании в Берлине, и ему пришлось решать линейные уравнения, которые включали все виды нагрузки, силы и коэффициенты упругости. Даже при использовании механических калькуляторов одновременно решить больше шести линейных уравнений с шестью неизвестными менее чем за день человеку было почти невозможно. А если бы в уравнениях было двадцать пять переменных, это могло занять год. И потому Цузе, как и многие другие, загорелся идеей механизировать утомительный процесс решения математических уравнений. Он превратил гостиную своих родителей в квартире, расположенной вблизи берлинского аэропорта Темпельхоф, в мастерскую24.
В первой версии машины Цузе двоичные числа запоминались с помощью тонких металлических пластин с штырьками и прорезями, которые он и его друзья делали ножовкой. Сначала данные и программы вводились с помощью перфолент, но вскоре он перешел на использованную 35-миллиметровую кинопленку, которая оказалась не только прочнее, но и дешевле. Его компьютер Zi был завершен в 1938 году, и он смог справляться с несколькими проблемами, хотя и работал не очень надежно, поскольку все его компоненты были сделаны вручную и часто давали сбои. К сожалению, Цузе работал в условиях, непохожих на условия в Bell Labs, он не мог работать рука об руку с инженерами.
Однако Zi показал, что теоретически логическая концепция Цузе работоспособна. Его друг по колледжу Гельмут Шрайер предложил сделать следующую версию машины, использовав электронные лампы вместо механических переключателей. Если бы они занялись этим сразу, то вошли бы в историю как первые изобретатели работающего современного компьютера: бинарного, электронного и программируемого. Но Цузе, а также эксперты, с которыми он консультировался в техническом колледже, отказались от создания устройства с почти двумя тысячами электронных ламп из-за его дороговизны25.
И друзья решили для Zi вместо электронных ламп использовать подержанные электромеханические реле, которые приобрели в телефонной компании: они были крепче и дешевле, хотя намного медленнее. В результате появился компьютер, в котором для арифметической ячейки использовалось реле. Тем не менее блок памяти был механическим, использующим подвижные штырьки в металлической пластине.
В 1939 году Цузе начал работу над третьей моделью – Z3, в которой использовались электромеханические реле как для арифметического устройства, так и для блоков памяти и управления. В 1941 году она была завершена и стала первым полностью работающим универсальным программируемым цифровым компьютером. И даже хотя в нем не был заложен способ напрямую совершать условные переходы и ветвление в программах, он теоретически мог работать как универсальная машина Тьюринга. Его главное отличие от более поздних компьютеров состояло в том, что в нем использовались неповоротливые электромагнитные реле, а не электронные компоненты, такие как электронные лампы или транзисторы.
Друг Цузе Шрейер продолжал писать докторскую диссертацию под названием “Реле на лампах и методы их переключения”, в которой описывался способ создания мощного и быстрого компьютера на электронных лампах. Но когда они с Цузе в 1941 году предложили его немецкой армии, командование заявило, что для создания машины потребуется около двух лет, а они уверены, что они выиграют войну раньше26. Военных больше интересовало производство оружия, а не компьютеров. В результате Цузе оторвался от своей работы по конструированию компьютеров и отправился обратно на завод по сборке самолетов. В 1943 году, когда начались бомбардировки Берлина союзниками, его компьютеры и чертежи были уничтожены.
Цузе и Стибиц, работая независимо друг от друга, пришли к использованию реле в схемах, которые могли делать двоичные вычисления. Как они могли в одно и то же время прийти к этой идее, когда контакты между этими двумя группами из-за войны были невозможны? Частично ответ состоит в том, что технологический и научный прогресс привели к тому, что момент настал.
Как и многие другие инноваторы, Цузе и Стибиц были знакомы с использованием реле в телефонных схемах, и было логично применять их для бинарных операций в математике и логике. Кроме того, Шеннон, который также был хорошо знаком с телефонными схемами, теоретически доказал, что с помощью электронных схем можно выполнять логические задачи булевой алгебры. Идея использования цифровых схем в качестве ключевых элементов вычислительной техники вскоре была воспринята исследователями практически везде, даже в таких богом забытых местах, как штат Айова.
Джон Винсент Атанасов
В 1937 году другой изобретатель, находившийся далеко и от Цузе, и от Стибица – в Айове, также экспериментировал с цифровыми схемами. Имя изобретателя – Атанасов, он напряженно работал в своем подвале, где и произошел очередной исторический прорыв: он создал вычислительное устройство, в котором использовались электронные лампы, по крайней мере в части схем. В каком-то смысле его машина была менее продвинутой, чем другие, – она не была ни программируемой, ни универсальной. Она не была и полностью электронной, поскольку в ней использовались некоторые медленно движущиеся механические элементы. И хотя он построил модель, которая теоретически могла производить расчеты, он так и не смог заставить ее надежно работать. Тем не менее Джон Винсент Атанасов, которого жена и друзья называли Винсентом, заслуживает чести называться первопроходцем, поскольку он придумал первый частично электронный цифровой компьютер. Однажды декабрьским вечером в 1937 году, когда он долго мчался непонятно куда на машине с бешеной скоростью, он вдруг понял, как создать такой компьютер27.
Атанасов родился в 1903 году. Его отец был эмигрантом из Болгарии, а мать принадлежала к одной из старейших семей Новой Англии. Винсент был старшим из семи детей. Отец работал инженером на электростанции, находящейся в ведении Томаса Эдисона в Нью-Джерси, а затем переехал с семьей во Флориду – в городок, расположенный к югу от Тампы. В девять лет Винсент помог отцу провести в их флоридский дом электричество, и отец подарил ему логарифмическую линейку производства компании Дицгена. Он позже вспоминал: “Эта логарифмическая линейка была моей любимой игрушкой”28. В раннем возрасте он погрузился в изучение логарифмов с энтузиазмом, который кажется немного дурацким, хотя он рассказывал об этом с серьезным видом: “Можете ли вы себе представить, как мальчик в девять лет, у которого на уме бейсбол, может измениться от [знакомства с логарифмами]? Бейсбол был почти забыт, когда я приступил к серьезному исследованию логарифмов”. За лето он посчитал, чему равен логарифм 5 по основанию е, потом, еще в средней школе, с помощью своей матери (когда-то она была учительницей математики) освоил дифференциальное исчисление. Отец взял его на фосфатный завод, где работал инженером-электриком, и показал, как работают генераторы. Винсент закончил старшие классы средней школы за два года, выдерживая двойную нагрузку, и получил по всем предметам высшие оценки.
В Университете Флориды он изучал электротехнику и проявил склонность к практическим занятиям, проводя много времени в механических и литейных мастерских университета, но не только. Он по-прежнему был влюблен в математику, и уже на первом курсе ему пришлось столкнуться с доказательством, использующим двоичную систему счисления. Он закончил институт с самым высоким средним баллом среди выпускников того года. Он получил стипендию для обучения в магистратуре по математике и физике от штата Айова, и хотя позже был принят в Гарвард, не изменил своего решения и остался в городе Эймсе, в “кукурузном поясе”.
Атанасов продолжил обучение и получил докторскую степень по физике в Университете штата Висконсин, где проделал такой же путь, как и другие первопроходцы компьютерных технологий, начиная с Бэббиджа. Его работа про гелий, поляризующийся в электрическом поле, предполагала утомительные расчеты. Когда он продирался через математические дебри, имея под рукой лишь настольный арифмометр, он стал мечтать о калькуляторе, который мог бы делать больше операций. После возвращения в университет Айовы в 1930 году на должность доцента он решил, что его степеней по электротехнике, математике и физике достаточно для создания такого калькулятора.
Это явилось следствием его решения не оставаться в Висконсине и не поступать в Гарвард или другие крупные университеты, где велись исследования. В Айове, где никто, кроме него, не работал над созданием новых вычислительных машин, Атанасов был предоставлен сам себе. Здесь он мог обдумывать новые идеи, но рядом не было людей, с которыми он мог бы обсудить их, или коллег, которые могли бы помочь ему преодолеть теоретические или технические проблемы. В отличие от большинства инноваторов цифровой эры, он был одиноким изобретателем, черпающим свое вдохновение во время одиноких поездок на автомобиле и в дискуссиях с единственным помощником-аспирантом. Как оказалось, это была неправильная стратегия.
Атанасов собирался построить аналоговое устройство; его любовь к логарифмическим линейкам привела его к попыткам сконструировать огромные устройства, подобные ей и использующие длинные полоски пленки. Но он понял: чтобы решать линейные алгебраические уравнения с достаточной точностью, длина пленки должна составлять сотни метров. Он также построил хитроумное устройство, которое могло находить решение дифференциального уравнения в частных производных путем придания соответствующей формы блоку из парафина. Ограничения, присущие этим аналоговым устройствам, привели его к решению сосредоточиться на создании цифровой версии.
Первая задача, которую он решал, состояла в том, как сохранить числа в машине. Для описания этой функции машины он использовал термин “память”: “В то время я имел только поверхностные представления о работе Бэббиджа и поэтому не знал, что он назвал то же самое понятие «запоминающим устройством»… Мне нравится его название, и если бы я знал о нем, я, возможно, использовал бы его. Мне нравится и термин «память» за его аналогию с функцией мозга”29.
Атанасов перебрал разные виды возможных устройств памяти: механические штырьки, электромагнитные реле, небольшой кусочек магнитного материала, который мог быть намагничен электрическим зарядом, электронные лампы и электрическим конденсатор. Самыми быстрыми были электронные лампы, но они были дороги. Тогда он решил вместо них использовать конденсаторы – небольшие и недорого стоящие компоненты, которые могут сохранять, по крайней мере на короткое время, электрический заряд. Это решение было понятно, но оно означало, что машина будет медлительной и громоздкой. Даже если сложение и вычитание могло происходить с электронными скоростями, процесс переноса числа в блок памяти и из него замедлял скорость счета, поскольку она определялась скоростью вращающегося барабана.
Вверху слева: Джордж Стибиц (1904–1995), ок. 1945 г.
Вверху справа: Конрад Цузе (1910–1995) со своим компьютером Z4, 1944 г.
Слева: Джон Атанасов (1903–1995) в Университете штата Айова, 1940 г.
Реконструкция компьютера Атанасова
Определившись с блоком памяти, Атанасов сосредоточился на том, как построить арифметический и логический блок, который он назвал “вычислительным механизмом”. Он решил, что он должен быть полностью электронным, что означало применение электронных ламп, хотя они и были дорогими. Лампы должны были выполнять функцию двухпозиционных переключателей с функциями “включить/выключить”, то есть служить логическими вентилями в схемах, которые могут складывать, вычитать, а также выполнять любые команды булевой алгебры.
В связи с этим возник теоретический вопрос из тех, что он любил с детства в математике: должна ли его цифровая машина использовать десятичную, двоичную или какую-либо другую систему счисления? Истинный любитель повозиться с разными системами счисления, Атанасов изучил много вариантов. “На короткое время система счисления с основанием сто показалась мне многообещающей, – писал он в неопубликованной работе. – Этот же расчет показал, что основание, которое теоретически дает высокую скорость расчета, это число е”30. Но поиски компромисса между теорией и практикой привели его в конце концов к выбору двойки в качестве основания, то есть к двоичной системе счисления. В конце 1937 года эти и другие идеи крутились в его голове, это была “сборная солянка” из мыслей, которые никак друг с другом не “склеивались”.
Атанасов любил автомобили; он старался по возможности покупать каждый год по новому и в декабре 1937 года купил новый “форд” с мощным двигателем V8. Чтобы проветриться, он отправился на прогулку, и эта поездка стала важной вехой в истории вычислительной техники. Вот его воспоминания об этом вечере:
“Однажды зимним вечером 1937 года я почувствовал, что совершенно измучен невозможностью найти решение проблем, связанных с конструкцией машины. Я сел в автомобиль, разогнался и ехал так долгое время, пока не стал контролировать свои эмоции. Это было моей привычкой – у меня получалось восстанавливать контроль над собой после того, как проедусь по дороге, сосредоточившись на управлении автомобилем. Но в ту ночь я был слишком измучен и продолжал мчаться, пока не пересек реку Миссисипи и не оказался в штате Иллинойс в 300 километрах от того места, где я сел в машину”31.
Он съехал со скоростного шоссе и завернул в придорожную забегаловку. В штате Иллинойс, в отличие от Айовы, можно было по крайней мере купить спиртного, и он заказал себе порцию бурбона с содовой, потом еще одну. “Я почувствовал, что уже не так нервничаю, и мои мысли снова обратились к вычислительным машинам, – вспоминал он. – Я не знаю, почему моя голова тогда заработала и почему она не работала раньше, но там было симпатично, прохладно и тихо”. Официантка не обращала на него внимания, и Атанасов смог спокойно обдумать свою проблему32.
Он набросал свои идеи на бумажной салфетке, а затем начал перебирать какие-то практические вопросы. Главное – было непонятно, как пополнить заряд в конденсаторах, которые разряжались через пару минут. Он придумал поместить их на вращающиеся цилиндрические барабаны, сделанные из банок сока V8 (емкостью примерно 1,5 литра), чтобы они каждую секунду вступали в контакт с щетками, сделанными из кабелей, и их заряды восстанавливались. “В тот вечер я представил в голове возможную конструкцию регенеративной памяти, – вспоминал он. – В тот момент я называл ее «дискретной»”. С каждым поворотом вращающегося цилиндра щетки должны “встряхивать” память, состоящую из конденсаторов, а также при необходимости снимать старые данные с конденсаторов и вводить новые. Он также придумал схему, которая позволяла считывать числа с двух разных цилиндров с конденсаторами, а затем использовать схему на электронных лампах, чтобы их складывать и вычитать, после чего результат отправлять в блок памяти. Как он вспоминал, после нескольких часов обдумывания всех этих проблем он “сел в машину и поехал домой, уже не так быстро”33.
К маю 1939 года Атанасов был готов начать создание прототипа. Ему нужен был помощник, предпочтительно аспирант с инженерными навыками. Однажды друг, работавший на том же факультете, сказал ему: “У меня есть как раз такой человек, который тебе нужен”. Так у него началось сотрудничество с Клиффордом Берри – тоже сыном электрика-самоучки34.
Прототип был разработан и собран, его единственной целью было решение системы линейных уравнений. Машина Атанасова могла работать с системами, содержащими до двадцати девяти переменных. На каждом шагу она обрабатывала два уравнения и убирала одну из переменных, а затем распечатывала получившиеся уравнения на двоичных перфокартах размером 8 х 11, после чего набор карт с более простой системой уравнений подавался обратно в машину, и процесс начинался заново, а затем убиралась еще одна переменная. Это требовало много времени. Чтобы найти решение системы из двадцати девяти уравнений, машине потребовалось бы (если бы они могли заставить ее работать как нужно) считать почти неделю. Но если те же самые расчеты выполняли бы люди с помощью настольных калькуляторов, они потратили бы на это по крайней мере десять недель.
Атанасов продемонстрировал прототип в конце 1939 года и, надеясь получить финансирование на строительство полноценной машины, напечатал на машинке тридцатипятистраничное ее описание и сделал с него несколько копий через копирку. Начинался текст следующими словами: “Главная цель этого предложения – представить описание устройства и работы вычислительной машины, которая была разработана в основном для решения больших систем линейных алгебраических уравнений”. Как будто для того, чтобы ответить критикам, считавшим недостатком, что назначение большой машины было ограничено только решением систем уравнений со многими неизвестными, Атанасов перечислил длинный список проблем, для которых требуется решение таких систем: “аппроксимация кривой… колебательные задачи… анализ электрических схем. упругие материалы”. В заключение он представил подробный перечень предполагаемых расходов, которые в сумме давали грандиозную цифру – 5330 долларов, и эти деньги он в конечном итоге получил от частного фонда35. Затем он послал одну из печатных копий своего предложения в Чикаго патентному адвокату, нанятому Университетом Айовы, который в нарушение служебного долга не удосужился подать заявку на патент, и из-за его просчета правовой спор затянулся на десять лет.
К сентябрю 1942 года полноценная модель машины Атанасова была почти закончена. Она была размером с письменный стол, и в ней использовалось до трехсот электронных ламп. Была, однако, проблема: механизм для прожигания отверстий в перфокартах с помощью искры никогда не работал должным образом, и не было никакой команды механиков и инженеров в Университете Айовы, к которым можно было обратиться за помощью.
В этот момент работа остановилась. Атанасов был призван на службу во флот и послан в исследовательскую артиллерийскую лабораторию ВМС в Вашингтоне, где он работал над проблемами акустических мин, а затем принял участие в испытаниях атомной бомбы на атолле Бикини. В этот период он переключил внимание с компьютеров на инженерные проблемы, связанные с боеприпасами, но он остался изобретателем, подготовил тридцать патентов, в том числе на устройство для траления мин. Но его адвокат из Чикаго так никогда и не подал патентную заявку на его компьютер.
Компьютер Атанасова мог бы стать важной вехой в развитии вычислительной техники, но он был и в прямом, и в переносном смысле отправлен на свалку истории. Почти работающая машина была оставлена на хранении в подвале физического факультета Университета Айовы, и несколько лет спустя никто, казалось, не помнил, что она существовала. Когда в 1948 году занимаемое ею место понадобилось для других целей, некий аспирант разобрал ее, не поняв, что это было, и выбросил большую часть деталей36. Во многих тогдашних историях, рассказывавших о начале компьютерной революции, Атанасов даже не упоминается.
Даже если бы компьютер Атанасова заработал должным образом, у него были бы ограниченные возможности. Схемы с электронными лампами производили молниеносные расчеты, но механически поворачивающиеся ячейки памяти многократно замедляли процесс. И система прожигания отверстий в перфокартах, даже когда она работала, тормозила работу. Для того чтобы стать по-настоящему быстродействующими, современные компьютеры должны были стать полностью, а не частично электронными. Кроме того, модель Атанасова не была программируемой. Она была спроектирована только для того, чтобы решать линейные уравнения.
Из-за романтической тяги к изобретательству Атанасов был одиноким энтузиастом, работавшим много лет в подвале с единственным помощником – молодым напарником Клиффордом Берри. Но история его жизни свидетельствует о том, что на самом деле не следует романтизировать таких одиночек. Как и Бэббидж, который также трудился в своей маленькой мастерской и которому помогал только один ассистент, Атанасов так и не довел свою машину до полностью рабочего состояния. Если бы он работал в Bell Labs в содружестве с командами техников, инженеров и механиков или в большом университете, имеющем исследовательские лаборатории, скорее всего, нашлось бы решение для крепления и устройства считывания перфокарт и для других массивных частей его хитроумной машины. Кроме того, когда в 1942 году Атанасов был призван служить в ВМФ США, в лаборатории остались бы другие члены команды, способные доделать машину или по крайней мере вспомнить, что она создавалась.
Спасла Атанасова от забвения довольно нелепая история. В июне 1941 года его посетил один из тех людей, которые вместо того, чтобы трудиться в одиночестве, любили ездить по разным местам, подхватывать идеи и работать в команде. Поездка Джона Мокли в Айову позже станет предметом дорогостоящих судебных процессов, горьких обвинений и противоположных интерпретаций. Но она и спасла Атанасова от безвестности и подтолкнула ход развития компьютерной техники вперед.
Джон Мокли
В начале ХХ века в Соединенных Штатах образовался, как ранее в Британии, класс ученых-джентльменов, которые собирались в специальных клубах ученых, отделанных деревянными панелями, и в других изысканных помещениях, где они обменивались идеями, слушали лекции, а также сотрудничали в различных проектах. Джон Мокли вырос в этой атмосфере. Его отец, физик, был начальником Отдела геомагнетизма в вашингтонском Институте науки Карнеги, самом главном учреждении страны по содействию продвижению и обмену результатами научных исследований. В этом отделе отслеживали электрические процессы в атмосфере. Отец Мокли координировал работу исследователей по всему миру – от Гренландии до Перу37.
На Джона, выросшего в пригороде Вашингтона Чеви-Чейзе, научное сообщество оказало сильное влияние. “В Чеви-Чейзе, казалось, жили практически все ученые Вашингтона, – говорил он с гордостью, – директор Отдела мер и весов Национального бюро стандартов жил рядом с нами. Поблизости жил и директор Отдела радио”. Глава Смитсоновского института также был их соседом. Джон провел много выходных, делая расчеты для отца с помощью настольного арифмометра, и в результате у него развилась страсть к метеорологии, базирующейся на вводе данных. Он также любил электрические схемы. Они с друзьями проложили в своем районе телефонные провода, соединили свои дома внутренней телефонной сетью и соорудили устройства дистанционного управления для запуска фейерверков на вечеринках. Он вспоминал: “Когда я нажимал на кнопку, фейерверк улетал на 16 метров”. В четырнадцать лет он зарабатывал деньги, помогая жителям своего района устранить неисправность проводки в их домах38.
Будучи студентом университета Джона Хопкинса, Мокли попал в программу для исключительных студентов, которым сразу разрешалось защищать диссертацию в области физики. Он сделал свою работу по линейным спектрам, потому что в них была красота, для них требовались экспериментальные и теоретические навыки. “Нужно было знать определенную теорию, чтобы понять, к чему относились эти спектры, но понять это было нельзя без экспериментальных фотографий этих спектров. Только вот делать их нужно было самим, – говорил он. – Так что мне пришлось долго учиться стеклодувному мастерству, вакуумной технике, методикам нахождения течей в системе и т. д.”39
Мокли был обаятельным человеком, он обладал удивительной способностью (и желанием) разъяснять вопросы, поэтому вполне естественно, что он стал профессором. Такое место в Великую депрессию было трудно получить, но он сумел сделать это и устроился в колледже Урсинус, в часе езды к северо-западу от Филадельфии. “Я был там единственным человеком, обучавшим студентов физике”40.
Мокли всегда был готов делиться идеями, он обладал талантом рассказчика и, когда говорил, широко улыбался – все это сделало его очень популярным преподавателем. “Он любил рассказывать, и, кажется, многие из его идей возникли в результате активного обмена мнениями, – вспоминал его коллега, – Джон любил светские мероприятия, любил вкусно поесть и выпить. Он любил женщин, интересных молодых людей – интеллектуальных и необычных”41. Задавать ему вопрос было опасно, поскольку он мог долго, серьезно и страстно витийствовать почти на любую тему – от театра и литературы до физики.
Перед аудиторией он устраивал представления не хуже шоумена. Для того чтобы объяснить сохранение количества движения, он мог закрутиться, вытянув руки в стороны, а потом прижать их к туловищу, а чтобы описать понятие действия и противодействия, он становился на самодельный скейтборд и наклонялся назад и вперед (однажды, выполняя этот трюк, он упал и сломал руку). Люди иногда приезжали издалека, чтобы услышать его предрождественскую лекцию в конце семестра, которую колледж устраивал в самой большой аудитории, чтобы поместились все желающие. В ней он объяснял, как спектроскопия и другие физические методы могут помочь определить, что находится в пакете, не разворачивая его. По словам его жены, чего только он не делал: “Он измерял его. Он взвешивал его. Он погружал его в воду. Он протыкал его длинной иглой”42.
Вспоминая о своем детском увлечении метеорологией, Мокли в начале 1930-х годов выбрал предметом своих исследований вопрос о том, связаны ли крупномасштабные изменения погодных условий с солнечными вспышками, пятнами и вращением Солнца. Ученые из Института Карнеги и Бюро погоды США передали ему записи ежедневных данных от двухсот станций за двадцать лет, и он приступил к вычислению корреляций. Он сумел по дешевке купить подержанные настольные калькуляторы (все это происходило в годы Великой депрессии) у испытывающих трудности банков и нанять через Национальное управление по делам молодежи группу молодых людей для вычислений, платя им по пятьдесят центов за час43.
Как и другие исследователи, чьи работы требовали утомительных вычислений, Мокли стремился изобрести машину для ускорения расчетов. Со свойственной ему общительностью он приступил к сбору данных о том, что делают другие, и, следуя традициям великих инноваторов, постарался собрать воедино множество идей. В павильоне IBM на Нью-Йоркской всемирной выставке 1939 года он увидел электрический калькулятор, в котором использовались перфокарты, но понял, что их применение было бы слишком медленным, учитывая количество данных, которые нужно обрабатывать. Он также увидел шифровальную машину, которая использовала электронные лампы для кодирования сообщений. Можно ли использовать эти лампы для других логических схем? Он взял своих учеников на экскурсию в Суортмор-колледж, чтобы посмотреть на счетчики, использовавшие схемы, собранные на электронных лампах, для счета вспышек, происходящих при ионизации космическими лучами44. Он также прослушал курс вечерних лекций по электронике и начал экспериментировать со схемами на лампах, спаянными собственноручно, чтобы увидеть, как еще их можно использовать.
В сентябре 1940 года на конференции в Дартмутском колледже Мокли увидел калькулятор комплексных чисел Джорджа Роберта Стибица, разработанный в Bell Labs. Демонстрировали его необычным образом: компьютер Стибица находился в здании Bell Labs, расположенном в Нижнем Манхэттене, а результаты передавались в колледж по телетайпной линии. Это был первый компьютер, предназначенный для удаленного использования. В течение трех часов он решал задачи, поставленные аудиторией, тратя около минуты на каждую. Среди присутствовавших на демонстрации был Норберт Винер – основатель кибернетики, который попытался поставить в тупик машину Стибица, попросив ее поделить число на ноль. Машина не попалась в ловушку. Там также присутствовал Джон фон Нейман – венгерский эрудит, который вскоре вместе с Мокли станет играть одну из главных ролей в дальнейшем развитии компьютеров45.
Когда Мокли решил построить собственной компьютер на лампах, он сделал правильный шаг, с которого должны были бы начинать все хорошие инноваторы: собрал воедино всю информацию, почерпнутую во время своих путешествий. Поскольку колледж Урсинус не получал денег на научно-исследовательскую деятельность и Мокли платил за лампы из своего кармана, он попытался выклянчить их у производителей. Он написал в Supreme Instruments Corp. и попросил передать ему некоторые компоненты, заявив: “Я собираюсь собрать электрическую счетную машину”46. Во время визита в Американскую корпорацию радио он обнаружил, что неоновые лампы также можно использовать как переключатели. Они были медленнее, но дешевле электронных ламп, и он купил их про запас по восемь центов за штуку. “До ноября 1940 года, – позже сказала его жена, – Мокли протестировал некоторые компоненты своего будущего компьютера и убедился, что построить дешевое и надежное цифровое устройство с использованием только электронных элементов реально”. Она утверждала, что это произошло прежде, чем он даже услышал об Атанасове47.
В конце 1940 года он признался друзьям, что надеется собрать воедино всю имеющуюся информацию, чтобы сделать цифровую электронную вычислительную машину. “Мы сейчас рассматриваем конструкцию электрической вычислительной машины, – написал он в том ноябре метеорологу, с которым работал. – Машина, в которой будут использоваться ламповые реле, будет выполнять операции примерно в течение 1/200 секунды”48. Несмотря на то, что он был общительным и получал информацию от многих людей, ему очень хотелось прослыть первым человеком, сконструировавшим новый тип компьютера. В декабре он написал своему бывшему студенту: “Сообщаю вам конфиденциально, что через год или около того, как только смогу получить компоненты и собрать их вместе, я, вероятно, смогу закончить строительство электронной вычислительной машины… Держите это в тайне, так как в этом году для осуществления этого плана у меня нет оборудования, а я хотел бы быть первым”49.
В том же декабре 1940 года Мокли довелось познакомиться с Атанасовым, что положило начало серии событий, за которыми последовали годы споров по поводу склонности Мокли собирать информацию из различных источников и его желания “быть первым”. Однажды Атанасов, посетив семинар в университете Пенсильвании, заскочил на заседание, на котором Мокли рассказывал о своих планах по созданию машины для анализа данных о погоде. После окончания доклада Атанасов подошел к нему и рассказал, что конструирует электронный калькулятор в университете Айовы. Мокли записал на своей программке конференции, что Атанасов утверждал, что изобрел машину, которая могла обрабатывать и хранить данные при стоимости только 2 доллара за разряд. (Машина Атанасова могла бы обрабатывать и хранить три тысячи двоичных разрядов одновременно и стоила около 6 тысяч долларов.) Мокли был поражен. Он подсчитал, что стоимость компьютера на электронных лампах должна составлять почти 13 долларов на разряд, и сказал, что хотел бы увидеть, откуда берется такая цена. И Атанасов пригласил его приехать в Айову.
На протяжении первой половины 1941 года Мокли переписывался с Атанасовым и продолжал восхищаться низкой заявленной стоимостью его машины. “Стоимость менее чем 2 доллара за разряд звучит почти нереально, и все же, как я понял, вы на этом настаиваете, – написал он. – Ваше предложение посетить Айову показалось сначала довольно фантастическим, но идея начинает казаться мне заманчивой”. Атанасов убеждал его принять приглашение: “В качестве вознаграждения я расскажу, как удалось собрать машину стоимостью 2 доллара за разряд”50.
Визит Мокли к Атанасову
Судьбоносный визит состоялся в июне 1941 года и длился четыре дня51. Мокли прибыл поздно вечером в пятницу 13 июня из Вашингтона и привез с собой шестилетнего сына – Джимми, что очень удивило жену Атанасова Луру, которая еще не успела приготовить комнату для гостей. Позже она вспоминала: “Мне пришлось побегать, залезть на чердак, искать дополнительные подушки и все остальное”52. Она также приготовила им ужин, так как Мокли приехали голодными. У Атанасовых было трое собственных детей, но Мокли, похоже, считал, что во время его визита Лура будет заботиться о Джимми, что она и делала, хотя и неохотно. Она невзлюбила Мокли. По какому-то поводу она сказала мужу: “Мне он не кажется честным человеком”53.
Атанасов был готов показать свою частично собранную машину даже несмотря на предупреждение жены, что он слишком доверчив: “Ты должен проявлять осторожность, ведь машина еще не запатентована”. Тем не менее на следующее утро Атанасов повел Мокли, а заодно и Луру с детьми в подвал физического факультета, гордо откинул покрывало и показал то, что они с Берри сооружали.
Мокли был впечатлен несколькими вещами. Идея использования конденсаторов в блоке памяти была гениальной и экономичной, так же как и метод Атанасова пополнять их заряд примерно раз в секунду, поместив их на вращающийся цилиндр. У Мокли возникала идея использовать конденсаторы вместо более дорогих электронных ламп, и он оценил, насколько метод Атанасова “встряхивания их памяти” сделал машину работоспособной. Это объясняло, почему стоимость машины могла быть понижена до 2 долларов за разряд. Прочитав описание деталей машины Атанасова, Мокли сделал ряд заметок и спросил, может ли он взять один экземпляр домой. Атанасов отказал ему и потому, что у него не было больше экземпляров (ксероксы еще не были изобретены), и потому, что его беспокоило то, что Мокли и так получил слишком много информации54.
Но в целом Мокли не особенно проникся тем, что увидел в городе Эймсе, или, по крайней мере, он настаивал на этом, рассказывая позже об этой поездке. Самым большим недостатком машины Атанасова было то, что она не была полностью электронной, в ней имелись механические барабаны конденсаторов, служащие блоками памяти. Это делало ее недорогой, но очень медленной. “Я думал, что его машина гораздо хитроумнее, но так как она оказалась частично механической, в том числе в ней использовались вращающиеся коммутирующие переключатели, она никоим образом не была похожа на то, что я имел в виду, – вспоминал Мокли. – Я больше не интересовался подробностями”. Позже в своих показаниях на суде по поводу правомочности его патентов Мокли сказал, что полумеханический характер машины Атанасова вызвал у него “довольно сильное разочарование” и он перестал им интересоваться как “механическим устройством, которое в своей работе использует некоторое количество электронных ламп.
Вверху слева: Говард Айкен (1900–1973) в Гарварде, 1945 г.
Вверу справа: Джон Мокли (1907–1980), 1945 г.
Слева: Дж. Преспер Эккерт (1919–1995), ок. 1945 г.
Внизу: Эккерт (касается машины), Мокли (прислонился к колонне), Джин Дженнингс (на заднем плане) и Герман Голдстайн (рядом с Дженнингс) около машины ENIAC, 1946 г
Вторым его разочарованием, как утверждал Мокли, было то, что машина Атанасова была предназначена для решения одной-единственной задачи и не могла быть перепрограммирована или модифицирована для выполнения других задач: “У него не было в планах ничего, что могло бы сделать машину более универсальной и позволило бы ей решать какие-либо другие задачи, кроме решения системы линейных уравнений”56.
Так Мокли покинул Айову, не найдя там важных идей для конструирования своего компьютера, но привез горстку мыслей, которые добавил в ту корзину идей, которые он сознательно и полусознательно собирал во время поездок по конференциям, колледжам и выставкам. “Я приехал в Айову почти с той же целью, что и на Всемирную выставку и в другие места, – говорил он в своих свидетельских показаниях, – [посмотреть], было ли там то, что могло бы облегчить вычисления”57.
Как и большинство людей, Мокли черпал информацию и идеи из опыта других людей, бесед с ними и наблюдений – в его случае в Суортморе, Дартмуте, в Bell Labs, RCA, на Всемирной выставке, в Университете Айовы и в других местах. И присоединял их к идеям, которые считал своими собственными. “Новая идея приходит внезапно и скорее интуитивным путем, – однажды сказал Эйнштейн, – но интуиция есть не что иное, как результат накопленного интеллектуального опыта”. Когда люди извлекают ценную информацию и идеи из различных источников и собирают все это вместе, для них естественно думать, что результирующие идеи придуманы ими самостоятельно, и в действительности это так и есть. Все идеи рождаются именно так. Мокли считал, что его интуиция и мысли о том, как построить компьютер, были его собственными, а не украденными у других. И несмотря на более поздние юридические вердикты, он был в основном прав, насколько каждый может быть прав, утверждая, что его идеи являются его собственными. Именно так развивается творческий процесс, хотя, возможно, патентное законодательство говорит об ином.
В отличие от Атанасова Мокли мог и любил работать в команде, состоящей из разных талантливых людей. В результате Мокли и его команда вошли в историю как изобретатели первого электронного компьютера общего назначения.
Когда Мокли готовился покинуть Айову, он получил хорошие новости. Он был приглашен в Университет Пенсильвании пройти курс электроники – множество таких курсов, финансируемых в приоритетном порядке военным министерством США, было организовано по всей стране. Это был шанс узнать больше об использовании электронных ламп в электронных схемах, которые, как он теперь был убежден, лучше всего подходили для создания компьютеров. Это иллюстрирует важную роль военного ведомства в эпоху цифровых технологий, всячески стимулировавшего инновации.
Во время этого десятинедельного курса летом 1941 года Мокли получил возможность работать с одной из версий дифференциального анализатора, принадлежащего МТИ, – аналоговым компьютером, разработанным Вэниваром Бушем. Это не только усилило его желание создать свой собственный компьютер, он понял, что ресурсов для его изготовления в таком месте, как Университет Пенсильвании, было намного больше, чем в Урсинус-колледже. Так что когда в конце лета ему было предложено место преподавателя этого университета, он с благодарностью согласился.
Мокли написал о новостях Атанасову. В письме содержались намеки на план действий, который расстроил профессора из Айовы. “Мне недавно пришло в голову несколько разных идей относительно компьютерных схем – некоторые из них являются более или менее гибридными, сочетающими ваши методы с другими, а некоторые из них не имеют ничего общего с вашей машиной, – написал Мокли вполне правдиво. – Вопрос, на мой взгляд, заключается в следующем: есть ли возражения с вашей стороны против строительства мной некоего компьютера, который включает в себя некоторые идеи вашей машины?”58 По этому письму, последовавшим разъяснениям и показаниям в будущем судебном процессе трудно понять, был ли невинный тон Мокли искренним или притворным.
В любом случае письмо расстроило Атанасова, которому до тех пор не удалось заставить университетского юриста подать какую-либо патентную заявку. Через несколько дней он ответил Мокли довольно резко: “Наш юрист подчеркнул необходимость быть осторожным в распространении информации о нашем устройстве, пока заявка на патент не подана. Это не потребует слишком много времени, и, конечно же, у меня нет сожалений по поводу того, что я рассказал вам о нашем устройстве, но нужно, чтобы на данный момент мы воздержались от обнародования каких-либо подробностей”59. Поразительно, но этот обмен письмами еще не заставил ни Атанасова, ни патентного адвоката поспешить с подачей патентной заявки.
В течение той осени 1941 года Мокли доделывал свою версию компьютера, в котором, как он правильно считал, содержались идеи, почерпнутые во множестве разных источников, и который очень отличался от того, что построил Атанасов. Летом, когда он проходил курс по электронике, Мокли встретил замечательного партнера, который подключился к его работе. Это был аспирант, перфекционист, страстно любивший точные технологии, который знал так много об электронике, что был консультантом Мокли на лабораторных занятиях, хотя и был на двенадцать лет его младше (тогда ему было двадцать два) и еще не имел докторской степени.
Дж. Преспер Эккерт
Джон Адам Преспер Эккерт-младший, который в формальной обстановке назывался Дж. Преспером Эккертом, а в неформальной – Пресом, был единственным ребенком в семье миллионера, занимавшегося недвижимостью в Филадельфии60. Один из его прапрадедов Томас Миллс изобрел машину, которая изготавливала знаменитые ириски salt water taffy в Атлантик-Сити, и, что важно, создал фирму, которая производила и продавала их. Эккерт ходил в частную школу имени Уильяма Пенна, основанную в 1689 году. Его школьные успехи объяснялись не положением его семьи, а его собственными талантами. В двенадцать лет он стал победителем общегородской научной выставки-ярмарки, собрав систему наведения для моделей лодок, состоящую из магнитов и реостатов, а в четырнадцать лет разработал оригинальный способ замены капризных аккумуляторов, которые применялись в системе внутренней телефонной связи в одном из зданий отца, на устройства, работающие от обычной электрической сети61.
В старших классах школы Эккерт поражал одноклассников своими изобретениями и даже зарабатывал, собирая радиоприемники, усилители и аудиосистемы. Филадельфия, город Бенджамина Франклина, была тогда крупным центром электроники, и Эккерт проводил время в исследовательской лаборатории Фило Фарнсуорта – одного из изобретателей телевидения. Хотя он был принят в Массачусетский технологический институт и собирался там учиться, родители не захотели его отпустить. Они сделали вид, что понесли финансовые убытки из-за депрессии, надавили на него и уговорили учиться в Пенсильвании и жить дома. Они хотели, чтобы он изучал бизнес, однако он взбунтовался и поступил в университетскую электротехническую школу Мура, поскольку электротехника его интересовала больше.
Публичный триумф Эккерта в Пенсильвании состоялся, когда он сделал устройство, названное им Osculometer – измеритель страстности поцелуя (от латинского слова osculum – поцелуй), который должен был показывать уровень страсти и романтичной заряженности поцелуя. Пара бралась за ручки устройства и начинала целоваться, их губы входили в контакт и замыкали электрическую цепь, в результате чего зажигалось несколько ламп. Нужно было поцеловаться достаточно страстно, чтобы засветились все десять ламп, и тогда начинала выть сирена. Смышленые участники догадались, что влажные губы и потные ладони уменьшают сопротивление в цепи62. Эккерт также изобрел устройство, которое использовало метод световой модуляции для записи звука на кинопленку, и это устройство он успешно запатентовал, когда ему исполнился двадцать один год, а он был все еще студентом старшего курса63.
У Преса Эккерта были свои причуды. В нем бурлила энергия, когда он думал, то расхаживал туда-сюда, кружился по комнате, грыз ногти, а иногда даже влезал на стол. Он носил цепочку от часов, на которой не было часов и которую он вертел в руках, как четки. У него был вспыльчивый характер, но вспышки гнева растворялись в море его обаяния. Перфекционизм он унаследовал от отца, который ходил по строительным площадкам, нося с собой большой набор цветных мелков, и набрасывал ими закорючки-инструкции, причем каждый цвет обозначал определенного работника, ответственного за данное дело. “Он был своего рода перфекционистом и проверял, все ли сделано правильно, – рассказывал его сын. – Но на самом деле он был страшно обаятельным. Чаще всего его задания выполняли люди, которым хотелось их выполнять”. Инженер до мозга костей, Эккерт чувствовал, что такие люди, как он сам, были необходимы таким физикам, как Мокли. “Физик – это тот, кто занят поиском истины, – сказал он позднее, – а инженер – это тот, кто озабочен тем, чтобы было сделано дело”64.
ENIAC
Война стимулирует развитие науки. На протяжении веков, и когда древние греки построили катапульту, и когда Леонардо да Винчи служил военным инженером у Чезаре Борджиа, военные задачи способствовали развитию технологий, и это особенно ярко проявилось в середине ХХ века. Многие из главных технологических прорывов этого периода – компьютеры, высвобожденная атомная энергия, радиолокация и интернет – возникли вследствие решения военных задач.
США вступили во Вторую мировую войну в декабре 1941 года, что послужило толчком для принятия решения о финансировании машины, сконструированной Мокли и Эккертом. Университету Пенсильвании и Абердинскому военному испытательному полигону было поручено составить справочник по выставлению углов при стрельбах из артиллерийских пушек, поставляемых в Европу. Для того чтобы прицельно стрелять из пушки, требовались баллистические таблицы, в которых были бы учтены сотни условий, в том числе температура, влажность, скорость ветра, высота и сорт пороха.
Создание таблицы только для одного вида артиллерийских зарядов, выпускаемых из одной пушки, потребовало бы вычисления трех тысяч траекторий с помощью системы дифференциальных уравнений. Эти вычисления часто проводились с помощью одного из дифференциальных анализаторов, сконструированных в Массачусетском технологическом институте Вэниваром Бушем. Расчеты на анализаторе требовали дополнительных расчетов вручную, чем и занимались более 170 человек, большинство из которых были женщинами. Их называли “расчетчиками”, и они сражались с уравнениями, стуча по клавишам и крутя ручки настольных арифмометров. Лучших женщин-математиков собирали по всей стране. Но несмотря на все эти усилия, потребовалось более месяца, чтобы составить только одну таблицу траекторий стрельб. К лету 1942 года стало ясно, что с каждой неделей составление таблиц все больше отстает и это обесценивает некоторые виды поставляемой США артиллерийской техники.
В августе Мокли предложил способ помочь армии решить эту проблему, увеличив скорость расчетов. В своей докладной записке, названной “Использование высокоскоростных ламповых устройств для расчетов”, он просил профинансировать создание машины, которую они с Эккертом спроектировали: цифровой электронной вычислительной машины, использующей схемы на электронных лампах, которая могла бы решать дифференциальные уравнения и выполнять другие математические задачи. Он писал: “Если использовать устройства, в которых применяются электронные компоненты, можно получить огромный выигрыш в скорости расчета”. Он даже подсчитал, что траектория снаряда могла бы быть рассчитана за “100 секунд”65.
Докладная записка Мокли была проигнорирована деканами Пенна, но ее довели до сведения офицера, прикомандированного к университету, – лейтенанта (вскоре ставшего капитаном) Германа Голдстайна, двадцатидевятилетнего профессора математики из Университета Мичигана. Его задача состояла в том, чтобы ускорить составление баллистических таблиц, и в какой-то момент он отправил свою жену Адель, также математика, в поездку через всю страну, чтобы набрать больше женщин в батальоны “расчетчиков” Пенна. Записка Мокли убедила его, что для этого есть лучший способ.
Решение военного министерства США профинансировать строительство электронного компьютера состоялось 9 апреля 1943 года. Накануне Мокли и Эккерт не спали всю ночь, работая над своим предложением, но так и не закончили его к тому моменту, когда нужно было садиться в автомобиль, который должен был за два часа доставить их из Пенна на полигон в Абердине (штат Мэриленд), где собрались чиновники отдела вооружений. Поскольку за рулем был лейтенант Голдстайн, они сидели на заднем сиденье и писали недописанные разделы, и они продолжили работать в маленькой комнате, даже когда прибыли в Абердин, а Голдстайн в это время пошел на совещание. Оно прошло под председательством Освальда Веблена, президента Института перспективных исследований в Принстоне, который консультировал военных по математическим проектам. Там присутствовал и полковник Лесли Саймон, директор баллистической научно-исследовательской лаборатории. Голдстайн вспоминал, как это происходило: “Веблен, послушав некоторое время мое выступление и качаясь на задних ножках своего стула, с грохотом опустил его, встал и сказал: «Саймон, дай Голдстайну деньги». С этими словами он вышел из комнаты, и встреча закончилась на этой радостной ноте”66.
Мокли и Эккерт включили свою докладную записку в статью, которую они озаглавили “Отчет об электронном дифф. анализаторе”. Использование сокращения “дифф.” (diff.) имело двойной смысл – оно обозначало и разности (differences), которые отражали цифровой характер предлагаемой машины, и дифференциальные (differential) уравнения, которые предполагалось решать. Вскоре ей было дано более запоминающееся имя: ENIAC, что в переводе означает “электронный цифровой интегратор и компьютер”. Несмотря на то, что ENIAC был разработан в первую очередь для решения дифференциальных уравнений, которые являются ключевыми в расчетах траекторий снарядов, Мокли написал в статье, что он может быть дополнен “программатором” и это позволит ему решать другие задачи, что сделает его компьютером более общего назначения67.
Строительство ENIAC началось в июне 1943 года. Мокли, который продолжал вести преподавательскую работу, работал в качестве консультанта и стратега. Голдстайн, как представитель военных, руководил производственным процессом и бюджетом. А Эккерт, с его страстью к деталям и перфекционизму, был главным инженером. Эккерт настолько погрузился в проект, что иногда оставался спать рядом с машиной. Однажды два инженера в шутку осторожно перенесли его раскладушку в такую же комнату этажом выше, и когда он проснулся, то на какое-то мгновение испугался, что машину украли68.
Зная, что и величайшие идеи мало чего стоят без точного воплощения (урок, который усвоил Атанасов), Эккерт взял на себя каждодневное управление процессом сборки. Он носился между инженерами и указывал им, где припаять соединение или закрутить проволоку. Сам он рассказывал: “Я контролировал работу каждого инженера и проверял расчет каждого резистора в машине, чтобы убедиться, что все сделано правильно”. Он презирал тех, кто отмахивался от скучных дел. “Жизнь состоит из целого набора мелочей, – сказал он однажды. – Безусловно, компьютер есть не что иное, как огромный набор тривиальных вещей”69.
Эккерт и Мокли дополняли друг друга, и подобные дуэты, которые обеспечивали два центра управления, были характерны для цифровой эры. Эккерт допекал исполнителей своим педантизмом, Мокли же, как правило, успокаивал их, давал им почувствовать свою ценность. “Он всегда шутил с людьми, – вспоминал Эккерт, – он умел обаять”. Эккерт, чьи технические таланты сочетались с нервозностью и неожиданными приступами рассеянности, очень нуждался в интеллектуальном собеседнике, и Мокли нравилась эта роль. Хотя Мокли и не был инженером, он умел так увязать научные теории с инженерными практическими вопросами, что это вдохновляло Эккерта. Позже он признался: “Мы сделали это вместе, и я не думаю, что кто-то из нас сделал бы это в одиночку”70.
ENIAC был цифровой машиной, но вместо двоичной системы, которая использовала только 0 и 1, ее счетчики были рассчитаны на десятичную систему. В этом смысле она была не похожа на современный компьютер. Но в остальном она была более продвинутой, чем машины, построенные Атанасовым, Цузе, Айкеном и Стибицем. В ней была заложена возможность так называемого условного ветвления (описанного Адой Лавлейс веком ранее), то есть возможности переходов в программе, зависящих от промежуточных результатов, и она могла повторять блоки команд (подпрограммы), что позволяло выполнять общие задачи. Эккерт объяснял: “У нас была возможность включать в программы подпрограммы и подпрограммы подпрограмм”. Он вспоминал, что, когда Мокли предложил заложить эту функцию в машину, он “сразу понял, что это идея, которая станет ключевой для всей конструкции”71.
Через год после начала строительства, примерно во время операции D-Day[13] – в июне 1944 года, Мокли и Эккерт уже смогли проверить первые два компонента, составляющие примерно одну шестую часть всего запланированного в машине. Они начали с простой задачи умножения, и когда машина выдала правильный ответ, они восторженно закричали. Но для того чтобы привести ENIAC полностью в рабочее состояние, потребовалось больше года – они закончили в ноябре 1945 года. К этому моменту машина была в состоянии выполнять пять тысяч сложений и вычитаний в секунду, то есть в сто с лишним раз быстрее, чем любая предыдущая машина. Машина была примерно 30 метров в длину и около 2,5 метра в высоту, она весила около тридцати тонн и включала в себя 17 468 электронных ламп. Для сравнения: компьютер Атанасова – Берри, в то время томившийся в подвале Университета Айовы, был размером с письменный стол, в нем было только триста ламп, и он мог выполнять только тридцать сложений или вычитаний в секунду.
Блетчли-Парк
В конце 1943 года другой электронный компьютер, использующий электронные лампы, собирали в условиях строгой секретности в подвале викторианской усадьбы из красного кирпича, расположенной в городе Блетчли. Но в то время немногие посторонние знали об этом и не будут знать еще в течение более трех десятилетий. Блетчли – городок примерно в девяноста километрах к северо-западу от Лондона, и там англичане собрали команду гениальных теоретиков и инженеров для того, чтобы взломать немецкие коды, используемые теми во время войны. Компьютер, названный Colossus, был первым полностью электронным, частично программируемым компьютером. Поскольку машина была предназначена для решения определенной задачи, она не была машиной общего назначения, но в его конструкции проявилось влияние Алана Тьюринга.
Тьюринг начал интересоваться кодами и криптологией осенью 1936 года, когда сразу после написания статьи “О вычислимых числах” прибыл в Принстон. Он объяснил свой интерес к криптологии в письме к матери в октябре того же года:
Я только что обнаружил возможное применение тех идей, над которыми я работаю в настоящее время. Они отвечают на вопрос: “Каков наиболее общий возможный вид кода или шифра” и в то же время (что довольно естественно) позволяют мне построить много специфических и интересных кодов. Один из них почти невозможно раскодировать без ключа, и им очень быстро кодировать. Я думаю, я мог бы продать их правительству его величества за довольно внушительную сумму, но сомневаюсь, что это этично. Что ты думаешь по этому поводу?72
В следующем году, поскольку Тьюринга тревожила угроза войны с Германией, он стал больше интересоваться криптографией и меньше – попытками заработать на ней деньги. В конце 1937 года, работая в механической мастерской физического факультета Принстонского университета, он сконструировал первые элементы кодирующей машины, в которой буквы превращались в двоичные числа, а затем это закодированное числовое сообщение умножалось с помощью электромеханических реле в качестве переключателей на огромное секретное число. В результате сообщение было практически невозможно расшифровать.
Одним из наставников Тьюринга в Принстоне был Джон фон Нейман – блестящий физик и математик, бежавший из родной Венгрии и работавший в Институте перспективных исследований, в то время располагавшемся в здании математического факультета Принстонского университета. Весной 1938 года, когда Тьюринг закончил докторскую диссертацию, фон Нейман предложил ему место своего ассистента. Над Европой в это время сгущались тучи приближающейся войны, так что предложение было заманчивым, но Тьюринг чувствовал, что остаться было бы непатриотично. Он решил вернуться к своей работе в качестве стипендиата в Кембридже, а вскоре после приезда присоединился к группе британских инженеров и ученых, работавших над взломом немецких военных кодов.
Школа кодирования и шифрования была в то время расположена в Лондоне, и там работали в основном гуманитарии, такие как Дилливан Нокс – “Дилли”, профессор классической литературы из Кембриджа, и Оливер Стрэчи – дилетант, светский лев, периодически музицировавший на фортепиано и писавший об Индии. До осени 1938 года, когда Тьюринг присоединился к команде, среди восьмидесяти сотрудников не было математиков. Но следующим летом, когда Великобритания начала готовиться к войне, в отдел стали активно набирать математиков. В какой-то момент для отбора претендентов даже проводился конкурс, включавший решение кроссворда из Daily Telegraph. Отдел тогда переехал в унылый городок Блетчли, главным преимуществом которого было то, что он находился на пересечении железной дороги, связывающей Оксфорд с Кембриджем, и дороги из Лондона в Бирмингем. Команда из Британской службы внешней разведки (МИ-6), выдавая себя за “Стрелковый клуб капитана Ридли[14]”, посетила усадьбу Блетчли-Парк – чудище, построенное в стиле викторианской готики, которое его владелец давно хотел снести, и незаметно купила его. Взломщики кодов помещались в коттеджах, конюшнях и нескольких сборных домиках-хижинах, возведенных в прилегающем к дому парке73.
Тьюринг был приписан к команде, работающей в хижине № 8 и пытавшейся разгадать немецкий код Enigma (“Загадка”), который генерировался с помощью одноименной портативной машины, включавшей механические роторы и электрические цепи[15]. Она кодировала секретные сообщения с помощью шифра, который после каждого удара по клавише изменял правило для замены буквы. Процесс дешифровки был таким сложным, что англичане в какой-то момент отчаялись когда-либо сделать это. Прорыв произошел, когда польские офицеры разведки создали машину на основе трофейной немецкой шифровальной машины, с помощью которой удалось взломать некоторые коды “Энигмы”[16]. Однако к тому времени, когда поляки показали британцам свою машину, она была уже более-менее бесполезной, поскольку к своей машине немцы добавили еще два ротора и подсоединили еще две коммутационные панели.
Тьюринг и его команда начали работать над созданием более сложной машины, получившей название “Бомба”, которая могла бы расшифровать сообщения с обновленной “Энигмы”, в частности приказы по военно-морскому флоту, позволяющие следить за перегруппировкой подводных лодок, истреблявших британские конвои. “Бомба” использовала разнообразные слабые места в кодировании, в том числе то, что никакие буквы не могли быть зашифрованы по отдельности, и то, что некоторые фразы немцы в своих сообщениях неоднократно повторяли. К августу 1940 года команда Тьюринга имела две работающие “Бомбы”, которые смогли расшифровать 178 закодированных сообщений; к концу войны их было построено около двухсот машин.
“Бомба”, сконструированная Тьюрингом, не стала крупным шагом вперед в развитии компьютерной технологии. Это было электромеханическое устройство с реле в качестве переключателей и роторами, а не электронное устройство на лампах и электронных схемах. Но следующая машина, сконструированная в Блетчли-Парке, – Colossus стала такой важной вехой.
Необходимость в Colossus возникла тогда, когда немцы начали кодировать важные сообщения, например приказы Гитлера и его верховного командования, с помощью электронной цифровой машины, которая использовала двоичную систему и двенадцать кодирующих дисков (роторов) неодинакового размера. Электромеханические “Бомбы”, разработанные Тьюрингом, были бессильны расшифровать такие сообщения. Для них требовались устройства, использующие молниеносно работающие электронные схемы.
Ответственная за эту проблему команда расположилась в хижине її, она называлась “Ньюманри” в честь ее руководителя – Макса Ньюмана, преподавателя математики, который почти за десять лет до того познакомил Тьюринга с проблемами Гильберта. Техническим руководителем работ был назначен партнер Ньюмана, ас в электронике и специалист по электронным лампам Томми Флауэрс, который до того работал на исследовательской станции почтамта в Доллис-Хилл, пригороде Лондона.
Тьюринг не был частью команды Ньюмана, но придумал статистический подход, получивший название “Тьюрингери”, с помощью которого обнаруживались любые отклонения от равномерного распределения символов в потоке зашифрованного текста. В результате была построена машина, которая с помощью фотоэлектрических головок могла сканировать два рулона перфорированной бумажной ленты и сравнивать все возможные изменения в двух последовательностях. Машина получила название “Хит Робинсон” в честь британского художника-карикатуриста, который, как и Руби Голдберг в Америке, любил изображать сложные, но бессмысленные механические устройства.
В течение почти десятилетия Флауэрс был увлечен конструированием электронных схем на лампах, которые он и другие британцы называли valves (“вентили”). В 1934 году, когда он работал инженером телефонного подразделения почтамта, Флауэрс создал экспериментальную систему, в которой использовалось больше трех тысяч ламп для контроля соединений тысячи телефонных линий. Он первым предложил использовать электронные лампы для хранения данных. Тьюринг предложил пригласить Флауэрса для помощи в изготовлении “Бомб”, а затем представил его Ньюману.
Флауэрс понял, что единственный способ достаточно быстро дешифровать закодированные сообщения немцев – попытаться сохранить по крайней мере одно из них во внутренней электронной памяти машины, а не сравнивать два рулона перфорированной бумажной ленты. Такая память потребовала бы использования 1500 электронных ламп. Сначала руководители из Блетчли-парка были настроены скептически, но Флауэрс настоял на своем, и в декабре 1943 года, всего через одиннадцать месяцев, он закончил первый вариант Colossus. А к 1 июня 1944 года была готова еще более громоздкая версия, использующая 2400 электронных ламп. В первом декодированном перехваченном сообщении говорилось, что Гитлер не посылает дополнительные войска в Нормандию, и оно подтвердило информацию из других источников, уже поступившую к генералу Дуайту Эйзенхауэру, готовому вот-вот начать вторжение в Нормандию. В течение года было произведено еще восемь Colossus.
Это означало, что задолго до ENIAC, который так и не заработал до ноября 1945 года, британские взломщики кодов построили полностью электронный и цифровой (в действительности двоичный) компьютер. Вторая версия, построенная в июне 1944 года, была способна даже производить некоторое условное ветвление. Но в отличие от ENIAC, который включал в себя в десять раз больше ламп, Colossus был специализированной машиной, предназначенной для взлома кодов, а не компьютером общего назначения. Из-за ограниченной программируемости он не мог решать все вычислительные задачи, которые мог (в теории) ENIAC.
Так кто же изобрел компьютер?
В вопросе о том, кому отдать пальму первенства в создании компьютера, полезно начать с определения сущности компьютера. В самом общем виде под определение компьютера могут попасть всевозможные устройства – от арифмометра до айфона. Но при составлении хроники цифровой революции имеет смысл следовать принятым современным определениям компьютера. Вот некоторые из них:
“Программируемое, обычно электронное устройство, которое может хранить, извлекать и обрабатывать данные” (словарь Merriam-Webster).
“Электронное устройство, которое может получать информацию (данные) в определенной форме и выполнять последовательность операций в соответствии с предварительно заданным, но изменяемым набором процедурных инструкций (программой) для получения результата” (Оксфордский английский словарь).
“Устройство общего назначения, которое может быть запрограммировано для автоматического выполнения набора арифметических или логических операций” (“Википедия”, 2014).
Таким образом, идеальный компьютер – это машина, которая является электронным и программируемым устройством общего назначения. Какой же компьютер правильнее считать первым?
Модель K Джорджа Роберта Стибица, которую тот начал строить на своем кухонном столе в ноябре 1937 года, в январе 1940 года в Bell Labs трансформировалась в полнофункциональную модель и стала двоичным компьютером и первым устройством с удаленным доступом. Но в ней использовались электромеханические реле, и, таким образом, она не была полностью электронной. Она не была также ни программируемой, ни универсальной, а предназначалась для решения определенной задачи.
Строительство машины Z3 Германа Цузе было завершено в мае 1941 года, и она стала первым автоматически контролируемым, программируемым электрическим двоичным устройством. Она была разработана для решения инженерных проблем, а не для решения общих задач. Тем не менее позже было показано, что теоретически ее можно было бы использовать в качестве тьюринг-полной машины. Ее главное отличие от современных компьютеров состояло в том, что она была электромеханической, а не электронной. Скорость ее работы определялась медленно срабатывающими переключателями – щелкающими реле. Другим недостатком являлось то, что она никогда не пошла в серию, поскольку была разрушена в результате бомбардировок союзниками Берлина в 1943 году.
Создание компьютера, сконструированного Джоном Винсентом Атанасовым, было остановлено в тот момент, когда Атанасов перестал им заниматься, уйдя служить в ВМФ в сентябре 1942 года, и его компьютер так и не стал полноценно работающим. Он был первым электронным цифровым компьютером в мире, но все-таки не полностью электронным. В его устройствах сложения и вычитания действительно использовались электронные лампы, но блоки памяти и извлечения данных содержали механические вращающиеся барабаны. Другим его основным недостатком, не позволяющим считать его первым современным компьютером, было то, что он не был ни программируемым, ни универсальным, а, напротив, был жестко ориентирован на специальную задачу решения линейных уравнений. Кроме того, Атанасов никогда не смог заставить его работать полноценно, и он был похоронен в подвале Университета Айовы.
Colossus I, завершенный в декабре 1943 года Максом Ньюманом и Томми Флауэрсом (с участием Алана Тьюринга) в Блетчли-Парке, был первым цифровым полностью электронным компьютером, который был и программируемым, и работающим. Он не был, однако, компьютером общего назначения или тьюринг-полной машиной, поскольку предназначался для решения определенной задачи – взлома военных кодов Германии.
Компьютер Mark I Говарда Айкена, построенный с участием IBM и введенный в эксплуатацию в мае 1944 года, был, как мы увидим в следующей главе, программируемым, но это было электромеханическое, а не электронное устройство.
ENIAC, построенный Преспером Эккертом и Джоном Мокли в ноябре 1945 года, был первой машиной, включающей в себя полный набор черт современного компьютера. Он был полностью электронным, сверхбыстрым, и его можно было программировать с помощью подключения и отключения соответствующих кабелей, соединяющих различные его блоки. Он мог менять ветвь программы в зависимости от промежуточных результатов и считался компьютером общего назначения, тьюринг-полной машиной, то есть теоретически мог решать любую задачу. Самое главное его достоинство – в том, что он работал. “Важная черта изобретения, – позже сказал Эккерт, сравнивая их машину с машиной Атанасова, – когда вся ваша система работает как целое”74. Мокли и Эккерт сами проделали на своей машине некоторые очень сложные вычисления, и в течение последующих десяти лет она постоянно использовалась. Она стала прототипом для большинства последующих компьютеров.
Этот последний фактор имеет важное значение при определении того, кто должен стать наиболее известным в истории. Когда мы отдаем пальму первенства, мы смотрим в том числе на то, чей вклад оказал наибольшее влияние. Изобретение предполагает какое-то влияние и на ход истории в целом, и на развитие инноваций. Если использовать в качестве критерия роль в истории, то следует считать Эккерта и Мокли наиболее выдающимися инноваторами. Почти во всех компьютерах 1950-х годов прослеживается влияние ENIAC. Влияние Флауэрса, Ньюмана и Тьюринга сложнее оценить. Их работа была строжайшим образом засекречена, но все трое и после войны участвовали в создании британских компьютеров. Цузе, который работал в Берлине под обстрелом в одиночестве, оказал еще меньше влияния на повсеместное развитие компьютерной технологии. Что касается Атанасова, его основное влияние, а возможно и единственное, состояло в том, что во время визита к нему Мокли он вдохновил того несколькими своими идеями.
Вопрос о том, какие идеи Мокли присвоил в ходе своего четырехдневного визита к Атанасову в Айову в июне 1941 года, перешел в затяжной правовой спор. В связи с этим при оценке первенства на изобретение возникает еще один критерий – скорее юридический, чем исторический: кто в конечном итоге получил патент, если кто-то получил вообще? В случае с первыми компьютерами не получил патента никто. Но это произошло в результате одиозной судебной баталии, которая привела к тому, что патенты Эккерта и Мокли были аннулированы75.
Эпопея началась в 1947 году, когда Эккерт и Мокли после ухода из Пенна подали заявку на патент на их работы по ENIAC, и в конце концов патент был получен в 1964 году (патентная система работает довольно медленно). К этому времени компания Эккерта – Мокли вместе с ее правами на патенты была продана компании Remington Rand, которая стала называться Sperry Rand, и она и потребовала от других компаний платить ей лицензионные отчисления. IBM и Bell Labs решили платить, но Honeywell отказалась и начала искать пути оспорить патенты. Наняли молодого адвоката – Чарльза Колла, который имел степень по инженерии и работал в Bell Labs. Его цель состояла в том, чтобы аннулировать патент Эккерта – Мокли, доказав, что патентуемые положения не были оригинальными.
Получив рекомендации от адвоката Honeywell, который съездил в Университет Айовы и почитал про сконструированный Атанасовым компьютер, Колл посетил Атанасова в его доме в штате Мэриленд. Атанасов был польщен осведомленностью Колла о деталях его компьютера и обижен тем, что так и не получил должного признания, поэтому он передал Коллу сотни писем и документов, доказывавших, что Мокли присвоил некоторые идеи во время своего визита в Айову. Тем же вечером Колл поехал в Вашингтон и прослушал лекцию Мокли, сидя в заднем ряду. В ответе на вопрос о машине Атанасова Мокли сказал, что он едва взглянул на нее. Колл понял, что если бы он мог вынудить Мокли сказать это же под присягой, то сумел бы дискредитировать его в суде с помощью документов, полученных от Атанасова.
Когда спустя несколько месяцев Мокли понял, что с помощью Атанасова Honeywell может оспорить его патенты, он сам приехал к Атанасову домой в Мэриленд, взяв с собой адвоката Sperry Rand. Это была неловкая встреча. Мокли утверждал, что во время его визита в Айову он не разбирался в подробностях докладной записки Атанасова и не рассматривал детали его компьютера, но Атанасов холодно возразил, что это не так. Мокли остался на ужин и попытался обаять Атанасова, но безрезультатно.
В июне 1971 года вопрос уже рассматривался в Миннеапо-лисском суде, председательствовал федеральный судья Эрл Ларсон. Мокли представил неубедительные свидетельства. Ссылаясь на плохую память, он сбивчиво рассказал о том, что увидел во время своего визита в Айову, неоднократно отказывался от утверждений, сделанных ранее, говорил, что он видел компьютер Атанасова только частично приоткрытым и в тусклом свете. Атанасов, напротив, был очень убедительным. Он описал построенную им машину, продемонстрировал модель и перечислил, какие идеи Мокли взял у него. Семьдесят семь свидетелей были вызваны для дачи показании, еще восемьдесят дали письменные показания под присягой, кроме того, было описано 32 600 вещдоков. Судебное разбирательство длилось более девяти месяцев, и таким образом оно стало самым длинным разбирательством федерального суда по подобным вопросам.
Судье Ларсону потребовалось еще девятнадцать месяцев, чтобы подготовить окончательное решение, которое и было оглашено в октябре 1973 года. В нем он постановил, что патент Эккерта – Мокли на ENIAC недействителен: “Эккерт и Мокли не первыми изобрели автоматический электронный цифровой компьютер, а позаимствовали этот объект изобретения у доктора Джона Винсента Атанасова”76. Вместо того чтобы подать апелляцию, Sperry договорился с Honeywell[17].
Мнение судьи, изложенное на 248 страницах, было тщательно выверенным, но в нем не были рассмотрены некоторые существенные различия между машинами. Мокли взял не так много из машины Атанасова, как, кажется, думал судья. Например, в электронной схеме Атанасова использовалась двоичная логика, в то время как у Мокли был десятичный счетчик. Если бы патентные претензии Эккерта – Мокли были менее амбициозными, патент бы, наверное, выжил.
Случай был неоднозначным даже с юридической точки зрения, поскольку суд должен был определить, в какой пропорции распределяются заслуги по изобретению современного компьютера. Но этот судебный процесс имел два важных последствия: он вывел Атанасова из забвения, и он очень ясно продемонстрировал (хотя это и не входило в намерения судьи или любой из сторон), что великие инновации, как правило, появляются в результате суммирования идей, зародившихся в большом количестве источников. Изобретение, особенно такое сложное, как компьютер, как правило, появляется не в результате отдельного мозгового штурма, а в процессе совместного творчества. Мокли посетил множество мест и разговаривал со многими людьми. Это, возможно, затруднило патентование изобретения, но не уменьшило влияния, которое оно оказало.
Мокли и Эккерт должны быть в верхней части списка людей, которым принадлежит заслуга изобретения компьютера, и не потому, что все их идеи были собственными, а потому, что они смогли выловить ценные идеи в разных местах, добавить свои разработки, воплотить в жизнь свое видение машины с помощью собранной ими компетентной команды и оказать сильнейшее влияние на ход последующих событий. Машина, которую они построили, была первой электронно-вычислительной машиной общего назначения. Эккерт позже сказал: “Атанасов хоть и выиграл процесс в суде, но он вернулся к преподаванию, а мы продолжили строительство первых реальных электронных программируемых компьютеров”77.
Следует также признать большие заслуги Тьюринга и в разработке концепции универсального компьютера, и в последующем участии в работе команды в Блетчли-Парке. Как оценить исторический вклад других инноваторов – в какой-то степени зависит от критериев оценки. Если вам импонирует романтика творчества одиноких изобретателей и при этом вы меньше озабочены тем, кто в историческом плане больше повлиял на развитие компьютерной техники, вы можете поставить Атанасова и Цузе на первые места. Но главный урок, который можно извлечь из истории рождения компьютеров, состоит в том, что инновации, как правило, возникают, когда объединяются усилия “провидцев” и инженеров, и что творчество питается из различных источников. Только в сказках изобретение возникает подобно грому среди ясного неба или лампочке, загорающейся в голове одиночки, творящего в подвале, на чердаке или в гараже.
Говард Айкен и Грейс Хоппер (1906–1992) с фрагментом разностной машины Бэббиджа в Гарварде, 1946 г
Справа: Джин Дженнингс (1924–2011), 1945 г. и Бетти Снайдер (1917–2001), 1944 г
Внизу: Джин Дженнингс и Фрэнсис Байлас с машиной ENIAC