Код
#статьи

Великолепная восьмёрка: тексты, которые изменили мир

Если бы не Лейбниц, не было бы машины Тьюринга, а если бы не Шеннон — вообще беда...

Иллюстрация: Almani / Unsplash / Getty Images / Wikimedia Commons / Annie для Skillbox Media

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

Двоичная система

1703 год

Название: «Объяснение бинарной арифметики» (Explication de l’Arithmétique Binaire).

Автор: Готфрид Вильгельм Лейбниц (1646–1716) — немецкий философ, математик, физик, юрист, историк, дипломат, изобретатель и языковед.

Готфрид Вильгельм Лейбниц
Изображение: Wikimedia Commons

В своём трактате Лейбниц впервые описал двоичную систему счисления с цифрами 0 и 1. Великий математик увлекался китайской культурой и обратил внимание на то, что в Книге Перемен гексаграммы соответствуют двоичным числам от 0 до 111111.

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

Двоичная система счисления Лейбница. Страница из Explication de l’Arithmétique Binaire
Изображение: Wikimedia Commons

«Практика счёта по десяткам короче, а числа не такие длинные. А если бы мы привыкли считать по двенадцать или шестнадцать, то преимущество было бы ещё больше. Но счёт двойками, то есть 0 и 1, как компенсация за длину, является самым фундаментальным способом счёта для науки и сулит новые открытия, которые потом оказываются полезными даже для практики чисел и особенно для геометрии».

Готфрид Вильгельм Лейбниц,
«Explication de l’Arithmétique Binaire»

Первый компьютер

1842 год

Название: Sketch of The Analytical Engine Invented by Charles Babbage.

Авторы: Чарльз Бэббидж (1791–1871) — английский математик, философ, изобретатель и инженер-механик; Луиджи Федерико Менабреа (1809–1896) — итальянский государственный деятель, премьер-министр, дипломат и математик; Августа Ада Кинг, графиня Лавлейс (1815–1852) — английский математик и писательница, дочь лорда Байрона, первая написала программу для машины, описанной Бэббиджем.

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

Часть вычислительной машины Бэббиджа с печатающим механизмом
Фото: Wikimedia Commons

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

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

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

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

Чарльз Бэббидж,
Sketch of The Analytical Engine Invented by Charles Babbage

Булева алгебра

1853 год

Название: An Investigation of the Laws of Thought, on Which are Founded the Mathematical Theories of Logic and Probabilities.

Автор: Джордж Буль (1815–1864) — английский математик-самоучка, философ и логик.

Джордж Буль
Изображение: Wikimedia Commons

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

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

«Цель данного трактата — исследование фундаментальных законов тех операций ума, посредством которых осуществляется рассуждение; выражение их на символическом языке исчисления; создание на этой основе науки логики и построение её метода; превращение этого метода в основу общего метода применения математической доктрины вероятностей…»

Джордж Буль,
An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities

Машина Тьюринга

1936 год

Название: On Computable Numbers, with an Application to the Entscheidungsproblem.

Автор: Алан Мэтисон Тьюринг (1912–1954) — английский математик, криптограф и один из основоположников информатики.

Алан Тьюринг
Фото: Wikimedia Commons

В своей статье Алан Тьюринг впервые описал знаменитую концепцию вычислительного устройства, которая позже получила название «машина Тьюринга». Это было первое детальное описание компьютера универсального назначения.

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

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

Алан Тьюринг,
On Computable Numbers, with an Application to the Entscheidungsproblem

Логическая конструкция компьютера

1945 год

Название: First Draft of a Report on the EDVAC

Автор: Джон фон Нейман (1903–1957) — венгеро-американский математик и физик, внёс важный вклад в квантовую механику, теорию множеств, информатику, экономику и другие отрасли науки.

Джон фон Нейман
Фото: Wikimedia Commons

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

Как до этого была построена работа ЭВМ? Программы не были программами в привычном нам виде, а представляли собой аналоговые устройства — перемычки на специальной коммутационной панели. Их правильная установка для проведения необходимого вычисления могла занимать несколько дней, притом что само вычисление длилось всего пару минут.

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

Первая страница отчёта фон Неймана
Фото: Wikimedia Commons

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

Джон фон Нейман,
First Draft of a Report on the EDVAC

Гипертекст

1945 год

Название: As We May Think.

Автор: Вэнивар Буш (1890–1974) — американский учёный, инженер и организатор науки. Изобрёл аналоговый компьютер для решения дифференциальных уравнений. На нём в качестве ассистента работал Клод Шеннон и по мотивам размышлений о переключающих схемах разработал свою знаменитую теорию.

Вэнивар Буш
Фото: Wikimedia Commons

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

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

Вэнивар Буш,
As We May Think

Теория коммуникации

1948 год

Название: A Mathematical Theory of Communication.

Автор: Клод Элвуд Шеннон (1916–2001) — американский математик, инженер-электрик, информатик и криптограф, «отец теории информации».

Клод Шеннон
Фото: Courtesy of MIT Museum

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

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

Клод Шеннон,
A Mathematical Theory of Communication

Протоколы интернета

1974 год

Название: A Protocol for Packet Network Intercommunication.

Авторы: Винтон Грей Сёрф (1943) и Роберт Эллиот Кан (1938) — американские инженеры, пионеры и «отцы» интернета.

Винт Сёрф (слева) и Боб Кан (справа)
Фото: Wikimedia Commons

В этой работе содержится много идей, которые впоследствии превратились в TCP и IP — два основополагающих протокола интернета. Сёрф и Кан получили премию Turing Award в том числе за идеи, содержащиеся в этой статье.

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

Винт Сёрф, Боб Кан,
A Protocol for Packet Network Intercommunication

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована