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

Старейшее известное вычислительное устройство датируется II веком до нашей эры, и это не примитивные счёты, а сложнейший механизм, способный предсказывать движения небесных тел.

До наступления эры цифровых технологий мир полагался на аналоговые вычислительные устройства. В XVII–XVIII веках такие выдающиеся учёные, как Блез Паскаль, Готфрид Вильгельм Лейбниц, а позднее Чарльз Бэббидж, заложили фундамент для создания будущих компьютеров.

Давайте погрузимся в захватывающую историю механических вычислительных машин — узнаем, как они были устроены, для каких целей создавались, как обрабатывали информацию, и выясним, стоит ли ожидать возвращения механики в современный мир.

Антикитерский механизм: первый аналоговый компьютер античности

Наше путешествие начинается с уникального артефакта, обнаруженного на затонувшем древнегреческом судне в 1900 году. Антикитерский механизм — именно так называется это устройство — поначалу не привлёк особого внимания исследователей. Всего лишь кусок бронзы с зубчатыми колёсами, не так ли?

Активное изучение артефакта началось только в 1951 году, когда им заинтересовался английский историк науки Дерек Джон де Солла Прайс. Именно он первым предпринял серьёзную попытку разобраться в предназначении и устройстве этого загадочного механизма.

Устройство и принцип работы

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

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

С помощью этого выдающегося изобретения древнегреческие астрономы вычисляли положение Солнца и Луны на небосводе, моделировали движение планет и даже предсказывали солнечные и лунные затмения на годы вперёд.

Разгадка тайны

Учёные долгое время не могли полностью понять принципы работы механизма и по крупицам восстанавливали заложенные в нём идеи. Парадоксально, но инструкция по использованию устройства всё это время находилась прямо перед глазами исследователей — она была выгравирована на самом механизме. Однако представьте себе, насколько трудно прочитать символы размером полтора миллиметра, выгравированные на бронзовой поверхности, пролежавшей в морской воде две тысячи лет.

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

Паскалина: механический калькулятор XVII века

Перенесёмся на полторы тысячи лет вперёд — во Францию XVII столетия. Здесь мы встречаем молодого Блеза Паскаля, имя которого позднее будет увековечено в названии языка программирования, изучавшегося во многих школах мира.

Отец Блеза, Этьен Паскаль, занимал должность сборщика налогов в Нормандии. Объём работы был огромным, и юный Блез помогал отцу в его трудах. Именно тогда он задумался о необходимости облегчения вычислений и приступил к созданию механизма для сложения чисел. Если Антикитерский механизм можно считать предком приложений со звёздными картами, то изобретение Паскаля смело можно назвать прародителем современных бухгалтерских программ.

Конструкция и механизм работы

В основе счётной машины Паскаля также лежали вращающиеся диски и шестерёнки, однако её устройство было значительно более простым и универсальным по сравнению с Антикитерским механизмом.

Машина состояла из нескольких циферблатов — обычно от пяти до восьми. Они служили устройством вывода информации. Каждый циферблат представлял один десятичный разряд: единицы, десятки, сотни и так далее. Под каждым циферблатом находилось зубчатое колесо с десятью секциями, пронумерованными от 0 до 9. Это было устройство ввода данных.

Пользователь поворачивал специальный стилус на циферблате для ввода числа. Поворот колеса, например, на три деления означал добавление числа 3 в соответствующий разряд. Когда колесо совершало полный оборот, переходя от 9 обратно к 0, срабатывал механизм переноса разряда. Специальный рычаг толкал следующее колесо на один шаг вперёд, осуществляя перенос десятка — точно так же, как при сложении чисел в столбик на бумаге. Это была самая сложная и новаторская часть машины.

Рассмотрим практический пример. Допустим, нам необходимо сложить два числа: 28 и 35. Сначала поворотом колеса, отвечающего за десятки, мы вводим цифру 2, затем самым правым колесом вводим единицы — цифру 8. Принцип работы напоминает набор номера на старом дисковом телефоне. Затем теми же двумя колёсами вводим второе число: сначала десятки (3), потом единицы (5). Как только правое колесо доходит до 0, цифра на соседнем циферблате автоматически изменяется с 5 на 6 — это срабатывает механизм переноса. Результат: 63.

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

Другие изобретатели

Справедливости ради необходимо упомянуть и «Считающие часы» — устройство, изобретённое немецким математиком и астрономом Вильгельмом Шиккардом в 1623 году, за двадцать лет до создания Паскалины. Они работали на схожем принципе, и именно изобретение Шиккарда следует считать первым арифмометром.

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

Чарльз Бэббидж и аналитическая машина

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

Исторический контекст

Продолжим наше путешествие во времени, переместившись в середину XVIII века — эпоху расцвета промышленной революции, когда происходил массовый переход от ручного труда к промышленному производству. Стремительно развивалось банковское и страховое дело, увеличивался объём морских перевозок, активно велось строительство. Всё это требовало огромного количества вычислений: расчёта сложных процентов, определения географических координат, инженерных расчётов и многого другого.

Именно в этот период Бэббидж задумался о необходимости автоматизации вычислительных процессов и приступил к работе над своей аналитической машиной.

Почему именно компьютер?

Почему аналитическую машину Бэббиджа принято считать первым компьютером, а не арифмометр Паскаля или другие подобные устройства? Ответ кроется в самом определении компьютера.

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

Аналитическая машина Чарльза Бэббиджа стала первым в истории проектом универсального программируемого вычислительного устройства. По своей сути это был прообраз современного компьютера — с памятью, процессором, системой ввода и вывода данных.

Назначение машины

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

Устройство и принцип работы

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

Процесс работы выглядел следующим образом. Сначала оператор загружал в устройство набор перфокарт: одни содержали программу, другие — данные. Затем машина начинала выполнять инструкции: извлекала необходимые числа из памяти, подавала их в «мельницу» (процессор), проводила над ними требуемую операцию, и результат сохранялся в памяти или выводился наружу.

Рассмотрим архитектуру машины и соответствие её компонентов современным аналогам:

  • Карты операций выполняли функцию программы или алгоритма — они содержали последовательность команд, которые должна была выполнить машина.
  • Карты переменных служили своеобразной оперативной памятью, определяя, какие данные необходимо использовать для вычислений.
  • Перфокарты с числами представляли собой устройство ввода данных, аналогичное современной клавиатуре или другим устройствам ввода.
  • Склад — это долговременная память, большой набор механических регистров с шестерёнками, где хранились данные.
  • Мельница являлась центральным процессором машины, её главной вычислительной мощью. Принцип её работы был весьма похож на арифмометр Паскаля.
  • Центральные колёса выполняли функцию регистров процессора, хранящих промежуточные данные во время вычислений.
  • Оси ввода и вывода служили шиной данных, передающей информацию между различными компонентами машины.
  • Принтер был устройством вывода, позволяющим получить результаты вычислений в печатном виде.

Алгоритм работы

Карты операций вводили в компьютер программы. Карты переменных, получив команду от карт операций, указывали, откуда взять необходимые для расчётов данные — из перфокарт с числами или из памяти (склада). Затем данные поступали на ось ввода, которая передавала их в центр машины — на центральные колёса.

Очередная карта операций давала команду, например «сложить числа». В результате барабаны поворачивались таким образом, чтобы положение их штифтов соответствовало этой операции. Барабаны соединяли определённые шестерни мельницы с центральными колёсами. Шестерни мельницы выполняли математическое действие.

Далее мельница могла передать команды обратно к барабанам. Это позволяло зацикливать действия или переходить к различным участкам перфокарты в зависимости от результата. Таким образом, в машине были реализованы базовые операции программирования — циклы и логические ветвления.

После того как результат был готов, он попадал на ось вывода, которая переносила данные в склад или отправляла их на принтер согласно картам переменных.

Эта машина могла быть перепрограммирована для решения различных задач простой заменой перфокарт. Подобно современным программам, один и тот же «железный» механизм мог выполнять бесконечное множество различных алгоритмов.

Ада Лавлейс — первый программист

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

Таким образом, первое программирование было сродни искусству, требующему не только технических знаний, но и творческого подхода. Об их совместной работе с Бэббиджем даже был создан графический роман «Невероятные приключения Лавлейс и Бэббиджа», который заслуживает внимания любителей истории науки.

Незавершённый проект

Удивительно то, насколько изобретение Бэббиджа опередило своё время. После смерти математик завещал свой мозг науке, и он до сих пор хранится в Музее науки в Лондоне. О нём даже была написана книга под названием «Описание мозга мистера Чарльза Бэббиджа».

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

Бэббидж всю жизнь продолжал совершенствовать проект, создавая новые чертежи и модели, однако полного прототипа так и не собрал. Функционирующие машины по его чертежам были построены значительно позже, уже в XX и XXI веках. И хотя сам изобретатель этого не узнал, его вклад в науку и развитие вычислительной техники поистине неоценим.

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

Реальные механические компьютеры XX века

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

В 1941 году немецкий инженер Конрад Цузе создал Zuse Z3 — первый в мире полностью работоспособный программируемый компьютер. Этот компьютер не был полностью электронным — он использовал электромеханические реле, что делало его, по сути, механическим устройством, хотя его работа существенно отличалась от того, что обычно понимают под этим термином.

Z3 выполнял математические вычисления по заданной программе и состоял из множества реле — устройств, которые могли включать или выключать электрический ток, что позволяло системе выполнять сложные логические операции. Его главной особенностью была возможность программирования, что было настоящей революцией для того времени.

Каждое реле в Z3 выполняло одну логическую операцию, а программа для вычислений записывалась с помощью перфокарт, как и в более поздних компьютерах. Таким образом, если Ада Лавлейс была первым теоретическим программистом, писавшим программы для несуществующей машины, то Конрад Цузе стал первым программистом-практиком, работавшим с реальным устройством.

IBM Harvard Mark I

Это был не единственный подобный проект. Практически одновременно разрабатывался IBM Harvard Mark I. Чем он отличался от Z3? Например, в детище IBM числа представлялись в десятичном виде, тогда как в немецком варианте использовалась двоичная система счисления, как в современных компьютерах. Кроме того, программировать Z3 было проще, он был значительно более универсальным устройством.

Что объединяло все подобные компьютеры? Прежде всего, их огромный размер и механическая сложность. Из-за использования реле и шестерёнок такие компьютеры не могли быстро выполнять расчёты. Механика, как ни крути, имела свои ограничения. Эти машины были чрезмерно громоздкими и неуклюжими для быстрых вычислений.

Однако некоторое время такие устройства существовали и развивались. Например, поздние механические компьютеры, такие как Ascota 170, продолжали использоваться даже в эпоху электронных вычислительных машин. И это действительно был компьютер, а не пишущая машинка, как может показаться по внешнему виду. Энтузиасты до сих пор изучают и используют подобные устройства.

На Ascota 170, например, можно было вычислять квадратные корни и выполнять другие математические операции с помощью системы механических элементов.

Наследие и перспективы механических вычислений

Механические компьютеры не были быстрыми, не были компактными, но стали теми самыми основополагающими элементами, на которых выстроены современные технологии. Сегодня механические компьютеры уступили место электронным, однако их наследие продолжает жить.

Современное применение

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

Будущее механики

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

Наномеханические вычислительные системы представляют собой перспективное направление исследований. Они могут работать в условиях, где традиционные электронные устройства неэффективны или недолговечны. Разрабатываются концепции устройств, основанных на механических принципах, но реализованных на молекулярном уровне.

Заключение

От Антикитерского механизма, созданного во II веке до нашей эры, до электромеханических гигантов середины XX века — история механических компьютеров демонстрирует удивительную изобретательность человечества и стремление автоматизировать вычислительные процессы.

Каждое из рассмотренных устройств внесло свой вклад в развитие вычислительной техники. Антикитерский механизм показал возможность создания сложных аналоговых вычислителей. Паскалина и другие арифмометры продемонстрировали практическую пользу механизации математических операций. Аналитическая машина Бэббиджа предложила концепцию универсального программируемого компьютера. А Z3 и другие электромеханические машины доказали работоспособность этих идей на практике.

Механические компьютеры проложили путь для электронной революции в вычислительной технике. Многие принципы, заложенные в этих устройствах, сохранились и в современных компьютерах: разделение на память и процессор, концепция программируемости, идея универсального вычислительного устройства.

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