10 print ‘hello world’;
20 goto 10
И — вот! — экран заполняет грубоватый текст в низком разрешении: hello world, hello world, hello world… Вы написали инструкцию интуитивно понятными, человеческими словами, и компьютер ее принял. Это казалось маленьким чудом. Компьютеры совершили такой скачок после Mark I в том числе благодаря миниатюризации компонентов. Однако невозможно было бы представить подобную функциональность, если бы программисты не могли писать подобные Windows программы на близком человеческому языке и им приходилось бы переводить всё в нули и единицы — наличие и отсутствие тока, которое в итоге и делает всю работу.
Первым шагом к этому стало устройство, которое называлось компилятором, а его история начинается с женщины по имени Грейс Хоппер.
Сегодня много говорят о том, что женщин нужно привлекать в технические профессии. В 1906 году, когда родилась Грейс, равенство полов на рынке труда мало кого заботило. К счастью, среди немногих небезразличных был отец девочки, руководитель в страховой компании. Он не находил причин для того, чтобы его дочери получили худшее образование, чем сын. Грейс пошла в хорошую школу, где у нее проявились блестящие способности к математике. Ее дедушка дослужился до контр-адмирала, и в детстве она мечтала о флоте, но туда брали только мужчин. Тогда она решила стать профессором[395].
В 1941 году, после нападения на Перл-Харбор, Америка вступила во Вторую мировую войну. Талантливые мужчины были призваны, и флот начал принимать женщин. Грейс немедленно воспользовалась открывшимся шансом.
Если вы недоумеваете, какая польза флоту от математиков, подумайте о наведении ракет. Под каким углом и в каком направлении нужно стрелять? На траекторию влияет множество факторов: дальность, температура, влажность, скорость и направление ветра. Это несложные вычисления, но если «компьютер» — это ручка и листок бумаги, времени уходит много[396]. Может быть, есть более быстрый способ? Когда младший лейтенант Хоппер в 1944 году окончила школу мичманов, на флоте живо заинтересовались потенциалом громоздкого устройства, недавно разработанного гарвардским профессором Говардом Эйкеном — тем самым Mark I. Хоппер направили помочь Эйкену разобраться, на что способна новинка.
Профессор поначалу не испытал восторга оттого, что в коллективе появилась женщина, но вскоре Хоппер так его поразила, что он поручил ей написать руководство по эксплуатации. Текст рождался методом проб и ошибок. Чаще всего Mark I глох вскоре после включения, к тому же не выдавал удобного сообщения об ошибке. Однажды сбой произошел из-за того, что в машину залетела моль, что подарило миру современный термин «баг» — жучок. Чаще «мошки» были не такие буквальные: неправильное положение переключателя, отверстие в бумажной ленте не в том месте. «Детективная» работа оказалась нудной и трудоемкой.
Хоппер и ее коллеги начали заполнять записные книжки фрагментами проверенного на практике кода, пригодного к повторному использованию. К 1951 году компьютеры усовершенствовались и научились хранить эти фрагменты — подпрограммы — в собственных системах памяти. Хоппер, в то время работавшая в компании Remington Rand, попыталась убедить начальство позволить программам вызывать эти подпрограммы знакомыми словами, например «вычти из зарплаты подоходный налог» вместо, как выражалась Хоппер, «попыток записать это восьмеричным кодом или всевозможными символами»[397].
Позже Хоппер утверждала: «Раньше никто об этом не думал, потому что таких ленивых, как я, не нашлось»[398]. Хоппер, прославившаяся своим трудолюбием, лукавит, но зерно правды в ее заявлении есть. Идея, которую она назвала компилятором, подразумевала компромисс: само программирование шло быстрее, но получавшиеся в результате программы работали медленнее. По этой причине Remington Rand не проявила интереса к изобретению. У каждого клиента были свои, индивидуальные требования к блестящим новеньким вычислительным устройствам, поэтому лучше, полагали в компании, чтобы специалисты компании программировали их как можно эффективнее.
Но Хоппер не унывала и написала первый компилятор в свободное от работы время. Он помог пользователям мыслить яснее, и это на многих произвело большое впечатление. Одним из таких клиентов был инженер Карл Хаммер, который благодаря нововведению за день смог решить уравнение, над которым его коллеги бились месяцами: хватило всего двадцати строк[399]. Программисты-единомышленники со всех Соединенных Штатов начали присылать Хоппер новые фрагменты кода. Она добавляла их в библиотеку для следующего выпуска и в итоге стала пионером программного обеспечения с открытым кодом.
Благодаря компилятору Хоппер сложился один из первых языков программирования — COBOL, но еще важнее было то, что он проложил путь к знакомому теперь разделению на «железо» и программное обеспечение. В уникальных изделиях вроде Mark I аппаратура и программное обеспечение были едины: схема переключателей работала только на данной машине, потому что каждая требовала совершенно иного подхода. А если компьютер способен запустить компилятор, он выполнит любую программу на его основе.
С тех пор людей, программистов, от базовых, физических микросхем отделяет все больше слоев абстракции, и каждый слой — это еще один шаг к освобождению умов программистов. Важность этого направления осознала именно Грейс Хоппер: надо думать о концепциях и алгоритмах, а не о переключателях и проводах.
Хоппер имела свое мнение о том, почему коллеги поначалу этому сопротивлялись. Дело было не в заботе о скорости работы программ. Нет. Они просто любили престиж, им нравилось осознавать себя единственными способными общаться с богоподобным компьютером от имени простых смертных, только что его купивших. Хоппер называла их «первосвященниками»[400]. Сама же она полагала, что возможность программировать должен иметь каждый. Теперь так оно и есть, и благодаря этому компьютеры стали намного полезнее.
V. Откуда берутся изобретения?
* * *
Во многих книгах пытались разгадать, как появляются инновации. Разнообразие ответов очень красноречиво. В книге Джоэля Мокира A Culture of Growth («Культура роста») рассматриваются мощные фоновые силы. Автор подчеркивает политическую раздробленность Европы эпохи Просвещения, благодаря которой интеллектуалы свободно путешествовали, убегая от преследований и ища покровителей. Стивен Джонсон в книге Where Good Ideas Come From[401] анализирует сети единомышленников, от кофеен 1650-х годов до сегодняшней Кремниевой долины. Кейт Сойер в книге Explaining Creativity («Объясняя креативность») черпает идеи в нейробиологии и когнитивной психологи. Существует множество других точек зрения на этот счет.
Данная книга посвящена не тому, как изобретения появляются на свет, в ней, скорее, описывается их связь с окружающими нас социальными и экономическими структурами. Тем не менее почти мимоходом мы уже многое узнали о происхождении инноваций.
Некоторые изобретения вызваны спросом: мы не знаем, кто изобрел плуг, но известно, что он явился ответом на происходящие в мире изменения. Кочевники-собиратели не вдруг перешли к сельскому хозяйству, чтобы воспользоваться внезапно появившейся технологией. Другой пример — колючая проволока, потребность в которой была очевидна всем. Джозеф Глидден создал самый удобный из многочисленных конкурирующих вариантов, но мы мало знаем о том, как протекал его творческий процесс. Видимо, обошлось без чудес: в конце концов, задним числом конструкция представляется довольно очевидной, и Глидден просто первым ее придумал.
При всем при том некоторые изобретения подталкиваются предложением. Бетти Кронин работала в компании Swanson, которая получала неплохую прибыль от поставок консервов американским войскам во время Второй мировой войны. Возможности и технологии уже существовали, но нужно было найти новый рынок. Замороженные блюда стали продуктом погони за прибылью.
Случаются изобретения по аналогии: Сергей Брин и Ларри Пейдж разработали свой поисковый алгоритм, отталкиваясь от научного цитирования. Джозеф Вудленд придумал штриховой код, когда провел пальцами по песку, размышляя об азбуке Морзе. При этом сам штрихкод люди изобретали независимо друг от друга несколько раз. Камнем преткновения была внутренняя политика американских розничных сетей. Все это напоминает о том, что просто что-то придумать — мало. Было бы совершенно неправильно говорить, что Малком Маклин «изобрел» грузовой контейнер; более поучительны обстоятельства, которые ему пришлось преодолеть, чтобы система заработала.
Кроме того, даже конкретное изобретение бывает сложно приписать одному человеку, и еще сложнее уловить момент «эврики», когда пазл идеи складывается окончательно. У многих изобретений, описанных в этой книге, множество родителей; иногда они развивались десятилетиями, даже веками. Вот честный ответ на вопрос, откуда берутся изобретения: почти отовсюду, откуда только можно себе представить.
30. iPhone
В 2007 году, 9 января, самый знаменитый предприниматель на планете объявил о совершенно новом продукте, который должен был стать самым прибыльным в истории[402]. Это был iPhone, во многих отношениях определивший современную экономику. Конечно, доход сам по себе важен: лишь две или три компании в мире заработали столько денег, сколько Apple на одном этом телефоне. Появилась новая категория продукции: десять лет назад смартфонов не существовало, а теперь они стали предметом вожделения для большей части человечества. iPhone преобразил и другие рынки — программного обеспечения, музыки, рекламы.