Люди, которые хотели считать быстрее
Абак, арифмометр, Бэббидж, Ада Лавлейс - и идея машины, которая следует инструкциям
Каждый раз, когда вы открываете приложение на телефоне или загружаете страницу в браузере, за этим стоят миллиарды вычислений в секунду. Но всё это началось с куда более скромной задачи: человек хотел просто не ошибиться, складывая числа в столбик. Эта статья - о том, как от счётных косточек на верёвочке мы пришли к идее программируемой машины. И о том, почему эта идея, возникшая почти двести лет назад, сделала возможным всё остальное.⚙️ Проблема, которую нужно было решить
Представьте себе работу правительственного чиновника в XVII веке. Нужно собрать налоги с сотни деревень, пересчитать в нескольких валютах, составить таблицы, проверить их. Всё это делается вручную, с пером и бумагой, часами и днями. Любая ошибка - а человеческая рука ошибается часто - означает пересчёт с самого начала.Ситуация ещё хуже в навигации и астрономии. Чтобы точно определить положение корабля в открытом море, нужны таблицы логарифмов и тригонометрических функций. Эти таблицы составляли люди - их называли «вычислителями» - и они постоянно допускали ошибки. Корабли садились на мели. Люди гибли.
У этой проблемы было два возможных решения: научить людей не ошибаться или переложить счёт на машину. Первое никогда не работало. Именно поэтому человечество тысячелетиями искало второе.
🪨 Абак: первый шаг к машине
Абак - это счётная доска с рядами косточек или камешков, которые передвигают по проволоке или в желобках. Он появился независимо в нескольких цивилизациях: в Древнем Шумере, Египте, Китае, Греции и Риме. Русские счёты, которые до сих пор иногда встречаются в старых магазинах, - прямой потомок абака.Абак - это не вычислительная машина в современном смысле. Он не считает сам. Но он освобождает человеческую память: вместо того чтобы держать промежуточные результаты в голове, вы держите их на доске. Это маленький, но принципиальный шаг: мы перекладываем часть умственной работы на внешний предмет.
Опытный человек на абаке складывал и вычитал числа быстрее, чем большинство людей делают это на бумаге. В 1946 году японский банковский служащий Кийошу Мацузаки соревновался с американским военным на электрическом калькуляторе - и победил. Счёты против электроники. Счёты выиграли - на сложении и вычитании.
Опытные операторы умели выполнять на абаке умножение и деление - но не автоматически: всю логику последовательности шагов держал в голове человек, машина лишь хранила промежуточные результаты. Именно этого не хватало: встроенного механизма, который сам знал бы, что делать дальше. Для этого нужно было что-то принципиально другое.
⚙️ Механические калькуляторы: шестерёнки считают
В 1642 году девятнадцатилетний Блез Паскаль - тот самый, именем которого потом назовут язык программирования - построил «Паскалину». Его отец служил налоговым чиновником и проводил вечера за бесконечными подсчётами. Паскаль решил облегчить отцу эту работу и сделал механическое устройство для сложения и вычитания.
Паскалина состояла из зубчатых колёс, на каждом из которых были цифры от 0 до 9. Когда одно колесо делало полный оборот - оно автоматически сдвигало соседнее на одну позицию. Это механический перенос десятков, тот же принцип, что в счётчике пробега автомобиля.
Спустя тридцать лет Готфрид Вильгельм Лейбниц усовершенствовал идею и построил машину, которая умела ещё и умножать - через многократное сложение. Он же сформулировал идею двоичной системы счисления - той самой, на которой работают все современные компьютеры. О ней мы подробно поговорим в следующей статье.
К XIX веку механические калькуляторы стали промышленными изделиями. Арифмометр - коммерческое устройство для четырёх арифметических действий - продавался в офисы, банки и государственные учреждения. В России арифмометры выпускала петербургская фабрика «Однер» с 1890-х годов. Они работали на рукоятке: покрутил - получил результат.
| Устройство | Год | Что умело | Что не умело |
|---|---|---|---|
| Абак | ~2500 до н.э. | Хранить промежуточный результат | Считать самостоятельно |
| Паскалина | 1642 | Складывать и вычитать автоматически | Умножать, запоминать шаги |
| Машина Лейбница | 1672 | Все четыре действия | Менять порядок действий |
| Арифмометр | XIX в. | Быстро считать в офисе | Следовать программе |
🏭 Жаккардовый ткацкий станок: инструкции на перфокартах
В 1804 году французский ткач Жозеф Мари Жаккар придумал устройство для ткацкого станка, которое управляло работой с помощью перфокарт - картонных карточек с пробитыми дырочками. Нитка проходила через дырочку - крючок поднимал нить. Не проходила - нить оставалась внизу. Чередование этих двух состояний («есть дырочка» / «нет дырочки») задавало узор ткани.
Меняешь карточки - получаешь другой узор. Один станок мог ткать любые узоры - просто меняя набор карточек. По сути, это была программируемая машина: инструкции хранились отдельно от механизма и могли быть заменены.
🎩 Чарльз Бэббидж и машина, которую не смогли построить
Чарльз Бэббидж был британским математиком, изобретателем и при этом - человеком, которому невыносимо мешали человеческие ошибки. В 1820-х годах он работал с математическими таблицами и всё время находил в них ошибки. Таблицы составляли люди, люди ошибались, а ошибки в навигационных таблицах стоили жизней.
Бэббидж предложил построить Разностную машину - механическое устройство, которое вычисляло бы значения математических функций и автоматически печатало результаты, исключая ошибки переписчика. Британское правительство выделило деньги. Инженеры начали строить. Именно здесь и начались проблемы.
Машина требовала деталей такой точности, которая была недостижима для ремесленников того времени. Бэббидж раз за разом совершенствовал проект, менял конструкцию, ссорился с подрядчиком. За двадцать лет работы и огромные деньги была построена только часть устройства. Полностью Разностная машина по чертежам Бэббиджа была собрана только в 1991 году - к двухсотлетию его рождения, в Лондонском музее науки. Она работала.
Но ещё до того, как стало ясно, что Разностная машина не будет достроена, Бэббидж задумал нечто значительно большее. Он назвал это Аналитической машиной.
Аналитическая машина: компьютер XIX века
Аналитическая машина, которую Бэббидж начал проектировать в 1830-х годах, должна была уметь следующее:
Хранить числа. В машине предполагался «склад» - механическая память на тысячу чисел по пятьдесят цифр каждое. Если вам это что-то напоминает - правильно: это RAM, оперативная память. Именно так она и называется в современных компьютерах. Выполнять операции. «Мельница» - так Бэббидж называл вычислительный блок - должна была брать числа со «склада», что-то с ними делать и возвращать результат. Это CPU, процессор. А перфокарты с инструкциями - прямой предшественник программы, которая хранится на диске. Следовать инструкциям. Вдохновившись жаккардовым станком, Бэббидж предусмотрел управление машиной через перфокарты. Карточки с операциями - что делать. Карточки с данными - с чем делать. Ветвиться. Машина могла принимать решения: если результат больше нуля - сделай одно, иначе - другое. В программировании это называется условным оператором if. Повторять. Машина могла возвращаться назад по карточкам и повторять часть операций - то, что сейчас называют циклом.👩💻 Ада Лавлейс: первый программист
В 1833 году семнадцатилетняя Ада Байрон - дочь поэта Лорда Байрона - познакомилась с Бэббиджем на светском приёме. Она была математически одарённой, что по тем временам для женщины было большой редкостью. Бэббидж показал ей работающий фрагмент Разностной машины. Ада была восхищена.В 1842 году итальянский математик Луиджи Менабреа написал статью об Аналитической машине по лекциям Бэббиджа. Аду попросили перевести статью с французского на английский. Она не просто перевела - она добавила собственные примечания, которые в три раза превысили объём оригинала. Эти примечания сделали её знаменитой.
В одном из примечаний Ада описала алгоритм вычисления чисел Бернулли - последовательности дробных чисел, важной в математическом анализе. Это был пошаговый план для Аналитической машины: какие числа взять, какие операции выполнить, в каком порядке, когда остановиться. Это принято считать первой компьютерной программой в истории.
Но Ада увидела дальше, чем сам Бэббидж. Он думал о машине как о вычислительном инструменте. Она написала нечто принципиальное: «Машина не способна ничего породить самостоятельно. Она исполняет лишь то, что мы умеем ей предписать». Это и ограничение, и возможность одновременно. Если любую задачу можно свести к последовательности точных инструкций - машина её выполнит. Весь вопрос в том, как записать эти инструкции.
Ада Лавлейс умерла в 1852 году, не дожив до 37 лет. Аналитическая машина так и не была построена. Но идея, которую они с Бэббиджем сформулировали, оставалась в воздухе - ожидая технологии, способной её воплотить.
🧩 Что не хватало: от шестерёнок к электричеству
К концу XIX века стало ясно: механика - тупик. Шестерёнки медленные, тяжёлые и ломаются. Чем сложнее машина - тем больше деталей, тем выше вероятность ошибки. Скорость вычислений ограничена скоростью, с которой можно вращать колёса.
Электричество изменило всё. В 1890-х годах американский статистик Герман Холлерит применил перфокарты в переписи населения США - но уже в электрическом варианте: металлический щуп проходил сквозь дырочку и замыкал электрическую цепь. Машина считала быстрее людей в разы. Компания Холлерита впоследствии стала частью IBM. А стандартный размер перфокарты, который десятилетиями использовался в вычислительной технике, Холлерит выбрал не случайно: он совпадал с размером долларовой купюры того времени - чтобы карточки удобно хранились в банковских ящиках для денег.
В 1930-40-х годах появились электромеханические вычислительные машины - реле вместо шестерёнок. Реле - это электрический переключатель: ток есть - контакт замкнут, тока нет - разомкнут. Это уже очень похоже на то, о чём мы поговорим в следующей статье: на транзисторы и двоичную логику.
Но до настоящего компьютера оставалось ещё одно ключевое событие - Вторая мировая война. О ней, об Алане Тьюринге и о том, как военная необходимость ускорила рождение компьютерной эпохи - в статье 0.2.
Итог: одна идея, которая изменила всё
От абака до Аналитической машины прошло около четырёх тысяч лет. Но движение было в одном направлении: перекладывать умственную работу на внешний механизм.
Абак забирает нагрузку на краткосрочную память. Паскалина забирает механику переноса. Арифмометр забирает умножение. Аналитическая машина Бэббиджа должна была забрать саму логику вычислений - порядок шагов, ветвления, повторения. И Ада Лавлейс первой поняла, что эти инструкции - программа - существуют независимо от машины и могут быть изменены, не трогая само устройство.
Сегодня, когда вы открываете приложение на телефоне, происходит именно это: машина следует инструкциям, которые написал человек. Инструкции хранятся отдельно от железа. Меняешь инструкции - получаешь другое поведение. Это и есть программирование. Бэббидж и Лавлейс придумали эту идею в эпоху, когда дома ещё освещались свечами, а телефона и радио не существовало.
Оставалось одно - дождаться нужной технологии. Она появилась в 1947 году: транзистор.
© 2008-2026 ANY.BY - ремонт компьютеров и ноутбуков в Барановичах. Использование материалов сайта возможно с письменного разрешения.
Нужна помощь с техникой? Привозите - диагностика при заказе ремонта бесплатна. Контакты и запись.