Статьи Технологии 09.09.2012 в 10:00 comment

Памяти мотылька, или бабушка-адмирал Грейс Хоппер

author avatar
https://itc.ua/wp-content/uploads/2023/05/Photo_Melkov_uwp_avatar_thumb.jpg *** https://itc.ua/wp-content/uploads/2023/05/Photo_Melkov_uwp_avatar_thumb.jpg *** https://itc.ua/wp-content/uploads/2023/05/Photo_Melkov_uwp_avatar_thumb.jpg

Памяти мотылька, или бабушка-адмирал Грейс Хоппер

65 лет назад, 9 сентября 1947 года, из одного из первых компьютеров Mark II был извлечен застрявший между контактами реле мотылек, который оказался причиной сбоя в работе ЭВМ. С легкой руки руководителя группы программистов этого компьютера, Грейс Хоппер, понятие «жучка» и термин debugging в смысле «отладки программы» из малоизвестного жаргона инженеров перешли в разряд слов общеупотребительных. Впрочем, знаменита «потрясающая Грейс» далеко не только этим.

Урожденная Грейс Брюстер Мюррей, она появилась на свет в Нью-Йорке 9 декабря 1906 года и в детстве, в отличие от многих других девочек, больше всего интересовалась различного рода техникой. В 17 лет она поступила в один из первых в США женских университетов – колледж Вассар неподалеку от Нью-Йорка, а после окончания этого учебного заведения продолжила свое образование в аспирантуре гораздо более солидного Йельского университета, и даже стала первой в его истории женщиной – доктором математики. В 1930 г. она вернулась в Вассар в качестве преподавателя этой учебной дисциплины и практически одновременно вышла замуж за Винсента Хоппера, филолога из Нью-Йоркского университета. Хотя спустя 15 лет бездетные супруги развелись, Грейс до конца своей жизни продолжала носить фамилию бывшего мужа.

Наверное, Грейс Хоппер так и осталась бы никому не известным доцентом-математиком, если бы не Вторая мировая война. Вдохновленная всеобщим патриотическим порывом – а также памятью о собственном прадедушке, Александре Расселе, который был героем Мексиканской войны, дослужился до звания контр-адмирала и умер, когда Грейс было всего два года, – она поставила себе за цель поступить на службу в Военно-морские силы США.

Грейс в конце 1940-х годов

Однако женщин во флот стали брать только с 1942 года, и то лишь в специальное подразделение «Женского резерва», для работы, по большей части, в тылу – чтобы компенсировать нехватку мужчин, отправляемых на фронт. Но Хоппер потребовался еще целый год, чтобы убедить морское начальство одобрить ее кандидатуру: и по возрасту в 36 лет, и по весу в 47 кг (вместо минимальных 54-х) она казалась не очень-то подходящей фигурой для флотской службы. Старания Грейс увенчались успехом в декабре 1943 года, когда она сменила преподавание в колледже на учебу в Школе мичманов в штате Массачусетс.

Сидеть за партой рядом с девушками вдвое моложе было не очень вдохновляюще, как вспоминала потом Грейс Хоппер; тем не менее, учебу она закончила первой по успеваемости и в 1944 году, получив звание младшего лейтенанта, была направлена – не на фронт, как ей мечталось, а в вычислительный отдел Бюро боеприпасов, под начало Говарда Эйкена, как раз только что завершившего под крылом Гарвардского университета и на деньги от IBM конструирование первого американского программируемого компьютера – Марк I. Новинка была 17 м в длину и 2,5 м в высоту, весила 4,5 тонн и могла производить по три операции сложения или вычитания в секунду. Умножение требовало в 18 раз больше времени, т.е. 6 секунд, а одна операция деления выполнялась более 15 секунд.

Хотя Грейс Хоппер была математиком, а не физиком или инженером, как большинство других пионеров компьютерного дела, она сразу же нашла общий язык с новой ЭВМ. Ее первой задачей был расчет баллистических таблиц для корабельных орудий противовоздушной обороны: вычислив математические формулы для таких таблиц, Хоппер переводила их в инструкции для Марк I, записанные в двоичной системе. В дальнейшем компьютер производил расчеты сам, запрашивая только ввод переменных, таких как высота цели и расстояние до нее. Так Грейс Хоппер стала одним из первых в истории программистов, и в 1946 году даже опубликовала пионерскую книгу, посвященную этому роду деятельности: «Руководство по операциям с Автоматическим вычислителем, управляемом последовательностями» (Automatic Sequence Controlled Calculator – таково было громоздкое официальное название Марк I, придуманное ему руководством IBM).

QA с нуля.
Опануйте трендову IT-професію без досвіду роботи і технічної освіти — та почніть шукати роботу вже через 2,5 місяці навчання на IT-ринку України ❤️, Європи або США/Канади.
Реєстрація на курс
Памяти мотылька, или бабушка-адмирал Грейс Хоппер
Грейс Хоппер (как ни странно, в штатском) за пультом UNIVAC среди учеников

За Марк I последовали Марк II и Марк III – именно со вторым из них связана широко известная история с мотыльком. И хотя Грейс Хоппер не была первой, кто употребил понятие «bug» для обозначения непонятно откуда взявшейся ошибки в работе программы или прибора, – слово это достаточно древнее и происходит от названия одного из фольклорных чудищ, аналогичного русскому «буке», тоже недаром однокоренному с простой и безобидной «букашкой», – леди-офицер немало способствовала популяризации такого словоупотребления. Война тем временем уже заканчивалась; в 1945 году Грейс снова безуспешно пыталась добиться перевода из лаборатории во флот, а после победы отказалась вернуться в колледж Вассар на профессорскую должность и осталась в составе военно-морского резерва, продолжая работать над программами для новых ЭВМ. Правда, в Гарварде ей уже становилось тесновато: коллеги не понимали и не разделяли ее новой идеи – упростить сам процесс программирования до такого уровня, чтобы любые ученые и даже обычные люди могли работать с компьютерами непосредственно, не прибегая к помощи инженеров-специалистов.

Памяти мотылька, или бабушка-адмирал Грейс Хоппер
Тот самый «баг» до сих пор хранится в музее военно-морского флота США

В 1949 году Хоппер перешла на работу в Eckert-Mauchly Computer Corporation в Филадельфии, как старший математик в команде разработки ПО для создававшегося «Универсального автоматического компьютера» – UNIVAC I, оставшись на этой должности и когда маленькая компания Эккерта и Мокли влилась в корпорацию Remington Rand, и после того, как эта последняя была в свою очередь поглощена Sperry Corporation. Новая ЭВМ должна была быть раз в 20 быстрее всех членов семейства Марк вместе взятых, состоять из электронных ламп, а не из электромеханических реле, и записывать данные на магнитную пленку, а не на перфокарты. В свою группу Грейс набрала по четыре человека женщин и мужчин: женский пол, – объясняла она, – более способен к программированию по той причине, что женщины склонны доводить все дела до конца, в отличие от представителей сильного пола.

Задачей, которую поставила своей команде Грейс Хоппер, была автоматизация процесса программирования: научить компьютер самостоятельно переводить команды в двоичный код и при необходимости обращаться к заранее подготовленной «библиотеке подпрограмм». В результате в 1952 году – практически одновременно с получением очередного воинского звания старшего лейтенанта – Хоппер успешно создает «Систему А-0», или «Арифметический язык нулевой версии» – первый в истории компилятор, то есть программу, переводившую спецификации вычислительных подпрограмм и аргументов в машинный код. Дальнейшие разработки Хоппер и ее команды привели к появлению усовершенствованных версий языков программирования, основанных на компиляции, – А-1, А-2 и А-3. Последний был уже выпущен и как коммерческий продукт, получив наименование ARITH-MATIC, а за ним последовали MATH-MATIC и FLOW-MATIC.

Памяти мотылька, или бабушка-адмирал Грейс Хоппер
Хоппер, Кобол и Юнивак

FLOW-MATIC, или B-0, что означало «Бизнес-язык нулевой версии», был первым языком для обработки данных, в котором операции записывались не математическими формулами, а предложениями, состоявшими из слов вполне обычного человеческого языка. Именно на его основе под руководством Грейс Хоппер в 1959 году был создан КОБОЛ – «Common Business Oriented Language», быстро ставший популярным язык программирования для разработки бизнес-приложений, максимально приближенный к английскому. Благодаря этой последней своей особенности КОБОЛ до сих пор является рекордсменом по числу написанных на нем строк кода: 240 млрд. таких строк насчитывалось еще в 1997 году. И хотя в настоящее время КОБОЛ считается безнадежно устаревшим, он до сих пор активно используется в мире бизнес-приложений, особенно в сфере обработки финансовых транзакций.

В конце 1966 года Грейс Хоппер, достигшая и 60-летия, и максимально допустимого 20-летнего срока службы в качестве резервиста, была демобилизована из ВМС США. В утешение ей было присвоено звание капитана 2-го ранга, но в качестве пенсионерки «мама Кобола» чувствовала себя крайне неуютно – к счастью, спустя всего несколько месяцев флотское начальство передумало и в виде исключения снова приняла ее на службу. С 1967 по 1977 годы Хоппер возглавляла Группу языков программирования в отделе планирования информационных систем военно-морского флота. Очередной новаторской идеей Грейс была замена больших централизованных систем сетями небольших компьютеров – и, убеждая в перспективности такого решения министерство обороны, она занималась по большей части разработкой стандартов тестирования ЭВМ и их компонентов, включая стандартизирование диалектов языков КОБОЛ и ФОРТРАН.

Памяти мотылька, или бабушка-адмирал Грейс Хоппер
Капитан Хоппер в своем рабочем кабинете (1976 г.)

К тому времени Грейс Хоппер была уже легендарной личностью – как во флоте, так и в мире компьютерных технологий. В 1983 году особым решением Конгресса США ей присваивается только что восстановленное историческое флотское звание коммодора – в торжественной обстановке и лично тогдашним президентом Рейганом. Всего через год с небольшим все коммодоры будут переименованы в контр-адмиралы младшей ступени, с одной звездой на погонах, – с этим званием Хоппер и войдет в историю, почти что догнав своего почитаемого прадедушку. К сожалению, в сентябре 1986 года, в возрасте неполных 80 лет старейший офицер ВМС США вторично выходит в отставку – как она всегда подчеркивала, «недобровольно».

Тем не менее, без дела Грейс Хоппер не остается: со дня отставки и до самой смерти она состояла старшим консультантом Digital Equipment Corporation. При этом занималась она, в основном, чтением лекций из истории компьютерной техники. В самых различных аудиториях, и даже на телевидении, маленькая «комическая старушка» в адмиральской форме становится неизменной звездой программы: всех привлекала не только ее слава одного из пионеров программирования, но и неподражаемое остроумие, живость и образность ее рассказов. Постоянной темой последних становится и пресловутый мотылек, и «наносекунды» – отрезки медного провода длиной около 30 см, наглядно представляющие путь, который ток проходит за 1 нс.

Памяти мотылька, или бабушка-адмирал Грейс Хоппер
Грейс Хоппер: официальный портрет в форме коммодора

И все же самой значительной своей заслугой, помимо создания первого компилятора, Грейс считала дело воспитания молодежи и побуждения нового поколения к созданию всего самого нового и необычного. Ведь только человек, а вовсе не компьютер, – говорила Хоппер, – способен задавать вопросы и переводить информацию в новое знание! Казалось, возраста и времени для нее не существовало – даже настенные часы в ее комнате… шли в обратную сторону. Грейс Хоппер мечтала дожить до начала XXI века, однако умерла во сне в новогоднюю ночь 1992 года, в возрасте 85 лет.

Памяти мотылька, или бабушка-адмирал Грейс Хоппер
«Грейс Хоппер» – не человек, а эсминец

К счастью, память о «бабушке программирования» жива до сих пор. В свое время контр-адмирал Хоппер стала лауреатом многих почетных наград, включая самую первую премию «Человек года в компьютерной технике» (1969 г.). Еще с 1971 г. Ассоциация вычислительной техники присуждает и награду ее имени – для молодого (до 35 лет) специалиста, сделавшего значительный вклад в области вычислительной техники, – первым такой чести был удостоен Дональд Эрвин Кнут, автор «Искусства программирования». Не забывают Грейс и на флоте – в ее часть был назван боевой корабль USS Hopper (DDG-70), входящий в состав Тихоокеанского флота США.

В качестве бонуса – великолепное выступление контр-адмирала Грейс Хоппер на шоу Late Night with David Letterman в русском дубляже. Если вам больше нравится английский вариант с субтитрами, его можно найти здесь.

Продолжается конкурс авторов ИТС. Напиши статью о развитии игр, гейминг и игровые девайсы и выигрывай профессиональный игровой руль Logitech G923 Racing Wheel, или одну из низкопрофильных игровых клавиатур Logitech G815 LIGHTSYNC RGB Mechanical Gaming Keyboard!


Loading comments...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: