Параллели нетрудно найти и в истории компьютеров. Ирония судьбы, но такова жизнь.

Джон Мочли — представитель «инженерного начала» в проекте EDVAC, неизвестный соавтор того, что сегодня называют архитектурой фон Неймана

Присуждение Нобелевских премий по физике нашему соотечественнику Жоресу Алферову и американцу Герберту Кремеру за развитие полупроводниковых гетероструктур для высокоскоростной оптоэлектроники, а также американцу Джеку Килби за вклад в открытие интегральной схемы стало довольно необычным событием. В 2000 году впервые была нарушена многолетняя традиция, согласно которой наград удостаивались работы сугубо академического характера.

О трудах Алферова и Кремера судить сложно, это физика в чистом виде. Что касается третьего лауреата, то его достижения с точки зрения «высокой науки» не столь уж и велики. 12 сентября 1958 года в компании Texas Instruments заработала созданная им микросхема. Точнее, у микрочипа было два отца, второй — Роберт Нойс, один из основателей Intel, работавший в конце 50-х в компании Fairchild Semiconductor. Он умер в 1990 году, а по регламенту премия может быть присуждена только здравствующим лицам. (Упорствующие в своем приоритете англичане и в данном случае утверждают, что еще в 1952 году небольшая группа исследователей под руководством Джефри Даммера, работавшая по заказу министерства обороны, выдвинула идею размещения схемы на кремниевой подложке.)

Теории как таковой в процессе создания микросхемы немного, но Килби и Нойс «всего-навсего» придумали технологию, которая совершила полный переворот в электронной промышленности (заметим, что первый работающий компьютер на микросхемах появился в 1963 году в ракетах Minuteman и в космическом корабле Apollo).

В Лаборатории баллистических исследований сотни женщин-вычислителей, вооруженных простейшими счетными инструментами, создавали таблицы для артиллерийских стрельб. Однако скорость создания таких таблиц существенно отставала от скорости появления новых систем вооружения, без них же орудия не имели смысла

Этот пример интересен тем, что позволяет задуматься о соотношении двух начал в ИТ: инженерного и научного. Так уж случилось, что во многих странах, но в нашей особенно, и властями, и общественным сознанием долгие годы приоритет отдавался научному подходу, а инженерный был как бы вторичным. Не случайно появилось такое странное название, как «технические науки», и на протяжении десятилетий инженеры толпами стремились в кандидаты и доктора этих, прямо скажем, непонятных наук, прежде всего, не будем скрывать, за надбавкой к жалованью. Получив заветный диплом, многие переставали быть инженерами (обычно не становясь при этом учеными), а те, кто утверждались в этом качестве, вынуждены были признавать свое приниженное положение по отношению к академическим коллегам.

Отсюда рождалась совершенно удивительная страсть избегать инженерии всеми доступными способами, онаучивать все, что только возможно. Приведу один казусный пример. В начале 80-х мне пришлось работать с операционной системой RSX на машине PDP 11/70. И вот однажды, придя в книжный магазин «Техническая книга» на Петровке, я увидел приличного размера книгу с примерно таким названием: OS RSX-11M, — не глядя, купил ее в надежде на то, что она поможет мне в работе. Уже в троллейбусе я понял, что ошибся, авторы были сотрудниками известного академического института, а сама книга представляла собой серьезное исследование с мощнейшим математическим аппаратом, мне недоступным. Так и осела она на антресолях как укор собственной малограмотности.

О случай! Cпустя какое-то время мне довелось встретиться с одним из авторов операционной системы, чье имя нередко встречалось в исходных текстах RSX. Я показал ему извлеченную из залежей книгу. Коллегу не смутил русский, язык математики интернационален, — так вот, увидев «крючки» многоэтажных формул, он сказал: «Для меня это слишком сложно».

Разделение специалистов на две касты и конфликт, связанный с этим, видимо, закономерны, они свойственны природе ИТ и возникли практически одновременно с появлением первого компьютера в современном понимании — компьютера EDVAC. В том самом конфликте академическую сторону представлял Джон фон Нейман и Герман Гольдштейн, а инженерную еще два Джона: Джон Мочли и Джон Экерт.

Думаю, почти все знают, что в основе всех современных компьютеров лежит «схема фон Неймана», меньше людей осведомлены, что схема эта появилась вместе с EDVAC, а уж почему ее назвали именно именем Джона фон Неймана, думаю, знают единицы.

Несмотря на то что ENIAC был первым исполняющим программу электронным устройством, — он был дитя военного времени, и в нем отсутствовали некоторые элементы архитектуры, на которых построены все современные компьютеры. В 1944 году коллектив разработчиков ENIAC выдвинул идею построения компьютера EDVAC, призванного облегчить процедуру ввода программы в систему

Прежде два слова о нем самом. Во все времена во всех отечественных вузах торжественно преподносили эту схему, не обращая внимания при этом на одно занятное обстоятельство. Гениальный математик, участник основных американских оборонных проектов США в период Второй мировой войны, экстравагантнейшая личность во всех смыслах, фон Нейман был ярым антисоветчиком. К природному дарованию прибавились прекрасное образование и приличный капитал. По известным причинам в 30-е годы он эмигрировал из Венгрии и после этого не испытывал теплых чувств к тоталитарным странам. Характерен ответ фон Неймана на вопрос «Стоит ли сбрасывать атомную бомбу на СССР?», заданный корреспондентом популярного тогда журнала Life: «Если вы скажете, стоит ли бросить завтра, я отвечу — а почему не вчера? А если вы спросите, стоит ли ее бросить в пять часов, то я вам отвечу — нельзя ли пораньше, например в час?»

Человек с такими заслугами и с такими политическими взглядами, разумеется, был в фаворе у американского правительства, причем особенно в 50-е годы, в разгар холодной войны. Сплав математического гения с ярым антикоммунизмом в сочетании с близостью к правительству сыграли непосредственную роль в популяризации схемы фон Неймана, и вот почему.

Реальными создателями EDVAC и были два замечательных инженера Джон Мочли и Джон Экерт. Из них двоих 25-летний Мочли был в большей степени теоретиком, а Экерт (на 12 лет его старше) считался признанным инженером-электронщиком. К идее создания вычислительной машины они пришли, работая в Школе Мура и приближенной к ней Лаборатории баллистических исследований. Здесь сотни женщин-вычислителей, вооруженных простейшими счетными инструментами, создавали таблицы для артиллерийских стрельб. Однако скорость создания таких таблиц существенно отставала от скорости появления новых систем вооружения, без них же орудия не имели смысла.

Нужны были новые идеи, которые помогли бы автоматизировать расчеты. Незадолго до того Мочли удалось лично познакомиться с Джоном Атанасовым и его первым ламповым вычислительным устройством ABC. Несомненно, это повлияло на решение о создании более мощной машины на электронных вакуумных лампах.

Схема компьютера EDVAC, нарисованная Джоном Мочли

Первенец Мочли и Экерта ENIAC, по сути, являлся программируемым калькулятором. В процессе его создания были решены сложнейшие инженерные проблемы, прежде всего обеспечение надежности — например, как построить надежную систему из ненадежных элементов. Но тут обнаружилась другая сложность.

До тех пор программируемыми были относительно медленные устройства, например, Harvard Mark I Говарда Айкена (иначе IBM ASCC), и с ними не возникало проблем программирования. Все эти устройства были механическими, и скорость ввода программы с перфоленты вполне соответствовала ходу процесса вычисления. Новый электронный калькулятор работал в тысячи раз быстрее, и как синхронизировать исполнение программы со скоростью ее ввода? Первым импульсом к появлению хранимой в памяти программы стала потребность в скоростном вводе программы. Это было чисто инженерное решение.

Со стороны военных деятельность Мочли и Экерта курировал математик Герман Гольдштейн, служивший тогда в чине лейтенанта. Он-то и привлек к работе над следующей моделью EDVAC Джона фон Неймана, причем Нейман подключился в тот момент, когда многое, если не все, было готово. Можно предположить, что помимо математического гения в фон Неймане создатели компьютера видели необходимую им фигуру, способную завязать более тесные отношения с высшими правительственными чиновниками.

Джон фон Нейман, представитель «академического начала» в проекте EDVAC

Так оно и оказалось: с фон Нейманом установление интерфейса в высоких кругах не представляло сложностей. Но случилось неожиданное. Документация в спешке велась довольно небрежно, и вот на определенном этапе потребовался документ, который можно было бы представить наверх. Труд под названием A First Draft Report on the EDVAC написал Джон фон Нейман в конце июня 1946 года. То, что под ним стоит подпись только одного человека, никого не озаботило, хотя это обстоятельство впоследствии оказалось решающим. Мочли и Экерт считали документ внутренним: его подготовили всего в 24 экземплярах, у них были свои далеко идущие коммерческие планы.

Однако Гольдштейн придал этому документу совершенно иной статус, он стал распространять его в малых количествах среди доверенных ученых США и Англии. И он, и фон Нейман в лучших академических традициях хотели сделать его общедоступным. Ученые в отличие от инженеров имели многовековую практику взаимного общения, это, как-никак, один из важнейших компонентов академической жизни. Работа стала распространяться почти бесконтрольно и естественно, так что вся слава досталась тому, чье имя стояло на документе. При желании можно найти упоминания об архитектуре с хранимой программой, датированные раньше 1946 года. Так начался первый конфликт между инженерами и математиками.

Спустя 50 с лишним лет многое стало понятнее. Теперь некоторые исследователи признают, что корректней было бы называть схему, по которой построены практически все современные вычислительные машины, схемой «Мочли — фон Неймана», но, как говорится, что произошло, то произошло.

Что случилось дальше, когда пути основоположников разошлись? Они двинули по двум противоположным направлениям, каждое из которых показательно по-своему. Фон Нейман и Гольдштейн с 1946 по 1952 годы работали в Институте перспективных исследований (Institute for Advanced Studies — IAS). Там, в Принстоне, на деньги, субсидированные правительством, они строили очень интересную машину для научных расчетов, которая так и называлась — IAS. Идей у них было много, но не хватало инженерного опыта бывших коллег и много другого. Некоторое время компьютер использовался, но был крайне ненадежен. Проект свернули, он не получил дальнейшего развития.

После завершения проекта EDVAC и расставания с фон Нейманом Мочли и Экерт приступили к созданию компьютера UNIVAC и добились своей цели

Судьба Мочли и Экерта не менее драматична. Они упорно шли к созданию компьютера UNIVAC и добились своей цели. При этом им пришлось не только заниматься архитектурой, но и решать массу проблем, например, попутно они создали ленточные накопители, предложили идею накопителя на дисках и т. д. Главная проблема была финансовая, потому что довольно сложно было договориться и с учеными, и с бизнесменами. Как ни странно, ярым противником применения компьютеров в бизнесе оказался Говард Айкен. В итоге деньги текли скромным ручейком, и неизвестно, чем бы кончилось дело, если бы на горизонте не появилась одиозная фигура Генри Страусса, тогдашнего президента сомнительной компании American Totalisator и при этом замечательного изобретателя, что позволило ему оценить значение компьютера в его бизнесе. Таким образом, наполовину UNIVAC строился на деньги игорного бизнеса. В 1950 году Страусс погиб в авиационной катастрофе. Кто знает, как бы сложилась дальнейшая судьба информационных технологий, не лишись Мочли и Экерт такого покровителя? На самом деле у них и так все сложилось довольно неплохо, если бы не общественное признание, пришедшее лишь в последние годы.

Может быть, когда-нибудь список нобелевских лауреатов пополнится именами и других великих инженеров ИТ? Ни Мочли, ни Экерту это уже не грозит, первый умер в 1995 году, а второй в 1980-м.