Уолтер Айзексон : «Инноваторы»
1. Докомпьютерная эра
Идеи по созданию «умной машины» витали в воздухе с древних времен.
Первое запатентованное и функционирующее счетное устройство, механический калькулятор, появилось в 1640 году. Его сконструировал математик и философ Блез Паскаль для своего отца, сборщика налогов. Эта машина представляла собой громоздкое устройство из спиц и колесиков, в которое с помощью специальной палочки вводились данные. Машина умела складывать и вычитать.
Несколько десятилетий спустя математик Готфрид Лейбниц попытался усовершенствовать калькулятор Паскаля, но не смог воплотить свои идеи, потому что сам он не обладал инженерным мышлением, а в его окружении не было талантливых инженеров.
1.1. Арифметические машины Чарльза Беббиджа
Чарльз Бэббидж с детства интересовался разными машинами. Его завораживали механические куклы, способные танцевать, ходить, прыгать и даже проявлять характер. Он вырос, стал математиком и приступил к работе по созданию машины более сложной, чем калькуляторы Паскаля и Лейбница. Он создавал свою первую машину, которая могла вычислять синусы, косинусы, тангенсы и логарифмы, взяв за основу идею французского математика Гаспара де Прони о том, что сложную операцию можно разбить на множество простых. Этот принцип лег в основу сборочного конвейера — одного из выдающихся достижений промышленной революции.
Чтобы определить значения квадратов последовательных чисел 1, 2, 3, 4 и т. д., нужно создать столбец A c квадратами этих чисел 1, 4, 9, 16 и т. д. Затем в столбце B следует записать разницу между последовательными числами из столбца А: 3, 5, 7, 9 и т. д. В столбец C нужно занести разность между последовательными числами из столбца B: 2, 2, 2, 2. Теперь можно по постоянным разностям из столбца C восстановить квадраты чисел: добавлять 2 к последнему числу из столбца B, а затем складывать полученный результат с числом из столбца А. В результате получается следующее значение в последовательности квадратов чисел.
Чарльзу Бэббиджу удалось автоматизировать действия из таблицы с помощью своего изобретения — разностной машины. Она работала, основываясь на функциях, выраженных в виде многочлена.
Механизм разностной машины состоял из вертикальных валиков с дисками. Диски поворачивались, и каждый угол соответствовал определенной цифре. Диски управлялись с помощью ручек, которые запускали шестеренки, управляющие дисками. Машина также умела сохранять промежуточные результаты вычислений.
Британское правительство заинтересовалось изобретением и даже выделило финансирование на дальнейшую разработку чудо-машины в 1823 году. В течение 10 лет Бэббидж с инженером пытался усовершенствовать машину. В итоге затраты в 10 раз превысили ассигнования правительства. На эти деньги можно было построить 2 военных корабля. Но устройство так и не стало функционировать так, как задумывалось.
Потом у Бэббиджа возникла новая идея — аналитической машины, которая выполняет вычисления, задаваемые через программу. Машина могла переключаться с одной задачи на другую и менять алгоритм действий, основываясь на промежуточных результатах. Эта концепция опередила свое время на целый век, поэтому она не получила финансирование. Даже в научных кругах ее сочли утопичной.
В Аде Байрон уживались любовь к прекрасному, которая досталась ей от отца — поэта Джорджа Гордона Байрона, и математические способности, полученные в наследство от матери. За свою короткую жизнь (всего 36 лет) Ада успела выйти замуж за лорда Лавлейса, родить троих детей, пристраститься к азартным играм и опиуму. Но кроме этого она успела оставить след в истории цифровых технологий. Ада написала примечания к статье об аналитической машине Бэббиджа. Из-за этих примечаний Аду Лавлейс иногда называют первым программистом — «Примечания» содержали описание первой компьютерной программы. Министерство обороны США даже назвало язык программирования высокого уровня именем Ada — в честь графини Лавлейс, которая предсказала 4 основных свойства современных компьютеров.
• Многозадачность — это машина общего назначения, которая решает не одну арифметическую задачу в определенный отрезок времени, а программируется и перепрограммируется на выполнение неограниченного количества разнообразных задач.
• Возможность работы не только с числовыми, но и с нечисловыми объектами. Эта концепция предвосхищает цифровую эпоху, когда любая информация (музыка, текст, символы, изображения, видео) может записываться и обрабатываться в цифровом виде. Ада в своих примечаниях совершила концептуальный переворот: она размышляла не о сложном калькуляторе (как Бэббидж), а об устройстве, похожем на современный компьютер.
• Программирование — Ада описала, как работает алгоритм, и для примера написала программу вычисления чисел Бернулли. Для определения каждого числа Бернулли она предложила использовать 75 перфокарт. Затем процесс мог запускаться заново для следующих чисел. Ада составила таблицу и диаграмму, пошагово иллюстрирующие процесс передачи на компьютер алгоритма, включающего два рекурсивных цикла, которые пошагово должны передаваться на компьютер. Она также создала пронумерованный список команд кодирования, который содержал указание регистров назначения, операции и комментарии — все, что сегодня встречается в работе программиста C++.
• Искусственный интеллект. Ада не верила, что машины смогут самостоятельно генерировать идеи или иметь намерения. «Аналитическая машина не претендует на создание чего-то своего. Она может выполнить любую команду, которую мы сумеем задать. Она может провести анализ, но от нее никак нельзя ожидать вывода каких-либо аналитических соотношений или установления законов».
Результаты переписи населения США 1880 года пересчитывались вручную в течение восьми лет. Герман Холлерит, сотрудник американского бюро по переписи населения, решил ускорить процесс.
Холлерит взял за основу опыт проводников в поездах, которые пробивали отверстия в различных местах билета. Холлерит разработал перфокарты, на которых было 12 рядов и 24 столбца. В них записывались основные признаки каждого переписываемого человека. Карты помещались между матрицей из ртутных чашек и набором иголок на пружинках. При обнаружении отверстия иголки опускались в чашки, замыкая электрическую цепь. Так вычислялись не только общие показатели, но и количество людей с определенной комбинацией признаков, например, замужних женщин, родившихся за границей.
Благодаря табуляторам Холлерита удалось обработать результаты переписи 1890-го в течение одного года. Впервые в истории электросхемы были использованы для обработки большого объема информации. Компания, созданная Холлеритом, после многочисленных слияний получила в 1924 году название International Business Machines или IBM.
1.4. Цифровые и аналоговые машины
Холлерит и Бэббидж создали цифровые машины, в которых сложение и вычитание целых чисел происходило при помощи шестеренок и колесиков, одним поворотом которых вводилась только одна цифра, как в счетчиках. Но существовал альтернативный подход к вычислениям — он заключался в создании устройств, которые могут моделировать физические явления, а потом проводить измерения по аналогии. В аналоговых компьютерах расчеты производились не посредством операций с числами, а с помощью непрерывных функций. В аналоговых вычислительных машинах переменная величина, такая как электрическое напряжение, расстояние или положение, гидравлическое давление — это аналог соответствующей величины в задаче, которую предстоит решить.
Логарифмическая линейка — это аналоговое устройство, а счеты — цифровое.
В конце XIX века английские ученые лорд Кельвин и его брат Джеймс Томсон разрабатывали аналоговую машину для решения дифференциальных уравнений. Она создавалась для составления графиков приливов и отливов и таблиц углов наводки для расчета траектории полета артиллерийских снарядов. Машина могла за четыре часа составить годовой график приливов и отливов. Но так и не удалось настроить машину таким образом, чтобы решать уравнения с большим количеством переменных.
В 1931 году профессор Массачусетского технологического института Вэнивар Буш построил первый в мире аналоговый компьютер и назвал его дифференциальным анализатором. Машина занимала целую комнату и могла решать уравнения с большим количеством переменных. В течение десяти лет дифференциальный анализатор Буша в разных вариациях собирали в нескольких университетах США и Англии. На них составлялись таблицы артиллерийских стрельб, но они не отличались большой функциональностью. Машина Буша стала последним аналоговым устройством в истории. Цифровые машины победили.
2. Эпоха компьютеров
Началом компьютерной эры можно считать 1937 год, в котором появились новые технологии и подходы, которые позволили сформулировать основные свойства современных компьютеров.
Цифровой формат. Он победил аналоговый по ряду причин, в том числе из-за прорывов в логике и технологии электронных двухпозиционных переключателей (режим «включить/выключить»). Только в 2010-х годах ученые стали говорить о моделировании работы мозга с использованием аналогового принципа.
Бинарность. Современные компьютеры используют двоичную систему, в которой есть только цифры 0 и 1. В 1940-е годы стало очевидно, что бинарная система как нельзя лучше подходит для выполнения логических операций с использованием схем, содержащих двухпозиционные переключатели.
Электроника. В середине 1930-х годов британский инженер Томми Флауэрс изобрел метод использования электронных ламп в качестве двухпозиционных переключателей в электронных схемах. Ранее в схемах использовались механические и электромеханические переключатели, а электронные лампы использовались для усиления сигналов. Электронные компоненты (сначала электронные лампы, а позже транзисторы и микросхемы) позволяют компьютерам работать в тысячи раз быстрее.
Универсальность. Компьютеры могут программироваться и перепрограммироваться, умеют решать не только математические задачи, но и оперировать другими символами: словами, звуками, изображениями…
Начиная с 1937 года, компьютерные инновации развивались в трех направлениях: конструирование машин, разработка программ и создание сети, связывающей компьютеры сначала локально, а затем глобально.
2.1. Кто создал первый компьютер?
Электронные лампы стали широко применяться в радиоиндустрии, что подготовило почву для создания электронных цифровых схем. Открытиями в области теоретической логики выявили целесообразность применения этих схем. Приближение второй мировой войны также ускорило процесс создания универсального компьютера.
Уолтер Айзексон считает верным следующее определение компьютера: это машина, которая является электронным и программируемым устройством общего назначения. В 1937–1945 годах было создано несколько инновационных машин. Какая из них полностью соответствует определению компьютера?
Калькулятор комплексных чисел, который математик Джордж Роберт Стибиц начал в одиночку собирать на кухонном столе в 1937 году и закончил вместе с коллегами в лаборатории Bell Labs через 2 года, нельзя назвать компьютером. Калькулятор Стибица не был программируемым, работал на электромеханических реле, то есть не был полностью электронным и не был универсальным, а лишь решал конкретную задачу — производил сложные расчеты для телефонных линий быстрее механических калькуляторов.
Машина Z3, работу над которой немецкий инженер Герман Цузе завершил в 1941 году, тоже не подходит под определение компьютера. Она стала первым автоматически контролируемым, программируемым электрическим двоичным устройством. Но она была разработана для решения инженерных проблем, а не для универсальных задач. К тому же, Z3 была электромеханической, а не электронной. Эта машина так и не была запущена в производство: она была разрушена во время бомбардировок Берлина союзниками в 1943 году.
Создание компьютера Джона Винсента Атанасова было приостановлено в 1942 году, когда Атанасов отправился служить в ВМФ США. Его компьютер так и не начал полноценно работать. Он был частично электронным, так как работал на электронных лампах, но его блоки памяти и извлечения данных содержали механические вращающиеся барабаны. Он не был ни программируемым, ни универсальным, а был жестко ориентирован на специальную задачу решения линейных уравнений.
Colossus I, созданный в 1943 году Максом Ньюманом и Томми Флауэрсом при участии Алана Тьюринга в Англии, был первым цифровым полностью электронным компьютером, который был и программируемым, и работающим. Но он не был компьютером общего назначения, а предназначался для решения определенной задачи — взлома военных кодов Германии.
Mark I Говарда Айкена, введенный в эксплуатацию в 1944 году, создавался при участии IBM для математических расчетов. Это было программируемое, но электромеханическое, а не электронное устройство.
Айзексон считает, что первым настоящим компьютером был ENIAC, построенный Преспером Эккертом и Джоном Мокли в 1945 году. Это была первая полностью электронная, программируемая с помощью подключения и отключения соответствующих кабелей машина — ветвь программы менялась в зависимости от промежуточных результатов. ENIAC был компьютером общего назначения, то есть теоретически мог решать любую задачу. Это был быстрый компьютер, который эффективно работал в течение 10 лет и стал прототипом для более поздних компьютеров.
После создания ENIAC компьютеры развивались со стремительной скоростью. Вот лишь наиболее значимые события в мире компьютерных инноваций.
1947 — в Bell Labs изобретен транзистор.
1959 — Роберт Нойс и Гордон Мур с коллегами из Fairchild Semiconductors изобретают микрочип.
1968 — Энгельбарт и Билл Инглиш изобретают компьютерную мышь.
1971 — Нойс и Мур создают первый микропроцессор Intel 4004, который позволил начать работу над ПК.
1974 — в компании MITS сконструирован первый персональный компьютер Altair.
1975 — Билл Гейтс и Пол Ален создают язык Basic для Altair и компанию Microsoft.
Стив Джобс и Стив Возняк конструируют Apple I.
1983 — Билл Гейтс объявил о создании Windows.
1995 — шахматный компьютер Deep Blue, созданный IBM, выиграл матч у чемпиона мира по шахматам Гарри Каспарова.
2.2. Программирование. Роль женщин в компьютерных инновациях
Во время Второй мировой войны в истории развития вычислительных машин появились женские имена. Женщины разрабатывали способы кодирования инструкций.
Самой яркой фигурой среди первых женщин-программисток была Грейс Хоппер, которая, несмотря на степень доктора математики, служила офицером в ВМС США. Грейс работала с Говардом Айкеном в Гарварде, а затем с Джоном Мокли. Айкен сначала был недоволен тем, что в его подразделении работает женщина. Однако позже он сделал Грейс своим первым заместителем.
Грейс Хоппер оказала значительное влияние на современное программирование. Она изобрела подпрограммы — части программы, предназначенные для выполнения конкретных задач. Подпрограммы загружаются только один раз, но их можно вызывать в любой момент выполнения основной программы. Грейс создала библиотеку подпрограмм, которую регулярно пополняла. В 1952 году она разработала первый компилятор — устройство для перевода исходного кода на машинный язык, используемый различными компьютерными процессорами. Благодаря компилятору можно писать одну программу для разных машин. Современные программистские термины bug (англ. насекомое) — ошибка в программе, и debugging (англ. устранение насекомых) — отладка программы тоже ввели в обращение Грейс Хоппер и ее команда.
К середине 1940-х годов в Пенсильванском университете, где разрабатывали компьютер ENIAC, трудилось несколько десятков женщин-математиков. Они выполняли функции «компьютеров» — решали рутинные математические задачи: в основном рассчитывали артиллерийские траектории и составляли баллистические таблицы для армии.
Летом 1945 года Джин Дженнингс (Бартик), Мэрлин Весков (Мельцер), Рут Лихтерман (Тейтель-баум), Бетти Снайдер (Холбертон), Фрэнсис Байлас (Спенс) и Кей Макналти (Мокли) были направлены на Абердинский испытательный полигон, где их учили работать с перфокартами IBM и подключать коммутационные панели. Через шесть недель девушки вернулись в Пенн, где им выдали огромные диаграммы и схемы компьютера ENIAC. Им предстояло понять, как работает машина, и научиться ее программировать. Джин Дженнингс позже вспоминала: «Наука и техника в США были еще более сексистскими, чем сегодня. Если бы руководители ENIAC знали, насколько важным будет программирование ЭВМ и насколько сложным оно окажется, они, вероятно, три раза бы подумали, прежде чем отвести столь важную роль женщинам».
К сожалению, женщины-программисты были незаслуженно забыты. Их, работавших без сна и отдыха, не приглашали на демонстрации и презентации первого компьютера, а в многочисленных публикациях об ENIAC упоминались лишь мужчины, которые конструировали «железо».
О ценности программ в мире заговорили лишь несколько десятилетий спустя, когда Билл Гейтс стал самым богатым человеком на земле, создавая только программное обеспечение.
2.3. Создание всемирной паутины
Всемирная сеть появилась благодаря сотрудничеству людей из трех разных групп: военных, университетских ученых и сотрудников частных корпораций. Заслуга создания этого тройственного союза принадлежит главным образом Вэнивару Бушу, который сочетал в себе два дара: предпринимателя и ученого. Совместно с однокурсниками он основал компанию Raytheon, производящую электронику, которая впоследствии стала крупным поставщиком военного ведомства США. А степень доктора электроники Бушу присвоили одновременно в Гарвардском и Массачусетском университетах.
Накануне Второй мировой войны Буш, обеспокоенный техническим отставанием американских военных, уговорил президента Гарвардского университета Джеймса Брайанта Конанта и группу ведущих американских ученых обратиться к президенту Франклину Рузвельту по поводу создания Национального исследовательского комитета обороны и военного Бюро научных исследований и развития. Рузвельт дал добро, и Буш возглавил обе организации. Стараниями Буша после войны был также создан Национальный научный фонд. Многие фундаментальные исследования в Америке финансировались за счет министерства обороны и Национального научного фонда. В 1950–1980 годах ассигнования на фундаментальную науку были сопоставимы с затратами частного бизнеса. Эти инвестиции привели не только к созданию интернета, но и к появлению многих послевоенных американских инноваций и экономическому буму.
При поддержке правительства количество центров, занимавшихся как чистой наукой, так и инновациями, резко возросло.
Среди этих «гибридных центров» были Lincoln Laboratory, Bolt, Beranek and Newman company, RAND Corporation, Stanford Research Institute с его отделениями, а также Augmentation Research Center и Xerox PARC. Каждая из них сыграла свою роль в развитии интернета.
Идея создания компьютерной сети возникла в 1940-х годах из-за потребности в ускорении работы компьютеров. В то время разработчики практически не имели доступа к компьютеру. Машиной управлял оператор, который получал стопку перфокарт и медленно «кормил» ими машину. Малейшая ошибка означала, что перфокарты нужно проверить, выявить ошибку и снова начать прогон. В то время процесс решения компьютером задачи иногда растягивался на несколько дней. Этот долгий процесс назывался пакетной обработкой данных.
Разделение времени позволяло подключить несколько машин к центральному процессору так, чтобы несколько пользователей могли одновременно самостоятельно набирать команды и быстро получать ответ. Сеть представляла собой симбиоз человека и компьютера. Боб Тейлор, запустивший прототип Интернета Arpanet, сравнивал пакетную обработку данных с обменом письмами, а интерактивные вычисления посредством компьютерной сети — с разговором с глазу на глаз.
Люди, стоявшие у истоков Сети, Боб Тейлор и его коллега Дж. К. Р. Ликлайдер, умели предвидеть будущее. В 1968 году они писали в статье «Компьютеры как устройства для общения»: «Для человека в Сети жизнь станет веселее, поскольку те, с кем он общается наиболее тесно, будут отбираться скорее на основании общности интересов и целей, чем благодаря случайной близости в пространстве. Для каждого появится множество возможностей найти себе занятие, поскольку вся информация о мире, со всеми его сферами деятельности и отраслями знания, будет для него открыта».
Вот основные вехи в создании сетей.
1958 — создается агентство ARPA (Агентство Перспективных исследовательских проектов), и Ликлайдер становится руководителем отдела методов обработки информации.
1960 — Ликлайдер опубликовал статью «Симбиоз человека и компьютера», а Пол Бэран в компании RAND придумал принцип коммутации пакетов.
1963 — Ликлайдер предлагает идею межгалактической компьютерной сети.
1966 — начало проекта ARPANET.
1969 — установка первых узлов сети ARPANET.
1971 — Рэй Томлинсон изобретает электронную почту.
1973 — Боб Меткалф в Xerox Park разрабатывает Ethernet, а Винт Серф и Боб Кан завершают разработку протоколов TCP/IP для интернета.
1978 — запущена первая электронная доска объявлений.
1979 — создание функции конференций в сетях Usernet.
1981 — поступают в продажу первые модемы для индивидуальных пользователей фирмы Hayes.
1985 — Стюарт Бранд и Ларри Бриллиант создают первое сетевое сообщество The Well.
1991 — Тим Бернерс Ли объявляет о создании всемирной паутины (WWW).
1993 — сервис AOL Стива Кейса дает возможность свободного доступа к интернету, создается первый браузер Mosaic.
1994 — появляются первые веб-журналы и блоги.
1998 — Ларри Пейдж и Сергей Брин запускают Google.
1999 — Эв Уильямс запускает сервис The Blogger.
2001 — Джимми Уэллс и Лэрри Сэнгер запускают Википедию.
2004 — Марк Цукерберг создает всемирную соцсеть Facebook.
3. Как рождаются инновации
Как показывает история, возникновение инноваций не всегда можно прогнозировать, но есть определенные закономерности их возникновения.
• Чаще всего инновации — это сочетание прорывных идей, десятков маленьких изобретений и ежедневных улучшений, осуществляемых командой.
Один из создателей Твиттера Джек Дорси вдруг решил, что он единственный создатель этого сервиса, и стал рассказывать об этом в интервью. Сооснователь Твиттера Эван Уильямс ответил своему партнеру так: «Нет, не ты создал Твиттер. И не я. И не Биз (Стоун, третий соавтор). В интернете люди ничего не изобретают, они только развивают уже существующие идеи».
• Все достижения цифровой эпохи строятся на опыте прошлых поколений.
Стив Джобс развивал идеи Алана Кея. А Говард Эйкен из Гарварда создавал свой первый компьютер, восхищаясь разностной машиной Чарльза Бэббиджа, и настаивал на том, чтобы члены команды изучали «Примечания» Ады Лавлейс.
• Самыми эффективными были команды, состоявшие из специалистов в разных областях.
В лаборатории Bell Labs работали теоретики и экспериментаторы, материаловеды, инженеры, предприниматели и мастера по ремонту телефонных линий со смазкой под ногтями. Уолтер Брэттен, физик-экспериментатор, трудился бок о бок с Джоном Бардином, физиком-теоретиком. Они сутки напролет (ученые к тому же дружили семьями) устраивали мозговые штурмы о вариантах применения кремния. И в результате они создали первый транзистор.
Необходимо объединять в одной команде мечтателей с революционными идеями и менеджеров, которые могут реализовать эти фантазии.
Роберт Нойс и Гордон Мур были лишены коммерческой жилки, поэтому пригласили во вновь созданную компанию Intel Энди Гроува, который умел организовывать рабочий процесс, мотивировать людей и достигать поставленных целей.
• Личное общение способствует эффективности команды.
Когда Марисса Майер стала гендиректором Yahoo!, она призвала сотрудников работать в офисе, отметив, что «люди более открыты и креативны, когда работают вместе».
Проектируя новый головной офис Pixar, Стив Джобс придумал, как расположить туалеты таким образом, чтобы сотрудники чаще встречались в коридорах.
• Инновации, как правило, появляются при синхронизации идей и технологий.
Идея отправить человека на Луну возникла, когда изобрели микрочипы, которые позволили устанавливать компьютерные системы наведения в головную часть ракеты.
Но иногда идеи возникают раньше, чем технологии.
Чарльз Бэббидж опубликовал статью об аналитической машине в 1837 году, а технологически создание компьютера стало возможным только 100 лет спустя.
Заключение
Первое счетное устройство было создано в XVII веке, но о компьютере в современном понимании стали говорить только в XIX веке, когда Ада Лавлейс опубликовала комментарии к статье об аналитической машине. Она сформулировала основные свойства современных компьютеров: многозадачность, возможность оперировать не только числовыми, но и нечисловыми объектами, программирование и искусственный интеллект. Эти комментарии предвосхитили развитие технологий на 100 лет.
Современные цифровые технологии развивались в трех направлениях: конструирование машин, разработка программ и создание сетей.
В конце 1930-х годов в Европе и Америке было запущено несколько проектов, целью которых было создание первого компьютера. Но из всех созданных машин настоящим компьютером (электронным программируемым устройством общего назначения) можно считать ENIAC, разработанный Преспером Эккертом и Джоном Мокли в 1945 году в Пенсильванском университете. Начиная с 1930-х годов все компьютеры имели цифровой формат, а в 1940-х годах стало очевидно, что бинарный формат предпочтительнее десятичного. Первые компьютеры были огромных размеров, и их обслуживали команды операторов. Но уже через 30 лет появились первые персональные компьютеры, которые помещались на письменном столе.
Первыми программистами были женщины. Команда из шести девушек создала программное обеспечение для первого компьютера, а Грейс Хоппер создала первые подпрограммы, разработала первый компилятор и ввела в обращение термины bug и debugging.
Компьютерные сети стали создавать, чтобы оптимизировать пакетную обработку данных. Разделение времени позволяло нескольким пользователям работать на разных компьютерах над одной проблемой. Всемирная сеть появилась благодаря триединству американских военных, университетских ученых, сотрудников частных корпораций и профессору Вэнивару Бушу.
История показывает, что для возникновения инноваций важно изучать опыт предшественников, создавать команды из теоретиков, практиков и управленцев и находить возможности для личного общения членов команды.