Русский изобретатель программы (ч.2)

Аватар пользователя СПбДмитрий

Первая в мире программа Гомеоскоп

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

Программу изобрел Семён Николаевич Корса́ков (25.01.1787-13.12.1853) - русский дворянин, военный, чиновник особых поручений, учёный и врач. 

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

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

Сохранилось точное изображение и описание первой программы. Первые 5 программ и машин для их обработки составили первую книгу по программированию, вышедшую в Санкт-Петербурге  26 сентября 1832 года.

Это был доклад на французском языке, отпечатанный и отправленный на рассмотрение Санкт-Петербургской императорской академии наук. Его франкоязычность огорчает, зато даёт возможность переиначить его название. С доработкой переводчика название доклада звучит так:

"Новый способ начертания мысли для обработки умственной машиной".

26 сентября 1832 года, день издания доклада, можно считать Днём рождения программы.

"Новый способ" описывал пять настоящих программ, то есть существующих не в воображении и не вопреки нуждам общества:

  1. Гомеоскоп №1 ("поисковик подобий" -  линейный поиск полных подобий)
  2. Гомеоскоп №2 (линейный поиск частичных подобий с упорядоченной выдачей)
  3. Гомеоскоп №3 (двухмерный поиск частичных подобий)
  4. Идеоскоп ("поисковик идей", или сведений - линейный поиск и подобий, и отличий)
  5. Простой компаратор (сравнитель сведений)

Машина  для обработки программ была названа предельно точно  - "умственная машина", так как выполняла умственную работу для человека и за человека. К каждой программе прилагалась своя машина.

Особое положение среди программ занимает первая - её могли обрабатывать две разные машины: УМ-1 и УМ-2. Гомеоскоп №1 и Гомеоскоп №2 - это одна запись сведений, но разные действия по их обработке.

Доклад Корсакова был краток и чёток. Будем стараться в том же духе.

Первая в мире программа

Первая в мире программа изображена на приложенных рисунках 1-4.

Программа Гомеоскоп №1 (ПГ-1) была таблицей гомеопатических лекарств. Строками таблицы были отдельные лекарства, а столбцы - признаки болезни. В таблице был 31 признак и неограниченное число строк, по 8 на одном листе картона, а листы  складывались в стопку. Отсутствующие для отдельного лекарства признаки (нули) не записывались, присутствующие  признаки (единицы) пробивались в картоне, откуда произошло название - "перфокарта", или "пробитый картон".

Первое упоминание перфокарты отмечено в 1808 году, когда французский ткач Жаккард  применил перфокарту для управления станком для вышивания узоров. Корсаков мог познакомиться с перфокартой, когда в рядах победоносной русской армии путешествовал по Европе вслед за остатками армии Наполеона в 1813-14 годах. Но именно Корсаков первым применил перфокарту для записи числовых сведений, а не для прямой передачи движения машине, как в ткацком станке, шарманке или грампластинке.

 

Гомеоскоп был задуман, чтобы помогать "пользователям" (так в 19 веке называли врачей) подбирать  гомеопатические лекарства по симптомам больного. Однако программа была всеобщей: она могла помогать в подборе и лекарств, и книг, и справочных карточек и любых других сведений. (Сейчас так подбирают мобильные телефоны в Яндекс маркете.)

Умственная машина №1 (УМ-1) для Гомеоскопа №1 представляла  собой простой деревянный брусок с опускающимися стержнями. Пользователь мог выставить стержни, соответствующие нужным признакам, и начать быстрый, безошибочный и беспристрастный поиск подходящих лекарств, книг, справок и так далее.

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

Очень любопытно, как пронумерованы изображения ПГ-1 и УМ-1. Программа изображена над машиной, хотя в работе над программой находилась машина, и её стержни опускались в отверстия перфокарты под собственным весом, как видно на 4 рисунке (напечатанном на отдельной странице). А номера рисунков 1-3, помещенных на одной странице доклада, даны в обратном порядке.

Такое впечатление, что Корсаков попросил поменять рисунки местами уже в последний миг в типографии, и этим обратным расположением подчеркнул, что запись сведений первична относительно действий  обрабатывающей её машины. Тем более, что одну и ту же перфокарту ПГ-1 могли обрабатывать сразу две умственных машины: УМ-1 и УМ-2.

Возражения на возражение

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

На это освященное всеми соборами бесстрастных академиков и бескорыстных корпораций определение есть ровно два возражения.

Первое возражение: запись машинных приказов как раз является таблицей сведений.

Машинный приказ - эти три последовательных числа: 1) номер используемого  узла машины (он же имя команды ассемблера), 2) первое обрабатываемое узлом число и 3) второе обрабатываемое узлом число, если оно требуется. Таким образом, машинная программа - эта таблица приказов, в которых много однородных строк из трёх ячеек.

Вы только что прослушали краткое описание сразу и машинного языка, и языка ассемблера. Осталось только добавить названия и номера узлов машины и два десятка имён приказов ассемблера, например, из соответствующих  глав книги "Втораграм: история, законы и язык настоящей программы" (И:2.2.Архитектура ЭВМ и И:3.1.Ассемблер).

Программа - это запись полезных сведений и действий по их обработке (машинная программа - только сведения).

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

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

Скажем так, 99% современных программ равнодушны к математике: ни математика для  них, ни математика для них ничего не значит. И 100% программ, которые написали математики для решения математических задач в прошлом, были полностью бесполезны для общества. Как, например, воображаемая программа построения математических таблиц Бэббиджа (1833) или программа стрелковых таблицы для открытия Второго фронта (1944), законченная в 1946 году (1946, ЭНИАК).

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

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

Продолжим описание изобретений Корсакова.

Авторство: 
Авторская работа / переводика
Комментарий автора: 

Продолжение по ссылке, кому будет любопытно. 

Комментарии

Аватар пользователя alexsword
alexsword(12 лет 6 месяцев)

В первую часть обе добавьте,чтобы Пульс сериалом не забивать.

ЛИбо держите паузу между частями.

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Если можно, когда удобно, добавьте сами. Она длинная, в другом стиле и более важна, чем первая. 

Аватар пользователя Quem prodest
Quem prodest(4 года 2 месяца)

А первые двигатели Даймлер конструировал русский инженер, о чем Даймлер тоже не трубит во все трубы, а даже совсем наоборот.

Аватар пользователя atman82
atman82(8 лет 3 месяца)

Не знал, спасибо!

Аватар пользователя абра
абра(6 лет 3 месяца)

Многовековые традиции возродил Чубайс в Сколковоsmile7.gif

Аватар пользователя Tinkle Bell
Tinkle Bell(7 лет 3 месяца)

Спасибо, очень познавательно! Вот бы это на другие языки перевести да в ютуб...

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Обязательно сделаю, только перепишу покороче. А кстати, как у вас с другими языками? 

Аватар пользователя smilla
smilla(10 лет 1 месяц)

Очень интересно!

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Благодарю! 

Аватар пользователя Viktor Levchenko
Viktor Levchenko(5 лет 9 месяцев)

Что автор думает про советскую троичную ЭВМ? И подход его создателей. И о троичной логике?

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Я не очень хорошо понимаю выражение "троичная логика", как и вообще применение слова "логика" к строению процессора. Взамен предлагаю подумать о процессоре УМ-1, который за "один такт" обрабатывал 31 значение. Вот это подход! А вообще, слово "логика" появилось из попыток "очеловечить" и "оразумить" компьютер, о чем я же пишу в следующей статье

Аватар пользователя Viktor Levchenko
Viktor Levchenko(5 лет 9 месяцев)

Ну это был троичный компьютер (не двоичный), и соответственно под него создали троичную логику (да, нет, не знаю), думаю вас заинтересует. :)

Аватар пользователя Полуян
Полуян(8 лет 3 месяца)

а какая программа у мозга? мы же считаем "в уме".

 

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Программу изобрёл Корсаков в 1832 году. В уме считали ещё древние египтяне 5000 лет назад (умели гипотенузу находить). Думаю, мозг без программы стравляется. 

Аватар пользователя Полуян
Полуян(8 лет 3 месяца)

Поясните, пожалуйста, свое утверждение. Мозг - биокомпьютер. Есть теория "Квантового сознания" и пр. Что тут, по-вашему, не так?

Аватар пользователя laa
laa(4 года 10 месяцев)

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

Аватар пользователя Полуян
Полуян(8 лет 3 месяца)

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

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Программа - это запись для обработки машиной. Конечно, можно этим словом назвать ещё 10 предметов: цирковое выступление, буклетик в театре, НЛП и так далее. Но это уже к филологам. Я пишу про машинную программу. 

Аватар пользователя Полуян
Полуян(8 лет 3 месяца)

есть наука - биоинформатика. вы слышали о биологических программах?

Аватар пользователя Carcass
Carcass(11 лет 3 месяца)

Пишите, интересно. 

Аватар пользователя GrumpyVK
GrumpyVK(3 года 7 месяцев)

Странно, что вы не упомянули табуляторы. Из которых, со временем, образовались бизнес-компьютеры IBM и вообще вся современная индустрия. И которые были устроены примерно так же.

Но вообще влияние этого дела на развитие IT — как влияние трудов да-Винчи на вертолётостроение. То есть никакого.

Типичная, для России, история, увы. Изобрести — есть кому. Внедрять — некому.