Добавить в цитаты Настройки чтения

Страница 26 из 30

В исторических главах своего руководства Хоппер сосредоточилась на вкладе разных людей в развитие компьютерной техники, и в результате ее книга подчеркивала роль отдельных персонажей.

Но вскоре после того, как книга Хоппер была закончена, ведущие сотрудники IBM написали собственную историю создания компьютера Mark I, в которой доказывалось, что главный вклад в строительство данной машины принадлежал команде IBM, работавшей в городе Эндикотте, штат Нью-Йорк. “Интересам корпорации IBM больше всего отвечала не история индивидуальных открытий, а история успешной работы организации, — писал историк Курт Байер в своей книге о Грейс Хоппер. — Местом, где зарождались технологические инновации, по мнению IBM, была именно корпорация. Миф о гениальном изобретателе-одиночке, работающем в лаборатории или подвале, был заменен на реальную историю работы команды безликих инженеров корпорации, постепенно усовершенствовавших машину”10. В версии истории от IBM в компьютер Mark I было внесено множество мелких новаторских решений, например счетчик, использующий храповый механизм, а также двухплатформенное устройство подачи карт. Как утверждают авторы книги IBM, эти новшества были внесены в компьютер командой малоизвестных инженеров, работавших совместно в Эндикотте[19].

Различие между версиями Хоппер и IBM на самом деле глубже, чем вопрос о том, кому принадлежат главные заслуги. Оно демонстрирует противоположные взгляды на историю возникновения инноваций. В некоторых исследованиях по истории науки и техники подчеркивается, как это сделала Хоппер, роль изобретателей, совершающих инновационные прорывы. В других исследованиях подчеркивается роль команд и организаций, таких как Bell Labs и IBM, сумевших организовать коллективную работу на своих предприятиях. При втором подходе авторы пытаются показать: то, что может показаться творческим прорывом, моментом озарения, на самом деле является результатом эволюционного процесса, который возникает в тот момент, когда идеи, концепции, технологии и инженерные методы созревают одновременно. Ни одна из точек зрения на технологическим прогресс не является единственно правильной. Большинство великих инноваций цифровой эпохи возникали при взаимодействии творческих личностей (Мокли, Тьюринга, фон Неймана, Айкена) с командами, которые сумели реализовать их идеи.

Партнером Хоппер в работе с компьютером Mark I был Ричард Блох, математик из Гарварда, в студенческие годы игравший на флейте в любительской университетской музыкальной группе, а потом служивший в ВМС США. Прапорщик Блох начал работать с Айкеном за три месяца до Хоппер, и когда она появилась, взял ее под свою опеку. Он вспоминал: “Я помню, как мы сидели до глубокой ночи, разбираясь, как работает эта штуковина и как ее программировать”. Они с Хоппер сменяли друг друга каждые двенадцать часов, подстраиваясь к требованиям машины и ее неуравновешенного командира — Айкена. “Иногда он появлялся в четыре утра, — рассказывал Блох, — и спрашивал: «Мы считаем?» Он очень нервничал, когда машина останавливалась”11.

Подход Хоппер к программированию был систематическим. Она разбивала все физические проблемы или математические уравнения на мелкие арифметические шаги. “Вы просто говорите компьютеру, что делать, шаг за шагом, — поясняла она. — Нужно взять это число, и добавить его к тому числу, и положить результат туда-то. Теперь взять это число, и умножить его на то число, и положить его туда-то”12. Когда программа уже была набита на ленту и наставал момент ее проверять, команда, обслуживающая Mark I, сначала в шутку, ставшую потом ритуалом, вытаскивала молитвенный коврик, становилась на него лицом на восток и молилась, чтобы их работа оказалась успешной.

Иногда по ночам Блох слегка переделывал что-то в аппаратуре компьютера, что создавало проблемы для компьютерных программ, которые писала Хоппер. Она была человеком несдержанным, бывало, использовала крепкие словечки, и отборная брань, которой она поливала остолбеневшего долговязого Блоха, стала предвестником той смеси вражды и товарищества, которая возникнет между разработчиками аппаратных средств и программного обеспечения. “Каждый раз, когда я запускаю программу, он приходит ночью и меняет схемы в компьютере, а на следующее утро программа перестает работать, — сетовала она. — К тому же утром он уже дома, и спит, и не может рассказать мне, что переделал”. Как в таких случаях говорил Блох: “Разверзались ворота ада. Айкен не умел воспринимать это с юмором”13.

Из-за таких случаев Хоппер заработала репутацию грубиянки. Такой она и была. Но она также могла сочетать грубоватость с умением работать в команде — способность, присущая программистам экстра-класса. Это ощущение командного “пиратского” братства — то, что роднит Хоппер с программистами последующих поколений, — не ограничивало ее, а скорее делало более свободной. Как писал Бейер, “именно способности Хоппер к работе в команде, а не ее дерзкий характер, способствовали самостоятельности ее мышления и действий”14.





На самом деле не у импульсивной Грейс Хоппер, а у спокойного Блоха были более сложные отношения с командиром Айкеном. “У Дика всегда возникали неприятности, — вспоминала Хоппер. — Я пробовала объяснить ему, что Айкен похож на компьютер. Он сконструирован определенным образом, и если собираешься работать с ним, ты должен понимать, как он собран”15. Айкен, который сначала был недоволен присутствием женщины в его подразделении, вскоре сделал Хоппер не только главным программистом, но и своим первым заместителем. Много лет спустя он вспоминал с благодарностью ее вклад в рождение компьютерного программирования. Как он говорил, “Грейс была хорошим парнем”16.

Среди методов программирования, которые Хоппер в Гарварде довела до совершенства, было создание подпрограмм — частей программы, предназначенных для выполнения конкретных задач. Подпрограммы загружаются один раз, но их можно вызывать всякий раз, когда это необходимо, — в любой момент выполнения основной программы. “Подпрограмма — это четко определенная, удобно закодированная, часто повторяемая программа, — писала она. — В компьютере Mark I / Harvard имелись подпрограммы для вычисления sin х, log10 х, и 10x, каждая из которых могла вызываться одним операционным кодом”17. Это была та самая концепция, которую Ада Лавлейс впервые описала в своих “Примечаниях” к статье об аналитической машине. Хоппер собирала библиотеку этих подпрограмм, которая все время пополнялась. В процессе работы над программированием компьютера Mark I она разработала концепцию компилятора — устройства для перевода исходного кода на машинный язык, используемый различными компьютерными процессорами, что в конечном итоге облегчило написание одной и той же программы для множества машин.

Кроме того, ее команда внедрила общепринятые в настоящее время термины bug (в переводе — насекомое), означающий ошибку в программе, и debugging (устранение насекомых), означающий отладку программы. Вторая версия машины — компьютер Mark II /Harvard был установлен в здании, где на окнах не было противомоскитных сеток. Однажды ночью машина вышла из строя, и команда стала искать причину проблемы. Внутри они нашли разбившуюся и застрявшую в одном из электромеханических реле ночную бабочку с размахом крыльев в десять сантиметров. Она была извлечена и приклеена в журнал записей скотчем. Запись гласила: “Панель F (бабочка) в реле. Первая конкретная причина программной ошибки найдена”18. С тех пор поиски глюков, то есть отладку программы, называли “поиском багов в машине”.

К 1945 году, во многом благодаря Хоппер, компьютер Mark I / Harvard стал самым легко программируемым в мире большим компьютером. Он мог переключаться с одной задачи на другую, просто получив новые инструкции с бумажной перфоленты, и не требовал аппаратной переделки или перепайки кабелей. Тем не менее эта замечательная особенность в значительной степени осталась незамеченной и тогда, и в истории компьютеров, поскольку в компьютере Mark I (и даже в его преемнике, Mark II, построенном в 1947 году) использовались медленные электромеханические реле, а не электронные компоненты, в первую очередь электронные лампы. “К тому времени, когда кто-то что-то узнал о нем, — рассказывала Хоппер о компьютере Mark II, — он уже был малоэффективен, и все переходили на электронику”19.

19

До 2014 г. в экспозиции и поясняющих надписях, касающихся компьютера Mark I, представленных в научном центре Гарварда, не было никаких упоминаний о Грейс Хоппер. Там вообще не было ни одной фотографии женщин. Но в 2014 г. экспозицию изменили, чтобы отметить и роль Хоппер, и роль других женщин-программисток. — Прим. автора.