Чтобы разобраться, рассмотрим детально механизм работы счетов. Этот математический инструмент состоит из множества спиц, по которым скользят костяшки. Первый стержень соответствует количеству единиц, второй – десятков, третий – сотен и так далее. Так что если вы хотите указать число 23, передвиньте две костяшки в разряде десятков и три – в разряде единиц. И если вы хотите добавить к этому числу 45 – передвиньте четыре костяшки в разряде десятков и пять – в разряде единиц, что, таким образом, даст в сумме 68.
Если при сложении цифр в одном разряде сумма становится двузначной, необходимо сделать небольшую дополнительную манипуляцию. Для того чтобы прибавить 5 к 68 на спице разряда единиц, осталась всего одна костяшка. Если на спице не хватает костяшек для выполнения действия, то на ней оставляют столько костяшек, сколько не хватило, а остальные перебрасывают в другую сторону, и добавляют еще одну костяшку в значение десятков. Таким образом, в сумме получится 73.
Это совсем не сложная манипуляция, но только с появлением счетной машины Паскаля и калькулятора началась эпоха вычислительных машин. Для того чтобы выполнить ту же самую операцию, пользуясь вычислительной машиной, уже не нужно было держать в уме числа. Такие аппараты, по сути, не выполняют вычисления самостоятельно, а просто помогают человеку фиксировать определенные значения чисел. Пользуясь же современным калькулятором, вы вообще не будете задумываться о том, как выполняются действия. Есть ли в действиях перенос цифр в соседний разряд – для вас уже не имеет значения! Больше нет необходимости держать числа в уме в соответствующих ситуациях, все сделает за вас машина.
Соответствующая этому критерию паскалина – действительно первая счетная машина в истории. Хотя механизм работы весьма специфичен и требует большого мастерства для ее изготовления, принцип работы счетной машины Паскаля достаточно прост. На верхней части машины расположены шесть колесиков, на которые нанесены деления от 0 до 9.
Первое колесико справа обозначает число единиц, второе – десятков и так далее. Над колесиками расположены шесть маленьких ячеек, по одному для каждого колесика, в которых отображаются цифры. Для того чтобы ввести число 28, необходимо просто повернуть колесико десятков на два деления по часовой стрелке и колесико единиц – на восемь делений. С помощью внутренней системы шестеренок, в области отображения в соседних взаимосвязанных ячейках отобразятся 2 и 8. И теперь, если вы захотите добавить 5 к этому числу, нет необходимости ничего держать в уме: достаточно просто повернуть колесико единиц на пять делений и, когда значение сменится с 9 на 0, значение десятков автоматически сменится с 2 на 3. Значение, отображаемое на машине, теперь равно 33.
И это работает в каждом из разрядов. Если набрать на паскалине 99 999 и повернуть колесико единиц на один оборот, то на аппарате отобразится 100 000, без необходимости в дополнительных действиях!
После Паскаля многие изобретатели пытались усовершенствовать его изобретение, чтобы с его использованием можно было сделать быстро и эффективно больше действий. В конце XVII в. Лейбниц был одним из первых, кто разработал механизм для осуществления операций умножения и деления. Его система была несовершенной и выдавала неверные решения в некоторых частных случаях. Только в XVIII в. его идеи воплотились в полном объеме. Благодаря умениям и воображению изобретателей были разработаны несколько более надежных и эффективных прототипов. Однако из-за сложности механизмов такие машины оказались весьма большими, почти с комод размером.
В XIX в. счетные машины стали более доступны и распространены примерно так же широко, как и другие, похожие на них аппараты – пишущие машинки. Многие бухгалтерские фирмы, предприниматели и обычные торговцы начинают пользоваться калькуляторами, которые быстро стали неотъемлемой частью интерьера и были незаменимы в работе. Становится сложно представить себе, как люди до сих пор обходились без них.
Продолжая ходить по музею, я вижу ряд машин, современных паскалине. Здесь представлены арифмометр Тома де Кольмара, машина умножения Леона Болле, полихромной арифмограф Дюбуа и комптометр Фелта и Тарранта. Одним из наиболее популярных аппаратов, пользовавшимся большим успехом, был арифмометр, который разработал в России шведский инженер Вильгодт Теофил Однер. Эта машина состоит из трех основных элементов: верхняя часть, на которой посредством небольших рычагов выставляются необходимые числа, нижняя часть, состоящая из каретки, способная смещаться в горизонтальном направлении и на которой отображается результат операции, а справа расположена рукоятка, при вращении которой производятся арифметические действия.
При каждом повороте рукоятки число в верхней части добавляется к числу, уже отображаемому на нижней каретке. Для того чтобы произвести вычитание, достаточно повернуть рукоятку в другую сторону.
Теперь представьте, что вам необходимо выполнить умножение 374 × 523. Укажите число 374 в верхней части и поверните рукоятку три раза. В нижней части отобразится 1122, результат операции 374 × 3. Передвиньте теперь каретку на разряд десятков и поверните рукоятку еще два раза. Получится 8602, что соответствует произведению 374 и 23. Передвиньте каретку еще на один разряд – до сотен – и поверните рукоятку на пять оборотов, и вы получите результат: 195 602. Немного потренировавшись, вы сможете производить умножение за несколько секунд.
В 1834 г. на ум английского математика Чарльза Баббеджа приходит по меньшей мере нелепая идея совместить счетную машину с ткацким станком! В те годы работа ткацкого станка претерпела ряд усовершенствований. Одним из них стало внедрение перфокарт, что обеспечило использование одного станка для изготовления тканей с различными узорами, не изменяя его параметры. В зависимости от наличия или отсутствия отверстия в карте, шарнирный крюк проходит или не проходит, а уточная нить проходит выше или ниже основной ткани. Таким образом, достаточно перенести желаемый рисунок на перфокарту и поместить ее в машину.
Исходя из свойств этой модели, Чарлз Бэббидж замыслил создать механический калькулятор, способный не только осуществлять такие действия, как, например, сложение или умножение, но и адаптироваться и выполнять миллионы различных операций в зависимости от того, какая перфокарта будет в него вставлена. Если быть более точным, эта машина может выполнять любые полиномиальные действия, то есть расчеты, сочетающие в произвольном порядке четыре основные операции и возведение в степень. Аналогичным образом тому, как на паскалине нужно было выполнять одни и те же манипуляции, независимо от исходных чисел, машина Бэббиджа позволяла производить одни и те же манипуляции, независимо от выполняемых действий. Больше не было необходимости, как в случае, например, с арифмометром Однера, вращать рукоятку в противоположном направлении в зависимости от того, что нужно выполнить – сложение или вычитание. Достаточно просто записать необходимые действия на перфокарте, и машина сама обо всем позаботится. Благодаря этой революционной функции изобретение Бэббиджа принято считать первой в истории вычислительной машиной.
Использование такой машины бросало новый вызов. Чтобы выполнить расчет с ее помощью, необходимо было обеспечить возможность изготовления соответствующих перфокарт, состоящих из последовательности отверстий и сплошных мест, которые улавливает механизм, вследствие чего будут выполняться все операции действие за действием. Таким образом, пользователь машины должен перед началом ее использования создать соответствующую перфокарту.
Разработкой устройства, способного переводить требуемые вычисления на язык математики, занималась британский математик Ада Лавлейс, которая вела исследования в данной области. Она исследовала функционал машины и пришла к выводу, что сам Бэббидж не представлял ее потенциал. Лавлейс создаст сложный код для вычисления последовательности Бернулли, что было чрезвычайно полезным в исчислении бесконечно малых величин последовательности, обнаруженной за более чем сто лет до того швейцарским математиком Якобом Бернулли. Этот код принято считать первой компьютерной программой, что делает, таким образом, Лавлейс первым программистом в истории.
Ада Лавлейс умерла в 1852 г. в возрасте 36 лет. Чарльз Бэббидж на протяжении всей жизни пытался построить свою машину, но умер в 1871 г., так и не дождавшись завершения изготовления ее прототипа. Только в XX в. удалось наконец увидеть работу машины Бэббиджа в действии. Наблюдать за одним из таких калькуляторов – это поистине потрясающее и чарующее зрелище. Его внушительный размер (высотой примерно в два метра и шириной в три) и работа сотен шестеренок, которые движутся внутри, одновременно поражает и изумляет.
Незаконченный прототип аппарата, разработкой которого занимался британский ученый, в настоящее время хранится в Музее науки в Лондоне. Функционирующую копию, воспроизведенную в начале XXI в., можно увидеть в Музее компьютерной истории в Маунтин-Вью, штат Калифорния.
В XX в. использование вычислительных машин достигнет такого уровня, о котором Бэббидж и Лавлейс даже не могли подумать. Калькуляторы найдут свое применение для решения как самых древних, так и совсем новых математических задач.
С одной стороны, исчисление бесконечно малых величин и мнимые числа позволили описать в виде уравнений электромагнитные явления, которые вскоре будут применены в электронных устройствах. С другой стороны, в XIX в. были заново подняты вопросы, затрагивавшие фундаментальные основы математики, аксиомы и рассуждения в доказательствах. Так, с одной стороны, у машин появилась высокоэффективная инфраструктура, а с другой – возможность осуществлять простейшие действия для нахождения решения более сложных задач.
Одним из главных деятелей этой революции был британский математик Алан Тьюринг. В 1936 г. он опубликовал статью, в которой провел параллель между возможностью доказать теорему с помощью математики и способностью найти решение с помощью вычислительных машин с использованием достижений информатики. Он впервые описывает принцип действия машины, впоследствии названной в его честь, который до сих пор широко используется в теоретических основах вычислительной техники. Машина Тьюринга была теоретической конструкцией. Британский математик не занимался разработкой конкретных механизмов, с помощью которых такая машина могла бы работать. Он всего лишь оценивал основные операции, которые могли бы выполняться на его машине, и задавался вопросом, какой результат можно получить, комбинируя их. Здесь прослеживае