Краткая история цифровизации - Мартин Буркхардт
Шрифт:
Интервал:
Грейс Хоппер же была ответственной за саму машину, поэтому не следила за такими материями: несмотря на то, что все работало как часы, поручений меньше не становилось, да и программирование Mark I было невероятно трудоемким. Машина постоянно отключалась, и сотрудникам приходилось залезать в ее недра, вооружившись фонариками и зеркальцем из косметички Хоппер. Иногда причиной таких неполадок становилась обычная моль, случайно попавшая между контактами – отсюда появилось слово «баг»[9] и выражение «дебаггинг» (то есть буквально «дезинсекция»), – но чаще всего ошибки были связаны с человеческим фактором. Особенно часто возникал «демонстрационный эффект», когда кто-то из старших по званию приводил в лабораторию очередную группу любопытных посетителей. Наглядно продемонстрировать сложное устройство вычислительной машины было затруднительно, поэтому чаще всего экскурсия завершалась тем, что один из начальников решительно выдергивал один из штекеров на коммутационной панели и переставлял его в другое положение. К сожалению, это почти всегда имело фатальные последствия, так как меняло всю рабочую программу машины, и она теряла способность корректно выполнять вычисления.
Подобных аппаратных вмешательств сотрудникам лаборатории хотелось избежать, поэтому Грейс Хоппер создала библиотеку часто используемых подпрограмм в виде небольших перфокарт с рукописными пометками. Карточки существенно ускорили процесс программирования, и она начала сшивать их в последовательности, конструируя более сложные программы (например, операции вычисления косинуса или квадратного корня), что еще больше упростило работу.
Тем не менее четкая граница между аппаратной и программной составляющей машины сохранялась и постоянно создавала неудобства. Корнем зла, как и раньше, был человеческий фактор: программисты часто ошибались даже при ручном копировании перфокарт. Конечно, в этом не было злого умысла, просто подтверждался закон Мерфи: если что-то может пойти не так, то это пойдет не так. Хоппер регулярно убеждалась в этом на собственном примере, когда сама делала ошибки, выполняя вроде бы прекрасно знакомые операции. Она пришла к выводу, что всю эту работу было бы лучше перепоручить машине. Так была сформулирована цель проекта, который будет занимать Хоппер в ближайшее десятилетие: добиться того, чтобы программисты разговаривали с машиной с помощью языка, а не переключали контакты. Конечно, для этого нужно было вначале обучить этому языку машину, что Хоппер и отразила в названии представленного в 1952 году исследовательского проекта The Education of a Computer – «Обучение компьютера».
Сразу приступить к делу не получилось: дело в том, что расположенная в подвале Гарвардского университета лаборатория коммандера Эйкена в послевоенное время перестала вписываться в структуру учебного заведения, а финансирование со стороны оборонного ведомства почти прекратились. Большую часть сотрудников уволили или перевели в штат университета, но самой Хоппер не предложили остаться преподавать в Гарварде. Она начала искать утешение в табаке и алкоголе и впала в глубокую депрессию, откуда ее с трудом вызволили друзья и бывшие коллеги. В итоге Хоппер позвали в филадельфийскую лабораторию Джона Преспера Эккерта и Джона Мокли, которая по заказу компании Remington Rand строила ЭНИАК – первый в мире полностью электронный цифровой вычислитель на вакуумных радиолампах. Хоппер получила должность руководителя отдела программирования и продолжила свой компьютерно-образовательный проект на этом посту. Опираясь на опыт автоматизации работы с помощью перфокарт, она решила форсировать создание языка программирования, чтобы коммуникация человека и машины происходила максимально понятным образом. Созданный ей язык FLOW-MATIC позволил добиться значимых успехов: выросла не только скорость работы компьютера, но и уровень сложности, а также эффективность написанных на этом языке программ. Противниками внедрения нового языка, как ни удивительно, оказались не руководители лаборатории, а сами программисты, которые боялись, что их навыки копания в ламповых схемах станут ненужными, и им придется уступить свое место каким-то пришлым программистам.
Чтобы показать, что настоящее искусство программирования заключается не в знании оборудования, а в силе воображения и готовности отказаться от привычных путей в поисках новых решений, Хоппер часто предлагала стать программистами другим сотрудникам компании, в первую очередь секретаршам. Она долго наблюдала за их работой и убедилась в том, что девушки выполняли ее крайне добросовестно, а именно этот навык и был неотъемлемым в коммуникации с машиной. Усилия Хоппер по превращению «глупых блондинок» в гениев программирования увенчались успехом, и вскоре больше половины ее отдела программирования состояла из женщин. Всё это доказывало, что для управления компьютером больше не нужно было владеть ни высшей математикой, ни квантовой механикой; компьютерная программа оторвалась от материального и перешла в сферу воображения – то есть позволяла произвольно творить новые миры. Если во вселенной коммандера Эйкена всем нужно было обязательно взаимодействовать с машиной физически, то во вселенной Хоппер программист вообще не должен думать о тех квантовомеханических процессах, которые повлекут за собой действия, описываемые им на бумаге или загружаемые в память компьютера. Все происходит как по мановению волшебной палочки: сказано – сделано! Получается, что язык программирования воплощает в жизнь то, о чем люди раньше могли только мечтать. В этом смысле язык программирования – дополнение к микропроцессору, переход в сослагательное наклонение, в виртуальную реальность, где возможно всё, а ограничений не существует. Перефразируя Роберта Оппенгеймера, можно сказать, что язык не позволяет видеть, как выглядят вещи, но позволяет понять, как эти вещи могли бы выглядеть.
Границы исчезают, уступая свое место чувству возможного – вполне в духе постматериализма и лозунгов будущих студенческих революций: «Вся власть воображению!», «Вся власть детям!»
В кабинете Хоппер висели часы, идущие не вперед, а назад: так она демонстрировала своим собеседникам ограниченность человеческого сознания. Но Хоппер умела находить аргументы не только в личном разговоре, но и в продвижении своих инноваций. Ей удалось продемонстрировать руководству компании и всему программистскому сообществу, что революция в программировании не только приведет к повышению качества и скорости, но и откроет новые сферы применения компьютеров. Однако для всего этого программистам вначале требовалось договориться, на каком языке они будут писать свои программы. Проявив свои способности гениального коммуникатора, Хоппер смогла убедить коллег по цеху перейти на Кобол (COBOL, Common Business Oriented Language) – первый высокоуровневый язык программирования, удерживавший пальму первенства по частоте использования вплоть до 2000 года. На этом невероятная история не закончилась: после завершения гражданской карьеры нашего неутомимого футуролога Грейс Хоппер снова призвали на действительную службу и повысили до звания контр-адмирала с вязальными спицами в руках, а в 1969 году даже признали человеком года. В чем же состоял главный принцип счастливой жизни контр-адмирала Хоппер? «Лучше сделать и потом извиниться, чем заранее просить разрешения».
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!