Фон Нейман в Пенне
Фон Нейман в Пенне
Капитан Герман Голдстайн, военный связист, который работал с Мокли и Эккертом на ENIAC, в это же время случайно оказался в Абердине на той же платформе, что и фон Нейман, в ожидании поезда на север. Они никогда раньше не встречались, но Голдстайн узнал его мгновенно. Встретив фон Неймана — знаменитость в мире математики — он пришел в возбуждение, поскольку всегда преклонялся перед выдающимися личностями. «Было большим нахальством с моей стороны подойти к этому всемирно известному человеку, представиться и начать разговор, — вспоминал он. — К счастью для меня, фон Нейман оказался милым и дружелюбным, он всегда всячески старался сделать так, чтобы люди чувствовали себя спокойно». Беседа стала еще оживленней, когда фон Нейман узнал, чем занимается Голдстайн. «Когда фон Нейман понял, что я был связан с разработкой электронного компьютера, способного проделывать 333 умножения в секунду, тональность нашего разговора изменилась, из легкой и шутливой она превратилась в ту, что бывает на устном экзамене при соискании докторской степени по математике»[199].
По приглашению Голдстайна несколько дней спустя фон Нейман посетил Пенн, чтобы взглянуть на ENIAC в процессе его строительства. Пресперу Эккерту было любопытно познакомиться со знаменитым математиком, и он подумал, что если его первым вопросом будет вопрос о логической структуре машины, то он «действительно гений». Как раз таким на самом деле и оказался первый вопрос, заданный фон Нейманом, и он таким образом заработал уважение Эккерта[200].
ENIAC мог решить менее чем за час дифференциальное уравнение в частных производных, которое Mark I /Harvard решал бы около восьмидесяти часов. Это впечатлило фон Неймана. Тем не менее перепрограммирование ENIAC на другие задачи могло занять несколько часов, и фон Нейман понял, насколько это серьезный недостаток, поскольку в этот момент нужно было решать кучу разнородных проблем. Весь 1944 год Мокли и Эккерт пытались найти способ хранения программ внутри машины. Прибытие фон Неймана, набитого идеями Гарварда, Bell Labs и других мест, подняло на более высокий уровень обсуждение конструкции компьютера с сохраненными программами.
Фон Нейман, который стал консультантом команды ENIAC, выдвинул идею о том, что компьютерная программа должна быть сохранена в той же памяти, что и исходные данные, и тогда программу можно будет легко модифицировать во время работы. Его деятельность в команде Пенна началась с первой недели сентября 1944 года, когда Мокли и Эккерт в деталях объяснили ему устройство машины и поделились своими мыслями о конструкции следующей версии, в которой будет «одно устройство хранения с адресуемыми ячейками», которое будет служить в качестве устройства для хранения и исходных данных, и команд программы. На той же неделе Голдстайн изложил эту идею в письме к своему армейскому командиру: «Мы предлагаем централизованное программируемое устройство, в котором стандартные программы хранятся в закодированном виде в тех же типах устройств хранения информации, которые были предложены ранее»[201].
Серия встреч фон Неймана с командой ENIAC, и в особенности четыре официальных совещания, которые он провел с ними весной 1945 года, оказались настолько важными, что протоколы этих встреч были сброшюрованы в отдельную книжицу под названием «Встречи с фон Нейманом». На совещаниях он вышагивал перед доской и руководил обсуждением в духе сократического диалога, впитывал идеи, пропускал через себя, очищал их, а затем выписывал на доске. «Он стоял в передней части комнаты, как профессор, консультирующийся с нами, — вспоминала Джин Дженнингс. — Мы ставили перед ним возникшую у нас конкретную проблему и всегда очень старались, чтобы проблема была фундаментальной, а не только технической»[202].
Фон Нейман был открытым человеком, но его интеллектуальное превосходство подавляло людей. Когда он утверждал что-то, редко кто отваживался возразить. Но Дженнингс иногда решалась. Однажды она поспорила с одним из его утверждений, и все в зале посмотрели на нее с удивлением. Но фон Нейман сделал паузу, склонил голову, а затем согласился с ее точкой зрения. Он умел хорошо слушать и к тому же мастерски умел притворяться застенчивым, что располагало к нему людей[203]. «В нем было удивительное сочетание черт характера блестящего человека, который осознает, что он выдающийся, и удивительной скромности и застенчивости, проявлявшихся при изложении им своих идей другим людям, — вспоминала Дженнингс. — Он был очень беспокойным, все время расхаживал по комнате, но когда он рассказывал о своих идеях, казалось, будто он извиняется за несогласие с вами или будто обдумывает лучшую идею».
Фон Нейман был особенно силен в разработке фундаментальных основ программирования, которое было все еще плохо определенным ремеслом, не очень изменившимся за век — с тех пор, как Ада Лавлейс описала последовательность операций для генерации чисел Бернулли на аналитической машине. Он понял, что создание элегантного набора инструкций — алгоритма — требовало как строгой логики, так и точности выражения. «Он очень тщательно разъяснял, почему нужно написать данную конкретную команду или почему мы могли бы обойтись без команд, — рассказывала Дженнингс. — Тогда я впервые осознала важность командных кодов, логики, на основании которой они строятся, и элементов, которые должны входить в полный набор команд. Я заметила, что фон Нейман, как и другие гении, обладал способностью выбрать в каждой конкретной проблеме нечто определяющее, то, что действительно было самым важным»[204]. В этом проявлялся его мощный талант, побуждавший его докапываться до сути каждой новой идеи.
Фон Нейман понимал, что они не просто усовершенствуют ENIAC для быстрого перепрограммирования. Они выполняли более важную задачу — воплощали идею Ады о создании машины, которая могла выполнять любую логическую задачу, заданную набором любых символов. «Компьютер с сохраняемыми программами, замысел которого принадлежал Алану Тьюрингу, а реализация — Джону фон Нейману, сломал различие между числами, которые описывают данные, и числами, которые описывают программы, — писал Джордж Дайсон. — Наша Вселенная уже никогда не будет прежней»[205].
Кроме того, фон Нейман быстрее, чем его коллеги, понял важность объединения данных и программных команд в одном и том же устройстве памяти. Память может быть стираемой — той, что мы сейчас называем памятью с оперативной записью и считыванием. Это означает, что сохраненные команды могут быть изменены не только в конце цикла, но в любой момент работы программы. Компьютер сам может изменить свою программу, основываясь на полученных результатах. Для облегчения этой процедуры Фон Нейман придумал язык программирования с переменным адресом ячейки памяти, который позволял легко менять команды во время выполнения программы[206].
Команда разработчиков из Пенна предложила армии построить на этих принципах новый улучшенный вариант ENIAC. Он должен был использовать двоичную систему, а не десятичную, использовать ртутные линии задержки в качестве устройства памяти и включать в себя многие, если и не все черты так называемой «архитектуры фон Неймана». В первоначальном варианте предложения для армии эта новая машина была названа «Электронным дискретным вариабельным автоматическим калькулятором». Все чаще, однако, команда начала называть его компьютером, поскольку он мог делать гораздо больше, чем просто вычислять. Впрочем, это не имело особого значения. Все просто называли его EDVAC.
В последующие годы в патентных разбирательствах, конференциях, книгах и противоречащих друг другу исторических документах возникали дебаты по поводу того, кто имеет больше прав на идеи, которые родились в 1944-м и в начале 1945 года и легли в основу компьютера с сохраняемой программой. Например, рассказанное выше говорит о том, что заслуга выдвижения концепции сохраняемой программы в первую очередь принадлежит Эккерту и Мокли. А заслуга фон Неймана в том, что он осознал важность способности компьютера изменять сохраненную в нем программу в процессе работы, а также в создании программ с переменным адресом для реализации этого. Но на самом деле рождение инноваций в Пенне является еще одним примером совместного творчества, и это более важно, чем разборки по поводу авторства тех или иных идей. Фон Нейман, Эккерт, Мокли, Голдстайн, Дженнингс и множество других разработчиков — все сообща обсуждали идеи, выпытывали нужные им сведения у инженеров, электронщиков, ученых-материаловедов и программистов.
![](https://storage.yandexcloud.net/wr4img/421536_26_i_029.jpg)
Вверху: Джон фон Нейман (1903–1957), 1954 г.
![](https://storage.yandexcloud.net/wr4img/421536_26_i_030.jpg)
Слева: Герман Голдстайн (1913–2004), ок. 1944 г.
![](https://storage.yandexcloud.net/wr4img/421536_26_i_031.jpg)
Преспер Эккерт (в центре) и журналист Уолтер Кронкайт с телеканала CBS (справа) рассматривают результаты электронного прогноза президентских выборов, полученных с помощью компьютера UNIVAC, 1952 г.
Большинство из нас когда-нибудь участвовали в мозговых штурмах, в которых рождались творческие идеи. Уже спустя несколько дней разные люди могут по-разному вспоминать о том, кто предложил идею первым. Мы понимаем, что идеи формулируются в основном при постоянном взаимодействии членов группы, а не путем выдвижения совершенно оригинальной концепции кем-то одним. Искры вылетают при трении идей друг о друга, а не падают с ясного неба. Так было и в Bell Labs, и в Лос-Аламосе, и в Блетчли-Парке, и в Пенне. Одним из важнейших талантов фон Неймана, сделавшим его главным в этом коллективном творческом процессе, была его способность расспрашивать, слушать, формулировать и систематизировать чужие идеи, мягко и осторожно вносить свои предложения.
Склонность фон Неймана собирать и обрабатывать идеи, не заботясь о том, чтобы точно указать источник, из которого они появились, оказалась полезной для высевания и удобрения уже посеянных идей, которые стали частью EDVAC. Но иногда это обижало тех, кого больше беспокоило, как оценят их заслуги или признают ли за ними права на интеллектуальную собственность. Фон Нейман как-то раз заявил, что невозможно приписать кому-то одному рождение идей, обсуждавшихся в группе. Рассказывают, что Эккерт, услышав это, отреагировал репликой: «Вы уверены?»[207]
Преимущества и недостатки подхода фон Неймана проявились в июне 1945 года. После десяти месяцев кипучей работы в Пенне он предложил изложить ее итоги на бумаге. И приступил к этому во время своей долгой поездки на поезде в Лос-Аламос.
В своем рукописном отчете, отправленном в Пенн Голдстайну, фон Нейман в математически компактной форме подробно описал структуру предлагаемого компьютера с запоминаемыми программами и логическое управление им, а также причины, по которым оказалось «заманчивым рассматривать всю память как единый орган». Когда Эккерт спросил Голдстайна, почему, как ему кажется, фон Нейман единолично составляет документ, основанный на идеях, в развитии которых участвовали и другие, тот успокоил его: «Он просто пытается уяснить эти вещи для себя самого и делает это в письмах ко мне, чтобы мы могли ответить ему, если он что-то понял неправильно»[208].
Фон Нейман оставил пробелы для вставки ссылок на чужие работы, и в действительности в его тексте никогда не использовалась аббревиатура EDVAC. Но когда Голдстайн отдал текст (насчитывавший уже 101 страницу) в печать, он указал в качестве единственного автора своего героя — фон Неймана. На титульной странице Голдстайн написал название «Первый проект отчета о EDVAC Джона фон Неймана». Для получения двадцати четырех копий документа Голдстайн использовал мимеограф, и в конце июня 1945 года он разослал эти экземпляры по разным местам[209].
«Проект отчета» был очень полезным документом, и разработчики последующих компьютеров руководствовались им по крайней мере в течение последующего десятилетия. Решение фон Неймана написать его и позволить Голдстайну распространить отражало открытость академически ориентированных ученых, особенно математиков, которые обычно хотят публиковать в открытой печати и распространять результаты, а не пытаться доказать, что право на интеллектуальную собственность принадлежит им. Своему коллеге фон Нейман объяснил: «Я, безусловно, собираюсь сделать все возможное, чтобы как можно больше результатов этой деятельности оказалось в открытом доступе (с патентной точки зрения)». Позже он сказал, что, взявшись за написание отчета, преследовал две цели — «прояснить и скоординировать мысли группы, работающей над конструкцией компьютера EDVAC, и помочь усовершенствовать конструкцию высокоскоростных компьютеров». Кроме того, он сказал, что не пытался присвоить авторство на концепции и никогда не подавал на них патентные заявки[210].
Эккерт и Мокли смотрели на это по-другому. «Понимаете, мы под конец стали считать фон Неймана скупщиком чужих идей, а Голдстайна — основным продавцом, — сказал Эккерт позднее. — Фон Нейман крал идеи и пытался сделать вид, что работу в школе Мура [при Пенне] он проделал один»[211]. Джин Дженнингс согласилась с этим и позже сокрушалась, что Голдстайн «ревностно поддерживал несправедливые претензии фон Неймана и, по сути, помог ему присвоить работу Эккерта, Мокли и остальных членов группы из школы Мура»[212].
Что особенно расстроило Мокли и Эккерта, которые пытались запатентовать многие из концепций, лежащие в основе и ENIAC, и будущего EDVAC, так это то, что распространение отчета фон Неймана делало эти концепции открытыми и с юридической точки зрения запатентовать их становилось невозможно. Когда Мокли и Эккерт попытались запатентовать архитектуру компьютера с сохраняемой программой, им было отказано в этом, поскольку (так заключили и армейские юристы, и в конечном итоге суды) отчет фон Неймана был сочтен «предшествовавшей открытой публикацией», что запрещает выдачу патента.
Эти патентные споры положили начало дискуссии, возникшей в цифровую эру. Должны ли разработчики делиться своей интеллектуальной собственностью, и при любой возможности отправлять ее в общий доступ, и отдавать сообществам, распространяющим программы с открытыми исходными кодами? По этому пути шли в основном разработчики интернета и Web, и это может стимулировать развитие инноваций благодаря быстрому распространению идей и совершенствованию их в процессе краудсорсинга. Или же права на интеллектуальную собственность должны быть защищены и изобретателям нужно разрешить получать прибыль от их собственных идей и инноваций? Этим путем, как правило, следуют разработчики, работающие в области вычислительной техники, электроники и производства полупроводников, и в этом случае у авторов появляются финансовые стимулы, они получают инвестиции, способствующие появлению инноваций, и риски окупаются. В течение семидесяти лет после того, как фон Нейман разместил свой «Проект отчета» по EDVAC в общем доступе и он оказался очень полезным, защите авторских прав в компьютерной области уделялось все больше и больше внимания (с несколькими существенными исключениями). А в 20іі году произошло примечательное событие: Apple и Google потратили больше на судебные иски и выплаты, связанные с патентами, чем на исследования и разработки новых продуктов[213].
Данный текст является ознакомительным фрагментом.