Д. Кольцов. Первый русский программист Семён Корсаков

Семён Корсаков (1787-1853) - первый русский программист и изобретатель программирования был предан забвению, как и многие русские учёные-первооткрыватели. Открытия и изобретения Корсакова опередили своё время примерно на 150 лет. 11 сентября 1832 г. Корсаков отправил прошение в Санкт-Петербургскую Императорскую академию наук (ИАН), чтобы та рассмотрела: открытие программирования и языка программирования; изобретение баз данных; программ и машин, «выполняющих умственную работу». В своём обращении Корсаков подчеркивал, что не ищет славы или иных выгод, вытекающих из его открытий и изобретений, и желает только послужить людям. 13 сентября того же года Корсаков издал первую книгу по программированию: «Начертание нового способа исследования при помощи машин, сравнивающих идеи». Однако 24 октября 1832 г. комиссия ИАН отклонила изобретение Корсакова как бесполезное, добавив к этому уничижительное заключение: «Г-н Корсаков потратил слишком много разума на то, чтобы научить других обходиться без разума».
0

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

Семён Николаевич Корсаков (25 января 1787 –13 декабря 1853) – первый русский программист и изобретатель программирования. Самое поразительное, что его понимание программирования остается правильным и важным до сих пор.

С.Н. Корсаков – русский дворянин, военный (участник Отечественной войны 1812-1813 гг.), чиновник, составитель лекарств, учёный и изобретатель. Родился в Херсоне, жил и работал в Санкт-Петербурге, упокоился на московской земле, близ городов Димитров и Талдом.

Семён Николаевич Корсаков

11 сентября 1832 года Корсаков отправил прошение в Санкт-Петербургскую Императорскую академию наук (ИАН), чтобы та рассмотрела:

— открытия программирования и

— языка программирования,

— а также изобретение баз данных,

— программ

— и машин, выполняющих умственную работу – «умственных машин».

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

13 сентября 1832 года Корсаков выпускает абсолютно новаторскую, разрывающую шаблоны брошюру на французском языке, посвященную программированию: «Начертание нового способа исследования при помощи машин, сравнивающих идеи». По своему содержанию брошюра немного напоминает учебник информатики для старших классов в современной школе. Там рассказывается про поиск данных с учетом относительной степени важности различных критериев и дается первое в мире определение понятия алгоритма.

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

24 октября 1832 года комиссия ИАН отклонила изобретение Корсакова как бесполезное. Резолюция на проекте гласила: «Г-н Корсаков потратил чересчур много своих интеллектуальных сил, пытаясь научить других, как вовсе без оного интеллекта прожить». Горько, опрометчиво, однако правдиво – «слишком много разума» для судивших его открытие академиков (Остоградский, Купфер, Паррот, Брандт).

Судьба программирования

Только один из академиков ИАН, английский математик Чарльз Бэббидж, оценил работу Корсакова в достаточной мере, чтобы отказаться от первого дела своей жизни – большой разностной машины (1822-1834) – и с 1833 года до самой смерти работать над замыслом «аналитической машины», которая в будущем стала «компьютером». В историю Бэббидж вошел как «отец компьютера».

Бэббидж сохранил название «умственная машина» («аналитическая» и «умственная» – синонимы), но скрыл источник своего вдохновения и основной посыл Корсакова – помощь людям. «Умственные машины» Корсакова были доступны – недороги и помещались на столе. «Аналитическая машина» Бэббиджа должна была весить 14 тонн. Никакой помощи людям она не могла бы оказать даже теоретически, а практически так и не была построена.

Так выглядела аналитическая машина Бэббиджа, разработанная на 30 лет позже гомеоскопа Корсакова

Замысел Бэббиджа воплотился только через 113 лет. Построенная наконец машина была названа просто «вычислительной» (1946, ЭНИАК, К – компьютер) и весила уже 30 тонн. Официальная наука представляет это великим достижением, но на деле ЭНИАК был совершенно бесполезен. Его задачей полагался расчёт таблиц стрельбы для открытия Второго фронта (1944 год), что в 1946 уже не требовалось. Остальные «достижения» были в том же духе.

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

Британский математик, логик и криптограф, член Лондонского королевского общества Алан Мэтисон Тьюринг

Пользу программирование принесло, и огромную, но не благодаря, а вопреки усилиям Бэббиджа и Тьюринга.

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

Именно поэтому возвращение к учению Корсакова так важно и современно.

Простое программирование

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

1. Программирование

Корсаков ясно и чётко обосновал программирование пятью предложениями:

1. Разделим умственное и механическое

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

2. Выделим главное для ума – письменность

Письмо хранит память обо всех фактах […], и даёт возможность подвергнуть их постоянному и обдуманному сопоставлению, благодаря чему оно стало первой главной основой человеческой цивилизации.

3. Укажем недостаток письменности – немеханичность

Несмотря на все неоценимые преимущества письма, даже на сводные таблицы […], эти средства всё ещё недостаточны для немедленной выдачи подробного результата.

4. Создадим механическую письменность – программирование

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

Письмо доступно только уму. Только человек может взять книгу, найти в ней нужны сведения и сделать выводы.

5. Дадим программирование людям

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

Простой компаратор Корсакова

Предложения Корсакова можно обобщить в определение по существу:

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

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

2. Язык программирования

Язык программирования – это правила механической записи мысли в виде вычислений.

Вычисление – это перевод слов с помощью меры в числа и действия с числами.

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

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

3. Базы данных

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

Для создания числовых таблиц Корсаков первым использовал пробойные картонные листы, или перфокарты.

4. Программы

Программа – это рассказ, как механически решить умственную задачу.

Сначала программа описывается словами, а затем переводится в механический вид. В таком свете программа – понятная и доступная вещь. Корсакову в 1832 году удалось решать такие задачи, которые стали обычными только в спустя 150 лет, в 1980-х годах.

Первая в мире программа называлась «гомеоскоп» и искала подобия («гомеос» – подобия) в таблице гомеопатических лекарств. Хотя сама гипотеза гомеопатии, появившись в начале 19 века, впоследствии была признана несостоятельной, обращение к ней было крайне удачным для решения умственных задач в общем виде и одновременно показало высокие устремления первого русского программиста – «облегчить страдания ближних».

Гомеоскопы прямолинейные

Задача: выбираем подходящую строку из таблицы

Решение (шагайка):

1. Предлагаем врачу указать нужные симптомы
2. Повторяем для всех таблиц
—-1. Берём очередную таблицу
—-2. Повторяем для всех строк таблицы
———1. Берём очередную строку
———2. Если совпали все симптомы,
то строка найдена – конец.

5. Умственные машины

Умственная машина – доступная машина для выполнения умственной работы.

В двух словах Корсаков выразил всё программирование:

Суть (машина) – механическая запись мысли

Цель (доступная) – для помощи людям

Задача (умственная) – в выполнении умственной работы

Умственные машины были ангельски простыми. Вот изображение первой в мире умственной машины.

Плоский гомеоскоп

Вся машина – это деревянный брус с номерными отверстиями с поднятыми штырями.

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

1. Предлагаем врачу указать нужные симптомы
2. Повторяем для всех таблиц
—-1. Берём очередную таблицу
—-2. Повторяем для всех строк таблицы
———1. Берём очередную строку
———2. Если совпали все симптомы,
то строка найдена – конец

Наиболее продвинутая умственная машина – идеоскоп – «поисковик идей» и прообраз Яндекса – полноценно обрабатывала неограниченно число перфокарт на уровне современного языка SQL.

Идеоскоп

Значение изобретений Корсакова

В 1961 году историк Моисей Радовский опубликовал архивные документы Академии наук СССР, относящиеся к прошению Корсакова в Академию наук. В 1980-х годах публикация Радовского привлекла внимание профессора кафедры кибернетики МИФИ Геллия Поварова. Оценка трудов Корсакова впервые была изложена Поваровым в 1982 году на семинаре по искусственному интеллекту, проходившем под руководством Е. А. Александрова в Центральном доме культуры медицинских работников в Москве.

В 2001 году Поваров опубликовал англоязычную статью об изобретениях Корсакова в книге Computing in Russia («Машинные вычисления в России»), изданной в Германии. Первая обширная статья об изобретениях Корсакова на русском языке была опубликована в 2005 году Александром Нитусовым в еженедельнике PC Week/RE. Функционирование машин Корсакова впервые было описано в брошюре Валерия Шилова, опубликованной в виде приложения к журналу «Информационные технологии» в 2008 году. Подробные главы о Корсакове и его устройствах появились в книгах Шилова, посвященных истории логических машин; он же подробно описал жизнь и работы Корсакова на английском языке.

В 2009 году появились два перевода брошюры Корсакова на русский язык: в издательстве МИФИ под редакцией Александра Михайлова и в сборнике МГУКИ под редакцией Андрея Алексеева. В сопроводительной статье Михайлова приводится попытка интерпретации функционирования машин Корсакова в современных терминах операций с множествами, а также дается указание на предвосхищение Корсаковым ряда современных понятий. Теоретико-множественная интерпретация работы машин Корсакова также обсуждалась на Научной сессии МИФИ-2009. Визуализация работы «интеллектуальных машин» Корсакова была выполнена на кафедре кибернетики МИФИ.

Открытия и изобретения Корсакова опередили своё время примерно на 150 лет.

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

Источник 1

Источник 2

Источник 3

Публикация на Телеграф

  • Д. Кольцов. Первый русский программист Семён Корсаков

Leave a reply

Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
Генерация пароля