Промышленная революция основывалась на двух глубоких и простых великих концепциях. Изобретатели, во-первых, придумали способы упростить усилия, разбивая их на небольшие простые операции, которые могли быть выполнены на сборочных линиях. Во-вторых, изобретатели нашли способы автоматизировать эти операции с тем, чтобы они могли выполняться с помощью машин, многие из которых работали на паровых двигателях. Бэббидж, опираясь на идеи Паскаля и Лейбница, пытался применить эти две концепции к процессу вычислений, создав прототип механического предшественника современного компьютера. Его наиболее значительный концептуальный прорыв состоял в том, что он придумал машины, которые были предназначены для выполнения не только одной специальной задачи, а могли быть запрограммированы и перепрограммированы посредством использования перфокарт для решения разных задач. Ада увидела красоту и значительность в этой захватывающей идее, но сама выдвинула еще более смелое предположение, вытекающее из идеи Бэббиджа: такие машины могли бы работать не только с цифрами, но и со всеми объектами, поддающимися отображению символами.
Со временем Ада Лавлейс стала иконой для феминисток и получила звание первого программиста. Министерство обороны США даже назвало объектно ориентированный язык программирования высокого уровня Ada. Но ее оппоненты считали ее ветреной, склонной к галлюцинациям и внесшей лишь незначительный вклад в “Примечания”, которые она подписала своими инициалами. По поводу аналитической машины она как-то сказала в “Примечаниях”: “При рассмотрении любого нового предмета мы склонны сначала переоценивать то, что мы находим интересным или примечательным, а потом (и это является своего рода естественной реакцией) недооценивать истинное положение дел”. Эти слова могут быть отнесены и к ее противоречивой репутации.
На самом деле вклад Ады был и важным, и вдохновляющим. Она оказалась проницательнее и Бэббиджа, и всех других людей ее эпохи и сумела заглянуть в будущее, в котором машины станут партнерами человеческого интеллекта, и тогда совместными усилиями они смогут ткать гобелены, такие же красивые, как на ткацком станке Жаккарда. Ее поэтическая наука помогла ей оценить по достоинству идею счетной машины Бэббиджа, чего не смогла сделать научная элита того времени. Она, кроме того, поняла, как вычислительную способность такого устройства можно использовать для работы с разнообразной информацией. Таким образом, Ада, она же графиня Лавлейс, была среди тех, кто посеял семена цифровой эры, взошедшие сто лет спустя.
Вверху: Вэнивар Буш (1890–1974) со своим дифференциальным анализатором в МТИ
Слева: Алан Тьюринг (1912–1954) в школе Шерборна, 1928 г.
Клод Шэннон (1916–2001), 1951 г.
Глава 2
Компьютер
Чаще всего инновации возникают при синхронизации идей и технологий. А это значит, что: глубокие идеи приходят как раз тогда, когда уже появились технологии, с помощью которых эти идеи могут быть реализованы. Например, мысль отправить человека на Луну возникла ровно в тот момент, когда научились делать микрочипы, которые позволили устанавливать компьютерные системы наведения в головную часть ракеты. Есть и противоположные примеры, когда идея возникала несвоевременно. Чарльз Бэббидж опубликовал статью о компьютере, устроенном сложнейшим образом, в 1837 году, но потребовалось еще сто лет, в течение которых появились необходимые для его создания десятки новых технологических усовершенствований, прежде чем первый такой компьютер появился на свет.
Некоторые из этих усовершенствований кажутся почти тривиальными, но прогресс движется не только большими скачками, но и сотнями мелких шажков. Взять, например, перфокарты, которые Бэббидж увидел на станках Жаккарда и намеревался использовать в своей аналитической машине. Активное использование перфокарт в компьютерах началось из-за того, что Герман Холлерит – сотрудник Бюро по переписи населения США – пришел в ужас от того, что результаты переписи 1880 года пересчитывались вручную в течение примерно восьми лет. И тогда он принял решение автоматизировать подсчет результатов следующей переписи 1890 года.
Опираясь на опыт проводников в поездах, пробивающих отверстия в различных местах билета, отвечающих за определенные характерные черты каждого пассажира (пол, приблизительный рост, возраст, цвет волос), Холлерит разработал перфокарты с двенадцатью рядами и двадцатью четырьмя столбцами, в которых записывались основные признаки каждого переписываемого человека. Карты укладывались между матрицей из ртутных чашек и набором иголочек на пружинках, и там, где было отверстие, иголочки опускались в чашки, замыкая электрическую цепь. Машина могла высчитывать не только общие итоговые показатели, но и количество людей с определенной комбинацией признаков, например женатых мужчин или женщин, родившихся за границей. Благодаря табуляторам Холлерита, обработка переписи 1890 года была завершена в течение одного года. Это был первый крупный случай использования электросхем для обработки информации, а компания, основанная Холлеритом, после серии слияний и поглощений стала в 1924 году называться корпорацией International Business Machines или IBM.
Иногда инновации рассматривают как накопление сотен маленьких достижений, таких как счетчики и устройства считывания перфокарт. В таких местах, как IBM, которые нацелены на повседневные улучшения, производимые командой инженеров, лучше всего удается понять, как на самом деле возникают инновации. Некоторые из наиболее важных технологий нашей эры, таких как технология для фрекинга[9], созданная в последние шесть десятилетий для добычи природного газа, возникли и благодаря бесчисленным мелким инновациям, но также и благодаря нескольким прорывным идеям.
В случае с компьютерами тоже было много сделано подобных мелких шагов, с помощью которых безымянные инженеры из таких фирм, как IBM, продвинули вперед технологию. Но этого было недостаточно. Хотя машины, производимые корпорацией IBM в начале ХХ века, могли компилировать данные, они не являлись в полном смысле тем, что мы назвали бы компьютером. Они даже не были особо эффективными калькуляторами. Они все-таки были недоделанными устройствами. Кроме сотен мелких достижений, для рождения компьютерной эры потребовалось и несколько крупных прорывов, совершенных гениями-творцами.
Цифровое побеждает аналоговое
Машины, разработанные Холлеритом и Бэббиджем, были цифровыми, а значит, они были рассчитаны на использование цифр – различных дискретных целых чисел, таких как о, 1, 2, 3. В их машинах сложение и вычитание целых чисел происходило при помощи шестеренок и колесиков, одним поворотом которых вводилась только одна цифра, как в счетчиках. Другой подход к вычислениям состоял в том, чтобы создавать устройства, которые могут имитировать или моделировать физические явления, а потом проводить измерения на аналоговой модели для расчета требуемых результатов. Эти машины стали называться аналоговыми компьютерами, поскольку они работали по аналогии. Для расчетов в аналоговых компьютерах использовались не дискретные числа, а непрерывные функции. В аналоговых вычислительных машинах переменная величина, такая как электрическое напряжение, положение веревки на шкиве, гидравлическое давление или измерение расстояния используется в качестве аналога соответствующих величин в задаче, которую предстоит решить. Логарифмическая линейка является аналоговым устройством, а счеты – цифровым. Часы со стрелками – аналоговые, а те, в которых на циферблатах отображаются цифры, – цифровые.