Инноваторы: Великолепная Грейс

205
1

Политех представляет книгу Уолтера Айзексона «Инноваторы» – историю цифровой революции. Айзексон связывает биографии тех, кому мы обязаны появлением компьютеров и интернета, воедино, рассказывает, как идеи первых инноваторов становятся источником вдохновения для следующих, образуя бесконечную цепь причин и следствий.

Что привело нашу сегодняшнюю героиню к работе с компьютером Mark I, созданию первой в мире программы-компилятора и званию контр-адмирала флота? Биографы в один голос говорят: желание резко изменить свою жизнь.

К 1940 году у миссис Грейс Хоппер было все, чего она когда-то хотела: она имела степень доктора математических наук, преподавала в колледже Вассара, состояла в браке с профессором Нью-Йоркского университета. Но не хватало чего-то важного. В новую жизнь Грейс Хоппер взяла с собой не так уж много, и главным – из нематериального – оказалось ее умение точно излагать свои мысли.

Того же она требовала от учеников. Айзексон рассказывает: «Свой курс по теории вероятности она начинала с лекции об одной из своих любимых математических формул* и просила учеников написать эссе о ней. Этим она добивалась ясности в изложении и стиле. “Я могла испещрить их тексты [эссе] замечаниями, и поднимался бунт, они могли возмущаться, что это курс математики, а не английского, – вспоминала она. – Тогда я объясняла им, что нет смысла пытаться изучать математику, если они не могут общаться с другими людьми”». Но на службе ВМС США, а именно там оказалась Грейс Хоппер в 1944 году, общаться ей пришлось не с людьми, а с машиной.

«Ей было приказано явиться в Гарвардский университет для работы на машине Mark I – исполинском цифровом компьютере с неуклюжими электромеханическими реле и поворотным валом, приводимым в движение моторчиком. Эта машина была сконструирована Говардом Айкеном в 1937 году. <...>

Понимая, что ей придется полностью в этом разобраться и научиться справляться с машиной, Хоппер ночи напролет изучала чертежи. Ее сильной стороной было умение понять, как перевести реальные задачи на язык математических уравнений (чем она занималась в Вассаре), а затем – в команды, которые машина сможет понять».

«Подход Хоппер к программированию был систематическим. Она разбивала все физические проблемы или математические уравнения на мелкие арифметические шаги. “Вы просто говорите компьютеру, что делать, шаг за шагом, – поясняла она. – Нужно взять это число, и добавить его к тому числу, и положить результат туда-то. Теперь взять это число, и умножить его на то число, и положить его туда-то”. <...>

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

Это была та самая концепция, которую Ада Лавлейс впервые описала в своих “Примечаниях” к статье об аналитической машине. Хоппер собирала библиотеку этих подпрограмм, которая все время пополнялась. В процессе работы над программированием компьютера Mark I она разработала концепцию компилятора – устройства для перевода исходного кода на машинный язык, используемый различными компьютерными процессорами, что в конечном итоге облегчило написание одной и той же программы для множества машин. <...>

К 1945 году, во многом благодаря Хоппер, компьютер Mark I / Harvard стал самым легко программируемым в мире большим компьютером. Он мог переключаться с одной задачи на другую, просто получив новые инструкции с бумажной перфоленты, и не требовал аппаратной переделки или перепайки кабелей».

Mark I стал первым большим достижением Грейс Хоппер в области программирования. За ним последовал компилятор A Compiler и новый язык программирования COBOL. Сегодня его иногда называют «многословным», поскольку разработчики пытались приблизить его конструкции к английскому языку. Несмотря на это язык активно используется до сих пор, с его помощью обрабатывают большую часть финансовых транзакций во всем мире.

Контр-адмирал Грейс Хоппер находилась на службе ВМС США до восьмидесятилетия. Военная карьера принесла ей еще один, неофициальный титул: ее называли (и называют!) просто Amazing Grace – Великолепная Грейс.

* Формула Стирлинга для вычисления приближенного значения факториала n!. – Прим. автора.