· 10 мин. на чтение.

История интернета. Глава 1 - от шестерёнок Бэббиджа до ENIAC

История интернета. Глава 1 - от шестерёнок Бэббиджа до ENIAC

Глава 1. Ада, графиня Лавлейс

Бэббидж и его несчастная машина

Начнём с вечеринки. Июнь 1833 года, Лондон. Чарлз Бэббидж - математик, изобретатель и хозяин лучших обедов в городе - показывает гостям небольшую модель. Несколько бронзовых шестерёнок, выточенных с ювелирной точностью. Поворачиваешь ручку - шестерёнки движутся, цифры складываются сами. Никакого человека, никаких ошибок.

Большинство гостей смотрели вежливо и без понимания. Одна девушка смотрела иначе.

Ей было семнадцать лет. Звали Ада Байрон. Дочь лорда Байрона - поэта, скандалиста, человека-легенды - но отца она почти не знала: тот покинул семью, когда ей был месяц от роду. Мать, Анна Изабелла, воспитывала дочь в строгой математической традиции - подальше от поэтической "болезни" отца. Так что к Бэббиджу Ада пришла подготовленной. Она попросила объяснить принцип ещё раз. Потом ещё. Потом попросила чертежи.

Бэббидж был изумлён. Это была его первая встреча с человеком, который увидел не механизм, а идею.

К тому моменту Чарлз уже двадцать лет носился с идеей вычислительной машины. Началось всё в 1812 году, когда молодой Бэббидж сидел в читальном зале Кембриджского математического общества и смотрел на таблицы логарифмов. Таблицы тогда считали люди - их буквально называли "компьютерами", от compute - и они ошибались неизбежно. Бэббидж решил, что машина ошибаться не будет.

Разностная машина должна была считать математические таблицы автоматически. Британское правительство выделило деньги - по нынешним меркам что-то около двадцати миллионов фунтов. Бэббидж нанял лучшего инструментальщика Лондона. Работа шла. Медленно - потому что каждая деталь требовала точности, какой тогдашние мастерские почти не знали.

Потом они поругались. Потом Бэббидж передумал строить Разностную машину и начал придумывать Аналитическую. Правительство перестало платить. Разностная машина осталась в чертежах - её соберут в 1991 году специально для выставки в Лондонском музее науки, и она будет работать именно так, как задумал Бэббидж. Но это в 1991-м.

Аналитическая машина - другое дело. Не просто механический счётчик, а идея универсального вычислителя. У неё была "мельница" - то, что мы сейчас назвали бы процессором - и "склад" (память). Данные вводились через перфокарты, идею которых Бэббидж позаимствовал у ткацкого жаккардового станка. Машина могла выполнять любую последовательность арифметических операций, делать ветвления и циклы.

Бэббидж понимал это лишь частично. Он думал прежде всего о числах. Ада думала дальше.

BabbageDifferenceEngine

Заметки, которые стали первой программой

В 1842 году итальянский математик Луиджи Менабреа опубликовал статью об Аналитической машине - на французском. Год спустя Ада Лавлейс (она вышла замуж за графа Лавлейса в 1835-м) взялась переводить её на английский. Научный наставник Уитстон предложил добавить собственные заметки.

Заметки получились втрое длиннее оригинала.

Это был не дежурный комментарий. Ада переосмыслила саму суть машины. Она описала, как Аналитическая машина могла бы вычислять числа Бернулли, и нарисовала пошаговую схему этого вычисления. Это и есть первая программа в истории. Не абстрактная идея - конкретный алгоритм с шагами, переменными, условными переходами.

Но важнее другое. В своих заметках Ада написала то, что Бэббидж так и не решился написать сам. Машина, рассуждала она, может работать не только с числами. Если представить любые объекты в виде символов и задать правила их преобразования - машина сможет манипулировать чем угодно. Нотами. Буквами. Логическими суждениями.

"Аналитическая машина не претендует на то, чтобы порождать что-либо. Она может делать лишь то, что мы умеем ей приказать."

Это написано в 1843 году. Прошло ещё сто лет, прежде чем кто-то другой сформулировал ту же мысль с такой же точностью. Его звали Алан Тьюринг.

Аде Лавлейс было тридцать шесть, когда она умерла от рака в 1852 году. Её заметки были фактически забыты на сто лет. Переоткрыли их в 1950-х, когда историки начали разбирать архивы раннего программирования. В 1980-м Министерство обороны США назвало в её честь новый язык программирования - Ada.

Глава 2. Люди, построившие компьютер

Между смертью Ады Лавлейс и появлением первого электронного компьютера прошло почти сто лет. Это была не пустая пауза. За эти сто лет несколько человек - в разных странах, часто не зная друг о друге - нащупывали разные кусочки одной и той же идеи. Перфокарты. Двоичная арифметика. Реле. Электронные лампы. Логические схемы. Каждый сделал что-то своё. Вместе они построили то, что мы сейчас называем компьютером.

Холлерит и 62 миллиона американцев

В 1880 году перепись населения США заняла восемь лет. Восемь лет, чтобы обсчитать пятьдесят миллионов человек. К тому моменту, когда результаты были готовы, данные уже устарели.

Молодой инженер Герман Холлерит, работавший в Бюро переписи, понял: следующая перепись - в 1890-м - будет ещё больше. Справиться вручную не выйдет. Нужна машина.

Холлерит взял идею Бэббиджа о перфокартах и сделал её практической. Данные о каждом человеке кодировались отверстиями на карточке - место рождения, возраст, пол, профессия. Машина проверяла карточки электрически: там, где было отверстие, игла замыкала контакт с ртутью, и счётчик прибавлял единицу.

Перепись 1890 года. 62 миллиона американцев. Основные результаты - за шесть недель.

Холлерит запатентовал систему, основал компанию, начал продавать машины по всему миру. В 1911 году компания вошла в состав нового конгломерата. В 1924-м его переименовали. Новое название - International Business Machines. IBM.

Перфокарты IBM просуществуют до 1980-х.

Буш в Массачусетском технологическом

В 1930 году Вэнивар Буш, инженер MIT, построил дифференциальный анализатор. Огромный аналоговый вычислитель на шестерёнках и валах - он решал дифференциальные уравнения, на которые у математиков уходили недели. Физически: стол размером с комнату, восемнадцать соединённых осей. Работало медленно, требовало перенастройки под каждую задачу - но работало.

Главный вклад Буша - не эта машина. В 1945 году он опубликовал статью "Как мы можем мыслить" - манифест о гипотетическом устройстве Memex. Устройство хранит все книги, статьи и заметки человека и позволяет прокладывать между ними ассоциативные связи. Технически расплывчато. Но именно из этой статьи выросли гиперссылки и концепция веба. Тед Нельсон и Дуглас Энгельбарт, придумавшие гипертекст в 1960-х, читали Буша. Тим Бернерс-Ли тоже.

Цузе и одиночество гаража

Конрад Цузе был немецким инженером и не любил рутинные вычисления. В 1936 году он уволился с работы и начал строить вычислительную машину в гостиной своих родителей в Берлине. Отец убрал мебель. Мать терпела.

Первая машина - Z1 - была полностью механической, из металлических пластин, которые Цузе вырезал вручную. Она плохо работала - механика давала сбои. Вторая, Z2, использовала телефонные реле. Третья, Z3, в 1941 году стала первым в мире программируемым вычислительным устройством на перфоленте. Двоичная арифметика, с плавающей запятой.

Цузе работал в Германии. Шла война. О том, что делают Тьюринг или Атанасов, он не знал. О нём - тоже не знали.

В 1944 году берлинский офис Цузе разбомбили. Z1, Z2, большая часть Z3 уничтожены. Z4 он успел вывезти в Баварские Альпы. После войны Цузе основал компанию, продал несколько машин швейцарским и немецким университетам. В Германии его считают отцом компьютера. В остальном мире его имя стало известно значительно позже.

Тьюринг и идея, которая больше любой машины

turing

В 1936 году Алан Тьюринг был двадцатичетырёхлетним аспирантом Кембриджа. Он опубликовал статью "О вычислимых числах" - и этой статьёй, по сути, придумал компьютер. Не физически. Теоретически.

Тьюринг описал воображаемую машину. Бесконечная лента, разбитая на клетки. Головка, которая читает символ, выполняет действие, записывает символ, двигается влево или вправо. Такая машина, доказывал Тьюринг, может вычислить всё, что вообще вычислимо. Любой алгоритм можно закодировать в её инструкциях.

Никакой электроники. Никакого металла. Только математика. Но именно эта абстракция задала рамку для всего, что будет построено после. Любой компьютер - от 1945 года до сегодняшнего дня - является физической реализацией машины Тьюринга.

Потом была война. Тьюринга забрали в Блетчли-Парк - секретный центр дешифровки. Немецкие коммуникации шифровались машиной Enigma, которую считали невзламываемой. Тьюринг с коллегами построили "Бомбу" - электромеханическую машину, перебиравшую возможные настройки Enigma. К 1942 году британская разведка читала большую часть немецких сообщений. Историки считают, что это сократило войну минимум на два года.

После войны Тьюринг работал над реальными компьютерами в Манчестере. Написал один из первых шахматных алгоритмов. Опубликовал работу о машинном интеллекте и придумал тест, носящий теперь его имя.

В 1952 году его арестовали за "непристойное поведение" - он был гомосексуалом. Суд назначил химическую кастрацию. В 1954 году Алан Тьюринг умер от отравления цианидом. Рядом лежало надкусанное яблоко. Ему был сорок один год.

В 2013 году британская королева подписала его посмертное помилование.

Штибиц и фонарик на кухонном столе

Ноябрь 1937 года. Джордж Штибиц - инженер Bell Labs - сидит вечером дома и думает о двоичной арифметике. Под рукой несколько полосок металла от консервных банок, два фонарных элемента и пара телефонных реле, которые он принёс с работы.

За час он собрал схему, складывающую двоичные числа. Лампочка загоралась, если результат был "1", гасла - если "0". Жена спросила, что это такое. Штибиц объяснил. Она записала в блокнот: "модель К" - от слова "кухня".

Bell Labs отнеслась к идее серьёзно. В 1940 году Штибиц построил для компании Комплексный числовой калькулятор - первую в Америке релейную вычислительную машину. Работал медленно, был огромным - но это была первая машина с дистанционным управлением: оператор в Нью-Йорке отправлял задания через телетайп. Первая сетевая вычислительная сессия в истории.

Шеннон и рождение слова "бит"

shennon

Клод Шеннон был не инженером в обычном смысле - математиком, который думал об информации как о физической величине. В 1948 году он опубликовал "Математическую теорию связи" - и этой статьёй основал науку об информации.

Его ключевая идея была радикально простой. Любое сообщение - текст, звук, изображение - можно закодировать последовательностью двоичных символов. Ноль или единица. Минимальная единица информации. Шеннон назвал её "бит" - от binary digit.

Через интернет сегодня в секунду передаётся несколько эксабит информации. Все они - биты Шеннона.

Эйкен и Гарвардский Марк I

Говард Эйкен был упрямым. Когда в 1937 году он пришёл к IBM с идеей построить большую вычислительную машину для Гарварда, его долго не принимали всерьёз. Потом согласились - при условии, что IBM поможет с финансированием и инженерами.

Гарвардский Марк I был закончен в 1944 году. Пятнадцать метров длиной. 750 000 деталей. Четыре тонны. Работал на электромеханических реле и считал значительно медленнее, чем ENIAC, который появится год спустя. Но работал надёжно - круглосуточно, без остановки, выдавая таблицы для военно-морского флота.

На Марке I начинала карьеру Грейс Хоппер - математик, которая позже изобретёт первый компилятор и язык COBOL. Один из первых "багов" в истории нашли именно здесь: в реле Марка II застряла моль. Хоппер вклеила её в журнал с пометкой "первый реальный случай обнаружения бага". Слово прижилось.

Атанасов и несправедливость истории

Зима 1937 года. Джон Атанасов - физик из университета Айовы - в ярости. Он несколько месяцев пытается решить систему линейных уравнений с десятками переменных, и у него не получается: механические вычислители дают ошибки, ручной счёт занимает недели. Он садится в машину и едет - просто едет, двести миль по ночному шоссе Айовы, пока не успокаивается.

В баре в Иллинойсе, за бурбоном, он набрасывает принципы новой машины. Электронная - значит быстрее. Двоичная - значит проще. Память на конденсаторах с регенерацией.

Вернувшись в Айову, Атанасов вместе со студентом Клиффордом Берри построил ABC - Atanasoff-Berry Computer. К 1942 году машина работала. Первый электронный цифровой компьютер. Атанасов подал заявку на патент, но война, бюрократия и смена университета отложили оформление. Патент так и не был выдан.

В 1973 году суд признал Атанасова изобретателем электронного цифрового компьютера - аннулировав патент Маучли и Эккерта на ENIAC. Атанасов был жив. К тому моменту ему было шестьдесят девять лет.

atanasov

Маучли, Эккерт и гром среди ясного неба

Джон Маучли познакомился с Атанасовым в 1941 году - провёл несколько дней в Айове, изучал ABC. Вернувшись в Пенсильванию, он вместе с инженером Дж. Преспером Эккертом начал работу над собственной машиной. Армии нужны таблицы для артиллерийских расчётов - срочно.

ENIAC - Electronic Numerical Integrator and Computer - был закончен в ноябре 1945 года. 18 000 электронных ламп. Больше 1400 квадратных метров. 27 тонн. Потреблял 150 киловатт - говорили, что когда его включали, огни во Филадельфии тускнели.

14 февраля 1946 года в Пенсильванском университете состоялась пресс-конференция. Журналистам показали задачу - подсчитать траекторию снаряда. Вручную это занимало двадцать часов. ENIAC справился за тридцать секунд.

"Это электронный мозг", - написали газеты.

Маучли и Эккерт морщились от этого определения. Никакого "мозга" там не было. Была логика, скорость и электричество. Но публика решила по-своему. Компьютеры теперь существовали не только в лабораториях - они попали в газеты, в разговоры, в воображение.

ENIAC программировался вручную - переключением кабелей и тумблеров. Это занимало дни. Маучли и Эккерт уже думали о следующей машине - с программой, хранящейся в памяти. Идею им подсказал Джон фон Нейман, математик, приходивший на строительство ENIAC как консультант. Архитектуру фон Неймана используют все современные компьютеры.

ENIAC

Конец первой главы

От шестерёнок Бэббиджа до ламп ENIAC прошло сто лет. За это время несколько десятков людей - математики, инженеры, случайные изобретатели - по кусочку собрали идею, которую Ада Лавлейс описала ещё в 1843-м.

Компьютер существовал. Но он стоял один - занимал комнату, принадлежал армии или университету. Никто не умел толком с ним разговаривать: новый расчёт требовал дней перекоммутации кабелей, а программы писались в числовых кодах, понятных только одной конкретной машине.

Следующие десять лет люди решали именно эту задачу - научить машины понимать людей, а не наоборот. Как шесть безымянных женщин запустили ENIAC, как Грейс Хоппер придумала компилятор и почему архитектура фон Неймана до сих пор работает в каждом смартфоне - читайте в следующей главе Истории программирования.

FAQ

Первую программу написала Ада Лавлейс в 1843 году - алгоритм вычисления чисел Бернулли для Аналитической машины Бэббиджа. Именно поэтому её считают первым программистом в истории.

ENIAC - Electronic Numerical Integrator and Computer - первый полноценный электронный цифровой компьютер общего назначения. Создан Джоном Маучли и Дж. Преспером Эккертом в Пенсильванском университете, закончен в 1945 году. 18 000 электронных ламп, 27 тонн, 150 кВт потребления. Вычислял траекторию снаряда за 30 секунд вместо 20 часов ручного счёта.

Компьютер - результат работы многих людей. Теоретическую основу заложил Алан Тьюринг (1936). Первый программируемый компьютер построил Конрад Цузе в Германии (Z3, 1941). Первый электронный цифровой компьютер - Атанасов и Берри (ABC, 1942). Первый компьютер, получивший широкую известность - ENIAC Маучли и Эккерта (1945-1946). Суд в 1973 году признал Атанасова изобретателем электронного цифрового компьютера.

Машина Тьюринга - теоретическая вычислительная модель, описанная Аланом Тьюрингом в 1936 году. Это воображаемое устройство с бесконечной лентой и головкой, которая читает и записывает символы. Тьюринг доказал, что такая машина может вычислить всё, что вообще вычислимо. Все реальные компьютеры являются физической реализацией этой модели.

Герман Холлерит изобрёл электромеханическую табулирующую машину для переписи населения США 1890 года. Его компания в 1911 году вошла в состав конгломерата Computing-Tabulating-Recording Company, который в 1924 году переименовали в International Business Machines - IBM.