Введение

Джон Уильям Мокли (John William Mauchly; 30 августа 1907 – 8 января 1980) – американский физик и учёный в области вычислительной техники, который вместе с Дж. Преспером Экертом разработал ENIAC, первый электронный цифровой компьютер общего назначения, а также EDVAC, BINAC и UNIVAC I, первый коммерческий компьютер, произведённый в Соединённых Штатах. Вместе Мокли и Экерт основали первую компьютерную компанию, Eckert-Mauchly Computer Corporation (EMCC), и стали пионерами в разработке фундаментальных концепций вычислительной техники, включая хранимую программу, подпрограммы и языки программирования. Их работа, изложенная в широко известном «Первом проекте отчёта об EDVAC» (1945) и представленная в лекциях Школы Мура (1946), оказала значительное влияние на стремительное развитие компьютерной техники в конце 1940-х годов во всём мире.

Биография

Джон У. Мокли родился 30 августа 1907 года в Цинциннати, штат Огайо, в семье Себастьяна и Рейчел (Шейдемантел) Мокли. В раннем возрасте он переехал с родителями и сестрой Хелен Элизабет (Бетти) в Шеви Чейз, штат Мэриленд, когда Себастьян Мокли получил должность в Институте Карнеги в Вашингтоне, возглавив его Отдел наземной электротехники. В юности Мокли проявлял интерес к науке, особенно к электричеству, и уже в подростковом возрасте умел чинить электрические системы у соседей. Мокли учился в начальной школе Э. В. Брауна в Шеви Чейз и в технической школе Маккинли в Вашингтоне, округ Колумбия. В школе Маккинли Мокли активно участвовал в дебатной команде, был членом национального общества почета и стал главным редактором школьной газеты Tech Life. После окончания средней школы в 1925 году он получил стипендию для обучения инженерии в Университете Джона Хопкинса. Позже он перешел на физический факультет и, не завершив программу бакалавриата, получил степень доктора философии по физике в 1932 году. С 1932 по 1933 год Мокли работал научным ассистентом в Университете Джона Хопкинса, где занимался расчетом энергетических уровней спектра формальдегида. Преподавательская карьера Мокли началась в 1933 году в колледже Урсинус, где он был назначен заведующим кафедрой физики, являясь при этом единственным сотрудником кафедры. Он скончался во время операции на сердце после продолжительной болезни. Его первая жена, Мэри Аугуста Уолцл, математик, на которой он женился 30 декабря 1930 года, утонула в 1946 году. У Джона и Мэри Мокли было двое детей: Джеймс (Джимми) и Сидни. В 1948 году Мокли женился на Кэтлин Кей Макнолти (1921–2006), одной из шести оригинальных программисток ENIAC; у них было пятеро детей: Сара (Сэлли), Кэтлин (Кэти), Джон, Вирджиния (Джини) и Ева. Предложение, которое распространялось в Школе Мура (но его значимость не была сразу осознана), подчеркивало огромное преимущество в скорости, которое можно было получить, используя цифровую электронику без движущихся частей. Лейтенант Герман Голдстайн, связной между армией Соединенных Штатов и Школой Мура, уловил эту идею и попросил Мокли подготовить официальное предложение. В апреле 1943 года армия заключила контракт со Школой Мура на создание Электронного Числового Интегратора и Вычислителя (ENIAC). Мокли возглавил концептуальное проектирование, а Эккерт – аппаратную разработку ENIAC. Ряд других талантливых инженеров внесли вклад в секретный "Проект PX". Благодаря высокой скорости вычислений ENIAC мог решать задачи, которые ранее были неразрешимы. Он был примерно в тысячу раз быстрее, чем существующие технологии. Он мог складывать 5000 чисел или выполнять 357 десятизначных умножений за одну секунду. ENIAC можно было программировать для выполнения последовательностей и циклов сложения, вычитания, умножения, деления, извлечения квадратного корня, функций ввода/вывода и условных переходов. Первоначально программирование осуществлялось с помощью соединительных проводов и переключателей, а перепрограммирование занимало несколько дней. В 1948 году он был переработан для использования хранимых программ с некоторой потерей скорости. В 2002 году за его работу над ENIAC он был посмертно введен в Национальный зал славы изобретателей.

EDVAC

Проект ENIAC был заморожен в 1944 году для начала строительства. Эккерт и Мокли уже знали об ограничениях машины и начали разработку второго компьютера, который должен был называться EDVAC. К январю 1945 года они получили контракт на создание этого компьютера с хранимой программой. Эккерт предложил использовать ртутную линию задержки для хранения как программы, так и данных. Позже в том же году математик Джон фон Нейман узнал о проекте и принял участие в некоторых инженерных обсуждениях. Он подготовил документ, который понимался как внутренний отчет, описывающий EDVAC. Термин "архитектура фон Неймана" возник из работы фон Неймана "Первый проект отчета об EDVAC". Написанный 30 июня 1945 года, это был один из первых письменных отчетов об универсальной вычислительной машине с хранимой программой (EDVAC). Голдстайн, в поступке, который впоследствии вызвал споры, удалил все упоминания об Эккерте и Мокли и распространил документ среди ряда коллег фон Неймана по всей стране. Эти идеи стали широко известны в крайне узком кругу разработчиков компьютеров. Помимо отсутствия признания, Эккерт и Мокли понесли дополнительные потери из-за действий Голдстайна. Патент на ENIAC, выданный в 1964 году, был подан 26 июня 1947 года и зарегистрирован 4 февраля 1964 года, однако публичное раскрытие деталей конструкции EDVAC в "Первом проекте" (которые также были характерны для ENIAC) позднее было названо одной из причин аннулирования патента ENIAC в 1973 году.

Лекции школы Мура

В марте 1946 года, сразу после анонса ENIAC, школа Мура решила изменить свою патентную политику, чтобы получить коммерческие права на любые прошлые и будущие разработки в области вычислительной техники. Эккерт и Мокли посчитали это неприемлемым и уволились. Однако у них уже был заключен контракт на выполнение еще одной работы в школе Мура: проведение серии лекций по проектированию компьютеров. Курс "Теория и методы проектирования цифровых вычислительных машин" проходил с 8 июля по 31 августа 1946 года. Эккерт прочитал 11 лекций, Мокли и Голдстайн – по 6. Эти лекции, получившие название "Лекции школы Мура", посетили представители армии, военно-морского флота, Массачусетского технологического института, Национального бюро стандартов, Кембриджского университета, Колумбийского, Гарвардского университетов, Института перспективных исследований, компаний IBM, Bell Labs, Eastman Kodak, General Electric и National Cash Register. Многие из слушателей впоследствии стали разработчиками компьютеров, например, Морис Уилкс из Кембриджа, создатель EDSAC.

Eckert Mauchly Computer Corporation (англ.) русск. (англ.) русск. (англ.) русск.

В 1947 году Эккерт и Мокли основали первую компьютерную компанию, Eckert–Mauchly Computer Corporation (EMCC); Мокли был её президентом. Они получили контракт с Национальным бюро стандартов на создание "EDVAC II", впоследствии названного UNIVAC. UNIVAC, первый компьютер, разработанный для бизнес-приложений, обладал множеством значительных технических преимуществ, таких как магнитная лента для хранения больших объемов данных. В качестве промежуточного продукта компания создала и поставила компьютер меньшего размера, BINAC, но продолжала испытывать финансовые трудности. Компания была приобретена Remington Rand и стала подразделением UNIVAC.

Программное обеспечение

В самом начале истории EMCC Джон Мокли взял на себя ответственность за программирование, кодирование и разработку приложений для планируемых компьютерных систем. Его раннее взаимодействие с представителями Бюро переписи населения в 1944 и 1945 годах и обсуждение с людьми, заинтересованными в статистике, прогнозировании погоды и различных бизнес-задачах в 1945 и 1946 годах, сфокусировали его внимание на необходимости предоставлять новым пользователям программное обеспечение для достижения их целей. Он понимал, что будет сложно продавать компьютеры без прикладных материалов и обучения работе с системами. Поэтому EMCC начал формировать штат математиков, заинтересованных в кодировании, в начале 1947 года. (из Норберга)

Интерес Мокли заключался в применении компьютеров, а также в их архитектуре и организации. Его опыт программирования ENIAC и его последователей привел его к созданию Short Code (см. "The UNIVAC SHORT CODE") – первого языка программирования, который фактически использовался на компьютере (предшествовавшего концептуальному Plankalkul Цузе). Это был интерпретатор псевдокода для математических задач, предложенный в 1949 году и работавший на UNIVAC I и II. Вера Мокли в важность языков программирования привела его к найму Грейс Мюррей Хоппер для разработки компилятора для UNIVAC. Джона Мокли также считают первым, кто использовал глагол "программировать" в своей статье 1942 года об электронных вычислениях, хотя и в контексте ENIAC, и не в его современном значении.

Карьера

Мокли оставался вовлеченным в сферу компьютеров до конца своей жизни. Он был одним из основателей и президентом Ассоциации вычислительной техники (ACM), а также способствовал созданию Общества промышленной и прикладной математики (SIAM) и занимал должность его четвертого президента. Корпорация Eckert–Mauchly была приобретена компанией Remington Rand в 1950 году, и в течение десяти лет Мокли оставался директором по исследованиям в области применения Univac. Покинув компанию в 1959 году, он основал Mauchly Associates, консалтинговую фирму, которая позже представила метод критического пути (CPM) для компьютерного планирования строительных работ. В 1967 году он основал Dynatrend, компьютерную консалтинговую организацию. В 1973 году он стал консультантом Sperry Univac.

Награды

Маукли получил многочисленные награды и почести. Он был пожизненным членом Института Франклина, Национальной инженерной академии и Общества содействия развитию менеджмента. В 1957 году он был избран членом-корреспондентом IRE, предшественника общества IEEE, и был членом-корреспондентом Американской статистической ассоциации. Он получил степень почётного доктора права (LLD) от Университета Пенсильвании и степень почётного доктора наук (aDSc) от Ursinus College. Он был удостоен премии Филадельфии, медали Скотта, медали Гуда AFIPS (Американской федерации обществ обработки информации), премии штата Пенсильвания, премии Эмануэля Р. Пиора, медали Говарда Н. Поттса и множества других наград.

Спор о патентах

Патент Маукли и Эккерта на ENIAC был признан недействительным решением Федерального суда США в октябре 1973 года по нескольким причинам. Некоторые из них касались временного промежутка между публикацией (Первый проект) и датой подачи заявки на патент (1947 год). Федеральный судья, рассматривавший дело, постановил, что "сущность изобретения была получена" из более раннего компьютера Атанасова — Берри (ABC). Это утверждение стало центром споров. Критики отмечают, что, хотя суд заявил, что ABC был первым электронным цифровым компьютером, он не дал определения термину "компьютер". Изначально этот термин относился к человеку, выполняющему вычисления, но затем стал применяться к машинам. Критики решения суда также указывают на то, что на компонентном уровне между этими двумя машинами нет ничего общего. ABC был двоичным, а ENIAC — десятичным. В ABC использовалась регенеративная барабанная память, в то время как в ENIAC — электронные десятичные счетчики. ABC использовал вакуумные лампы для реализации двоичного последовательного сумматора, а ENIAC — для реализации полного набора десятичных операций. Набор команд общего назначения ENIAC и возможность их автоматического последовательного выполнения сделали его компьютером общего назначения. Однако более поздний компьютер EDVAC, разработанный без непосредственного давления военных проектов, был больше похож на ABC, поскольку также был двоичным компьютером, использующим регенеративную память. Сторонники решения суда подчеркивают, что показания свидетелей подтвердили, что Маукли действительно посетил лабораторию Атанасова в Государственном колледже штата Айова, имел полный доступ к его машине и документации. Письма, написанные им Атанасову, свидетельствуют о том, что он как минимум рассматривал возможность развития подхода Атанасова. Маукли последовательно утверждал, что идея вычислений на электронных скоростях пришла к нему благодаря использованию высокоскоростных электронных триггеров в устройствах для подсчета космических лучей в Колледже Свартмор.