Раньше все читали книги, газеты и записки на зеркале. И смотрели передачи на ТВ (уже не все помнят). И слушали пластинки (зайдите в википедию). Нынче к ним добавились и бочком их вытеснили программы. Программа стала новым носителем мысли, выраженной словом, изображением или звуком. Машины, машинки, машиночки и машинопулечки стали проигрывателями для программ.
Кто-нибудь когда-нибудь слышал имя изобретателя программы?
Никто и никогда.
Нам рассказывали про древних греков, которые ещё до Рождества Христова утопили некий антикитерский механизм.
Нам пели про "первого программиста" Аду Лавлейс. В 1843 году она переводила лекции Карла Бэббиджа по "аналитической машине" (будущий "компьютер") и в примечаниях набросала некий примерчик. Почему вдруг дамы вперёд? А что сам Бэббидж?
Нам плясали и махали патентом на первый компьютер. Компьютер Первый (1942, Атанасова-Берри компьютер, ABC) вообще не имел программы. Та-да-м.
Но почему так суетливо? Почему нельзя просто назвать изобретателя программы и отметить это хорошим памятником?
Самый логичный кандидат на памятник - это Бэббидж, придумавший "аналитическую машину" - первый вычислитель, управляемый программой.
Изначально Бэббидж тоже хотел построить вычислитель без программы. Потому что её тупо не было (греки утопили). В 1822 году он успешно построил МРАЗМ - "малую разностную машину", которая вычисляла разность многочленов.
Для тех, кто "давненько я не брал в руки шашек", демонстрируем полином:
sin x = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! - и так далее (^ - степень, ! - факториал).
МРАЗМ успешно считала первые три члена этого полинома (до пятой степени). Бэббидж торжественно пообещал посчитать целых пять членов парламента (до девятой степени)! Этого было бы достаточно для составления таблиц Брадиса (1921, Тверь, составлены бесплатно преподавателем и учениками рабфака, их использовал потом весь мир 60 лет). Простите, не Брадиса, а синусов с точностью до 4х знаков после запятой.
Лондонское королевское общество наградило Бэббиджа золотой медалью и дало денег на чудо-машину, названную БРАЗМ - "большая разностная машина".
БРАЗМ пыталась построить себя (каждый порядочный компьютер имеет интеллект, права и гендер, если Тьюринг нам не врёт) целых 10 лет и обошлась в сумму порядка 27 000 фунтов частично королевских, частично личных средств Бэббиджа. Ради любопытства переведем вес денег в их стоимость.
Поскольку в обменниках старые фунты не принимают, то возьмем за отправную точку зарплату английского дворецкого середины 19 века: 10 фунтов в год. По нашему это будет кто-то между директором жэка, ведущим свадеб и семейным врачом. Такой идеальный человек в вакууме сейчас получал бы никак не меньше 1 миллиона рублей в год. Выходит 1 фунт за 100 тысяч рублей. (Такое ощущение, что один фунт стерлингов стоил дороже фунта серебра…)
27 000 фунтов = 2,7 * 10^4 * 10^5 = 2,7 * 10^9 ~ 3 миллиарда рублей.
БРАЗМ построить никак не получалось. Бэббидж как бы и не совсем виноват - машина сама не хотела, - но тогдашнее общество не было так же приучено к субъектности машин, как нынешнее. Слава Бэббиджа поменялась с "многообещающего ученого" на "слишком много обещающего". Лично для него это была трагедия. От которой он поехал лечиться по Европам и приехал в Санкт-Петербург аккуратно в 1832 году.
Из Санкт-Петербурга Бэббидж вернулся в Англию в 1833-м. В холодной и немытой России он внезапно охладел к своей возлюбленной БРАЗМ и заразился желанием построить новую машину, управляемую перфокартами. Этой хворью Бэббидж страдал остаток своей долгой жизни - до 1871 года.
Каким новым "новичком" отравили Бэббиджа в России? Программой.
Задача БРАЗМ состояла в выполнении длинных цепочек арифметических действий. Для них были придуманы цепочки из вычислительных узлов, которые передавали друг другу итоги вычислений и считали по нарастающей. Такая машина была сложной и тяжелой. Особенно - "тяжелой". На бумаге она весила 2 тонны, а построить её было ещё тяжелее, чем начертить и выбить деньги (27 тысяч фунтов…).
Программа сулила "лёгкое" решение для машинных многочленов. Не надо никаких цепочек из повторяющихся узлов. Заменим их на цепочки приказов. Приказы пишем отверстиями на картоне. Картон лёгкий. Отверстия ещё легче. Вычислительные узлы из повторяющихся становятся одиночными. В теории это должно снизить вес машины, она заработает и спасёт доброе имя ученого.
В некотором смысле, так и произошло. Теперь весь мир знает Бэббиджа как "отца компьютера" - вычислителя, который управляется приказами, записанными на пробитом картоне (магнитной ленте, магнитных дисках, транзисторных твердотельных накопителях). Знает и восхваляет. Но про изобретение программы молчит.
По чертежам позже 1833 года, вес аналитической машины получался 14 тонн и она могла бы приводиться в движение двумя свежевыпеченными модными паровозами (1825, паровоз "Локомотив"). Представьте себе эту инновационную картину маском: 14-тонная машина и два паровоза дружно считают многочлены.
Бэббиджу оказалось трудно вдохновить частных спонсоров перенести этот технократический пейзаж из воображения в жизнь. Во-первых, какие ещё многочлены? Во-вторых, те, которыми нас душили в школе? В-третьих, так если они уже посчитаны, то не дорогое ли у вас хобби? Постойте, так это опять вы!? У меня молоко убегает. (Убегает.)
Бэббидж хотел объяснить, насколько всё это мелочно по сравнению с навязчивой идеей механических вычислений, и невнятно добавлял "а ещё аналитическая машина будет сама придумывать математические формулы, стихи и песни". Но слишком хорошо знал её возможности, поэтому врал неубедительно. 20 век исправит этот недостаток, и торговцы компьютерным разумом больше не станут погружаться в свой товар интеллектуально. А неизвестный автор народной песни "подайте на искусственный интеллект" теперь известен.
Итог: в 1833 году Бэббидж начал строить машину, сердцем которой стала программа.
Но авторство первой программы почему-то присуждают его единственной последовательнице, которая переводила его же лекции в 1843 году и только добавила туда пример программы, показывающий работу машины, построенной только через 100 лет (1946, ЭНИАК).
Где логика, спросите вы? Почему заслуги изобретателя присваивают его помощнице?
А не надо было вам, Бэббидж, ездить в эту токсичную Россию, становиться членом Санкт-Петербургской академии наук, да ещё в знаменательный 1832 год, когда оная академия рассматривала доклад "Новый способ записи мысли для обработки умственной машиной". Не надо было держать в руках чертежи "умственной машины" и читать про таблицы сведений на перфокартах. Не надо было ходить по коридорам русской академии, где можно было столкнуться с тем токсичным русским, который в одиночку создал свою умственную машину. Не надо было так откровенно передирать название его машины, наконец.
Это все крайне неприлично и очень неприятно. Поэтому первой программисткой вместо вас, Бэббидж, назначаем слабую беззащитную женщину, брошенную отцом лордом Байроном (зато знаменитый поэт и дружил с гомосексуалистами), умершую молодой от рака. Жалко. Жалко, что она не была негритянкой, но нельзя всегда получать то, что хочешь (but if you try sometimes и тд. Возможно, мы ещё узнаем что-то новое о происхождении Байрона, вон Пушкин же смог (иметь предков из Африки)).
А изобретатели программы наверняка утонули в древней Греции, поэтому давайте уже решим, что программу никто лично не изобретал, и тем более ни эти ужасные русские.
Как говорил один английский король одной английской девочке: "У тебя отличное зрение, если ты можешь увидеть никого".
Но мы-то простые русские люди. И не уйдём от поставленного вопроса по-английски.
Закончим это вступление на разогреве, и объявим главное действующее лицо нашего рассказа.
Изобретатель программы. Наш соотечественник. На его изобретении стоит современное программирование, на которое опирается современное человечество. Если вы читаете этот текст, то это правда, потому что его носитель - программа.
Встречайте во второй части статьи!
Комментарии
Заинтриговал.
Здорово написано. Аффтар, пеши исчо!
Начал шикарно. Но... оформление...
В общем, автор — русский "на все сто": насколько талантлив — настолько же и раздолбай.
«Но если мы, русские люди, сейчас же станем жить так, не повинуясь правительству, то не будет России», скажут люди, которым кажется, что в том, что есть Россия, т. е. соединение многих разных народов под одной властью, есть что-то важное, великое и полезное.
Но ведь это соединение многих разных народов, называемое Россией, не только не нужно вам, русским рабочим людям, но именно в этом соединении одна из главных причин наших бедствий.
Лев Толстой 1905г
Не в себе уже был старичок.
Неужто тот самый гардемарин? Изрядно Корсаков, изрядно.
А вообще, учитывая значимость и влияние современной электроники на мир - этот факт нужно зело выпятить и ставить для запоминания рядом с Циолковским, Павловым и Менделеевым. Благо все из 19 века.
Заволновался было. Где Корсаков? Однако есть. Ждем.
К автору два вопроса:
1. Где отмечены изобретения Бушо, Фалькона и наконец, Жаккара в области программируемых ткацких станков? А ведь это произошло задолго до Чарльза Б. и Ады Л.
2. Зачем тянуть со второй частью? Что за "деАгостини"?
А ещё для объяснения ограниченным холопам запада , почему мы пользуемся айфонами :
на фото:
Инженер Леонид Куприянович демонстрирует возможности мобильного телефона. «Наука и жизнь», 10,
1958 год. на фото:
Инженер Леонид Куприянович демонстрирует возможности мобильного телефона. «Наука и жизнь», 10, 1958 год.
А там точно соты были-то? Или ручной переход от вышки к вышке? Ручной переход у американцев сразу после войны появился, в 1946м.
Это не значит, что в СССР учёные были отсталее. Просто в 1946м СССР был немножко другим занят. Там дома хоть какие-нибудь отстроить, атомную бомбу, опять-таки… и всё прочее.
Ели вопрос мне ,то подробностей я не знаю. Почти все статьи не мои.Я просто собираю интересную инфу для себя ,детей и внуков.
Да , сильно нас отбросили революция и войны. Русские авто выпускались до революции уже довольно массово и стоили дороже иностранных. Качество было лучше. Будет время, поставлю статью.
Ну что за бред Вы несёте? Какие соты? Какие вышки? Какой переход? В вашей ссылке есть же про этот стандарт MTS. В машине полудуплексный приемопередатчик, типа "- Алё, приём! - Алё, приём!", абонент вызывает оператора (телефонную барышню) на телефонной станции, тот втыкает шнурок нужному абоненту, и связь началась.
А автоматическая связь, тоже мобильная, но таки ещё не сотовая (не смешивайте понятия), это IMTS (там же у Вас почитаете), где мобильный абонент уже сам набирает городской номер. Это 1964 год по Вики, а так лет на несколько позже ещё заработало. Да пусть даже 1964 год, но у нас уже год как "Алтай" работал, с 1963 года, мобильный и автоматический. Дома хоть какие-нибудь уже отстроили, атомную бомбу, опять-таки… и всё прочее... И оказалось, что пиндосские учёные таки отсталее.
Грамотно излагаете
Ещё чуток в копилку:
А БЭСМ ?
К слову, созданный в Швейцарии Международный центр ядерных исследований пользовался для расчетов машинами БЭСМ.
А еще наши разработали компьютер на троичной логике, который БЫЛ реализован в железе в 70х годах ЕМНИП. Назывался он СЕТУНЬ, но инфы по нему в интернете очень мало.
А теперь заново весь мир изобретает то, что у нас давно умерло :(
Если кто-то даст развернутую историческую справку по Сетуни - буду очень признателен, нормальных внятных материалов найти не смог. Всё урывками как-то и "на полях"...
Да полно: https://habr.com/ru/company/ua-hosting/blog/273929/
Слава те господи вмире никто не изобретает... умерла значит умерла
1) В мире именно что пытаются повторить. То, что наши давно реализовали, более 60 лет назад. Так что мимо кассы. Абсолютно.
2) Даже не в 70х, а в конце 50х )
Вот это подарок! Единственное, за что до сих пор уважаю исследователей всякой всячины и архивных документов, так это за то, что не дают истории засохнуть на монументах !.
Букоф много.
А толку?
Простая задача - предоставить удалённый доступ. Венда. Вперде, умники ;)
Программа - это алгоритм. А алгоритмы были придуманы давно
Программа - это алгоритм плюс структура данных. Классическое определение же.
Но бумага-то всё стерпит. А здесь речь про программы для нечеловечьих исполнительных устройств.
И что? Разницы то нет. Человеческие алгоритмы существуют? Да существуют.
Если надо автомат выполнчть какое то деиствие что первое в голову придет? Заставить его деиствовать по алгоритму. Это и будет программои.
Обычная шарманка существующая уже 500 лет - уже автомат с программои. Причем не однои. У них были сменные мелодии. По сути перфокарты.
Программа -- это то, что определяет действия исполняющего устройства в определённый момент. Этим может быть алгоритм, правило, система директив, вообще некая система и что-угодно ещё, пока оно удовлетворяет принципу, выраженному определением программы. Т.е. важно различать определение и варианты его реализации. Самый лучший пример, опять же, чтобы показать вам, почему программа -- это не алгоритм, -- это генетический код организмов, как запись программы.
И не нужно путать процесс, действующий по программе, и саму программу. Процесс содержит множество других компонент: состояние выполнения (например, указатель на следующую исполняемую инструкцию, состояние регистров и памяти и т.д.), управляемые ресурсы (таблицу сегментов, таблицу страниц, дескрипторы системных объектов). Если это процесс какой-либо деятельности, то там принципы те же, а реализация иная. Одновременно может быть множество процессов, выполняющих одну и туже программу. А вот сама программа -- она одна единственная, и одновременно существующая на любом количестве носителей. Другая программа -- это не другой экземпляр, а другая сущность, т.е. другая запись, другой код.
А вот алгоритм -- это связанная система состояний, на которой определён, как минимум, линейный порядок, но может быть определён и иной порядок. А порядок -- это отображение. Таким образом, выполнение алгоритма означает перемещение по элементам этого отображения. А мощность множества этих элементов -- это сложность алгоритма, которая приводится к физическим показателям типа объёма требуемой памяти и времени выполнения для достижения некоторого заключительного состояния (которых может быть много, в общем случае). Очевидно, что перемещение по состояниям может записываться разными способами: императивно и директивно, как минимум.
Алгоритм - это последовательность деиствии.
Вы хотите сказать рнк при рпботе не выполняет строго заданную последовательность деиствии? А присоединяет белки случаиным образом?
Именно! РНК не выполняет, потому что это -- код, на уровне реализации физическими объектами -- это последовательность нуклеотидов. Последовательность действий над ней выполняет сложный комплекс из других молекул (белков и не только), бегающий по РНК/ДНК. И это только на первом этапе трансформации в белки (а это последовательность из аминокислот, т.е. другие химические соединения, нежели нуклеотиды), которые непосредственно синтезируются на последующих. А их много. И после нескольких этапов трансформаций получается молекулярный робот (белок с самыми разными "довесками", выполняющими роль конфигурирования поведения), который вместе с другими что-то делает методом физических, химических и "статистических" реакций над более простыми молекулами. Статистических -- это пороговые реакции, когда при превышении порога наступает эффект и наоборот. И случайностей в этих процессах пруд-пруди. Например, как подходит аминокислота, чтобы быть присоединённой к собираемой пептидной цепи? Да, они окружают место синтеза, но ведь их много. Как подходит именно нужная? И сбоев полно: ошибки редактирования РКН/ДНК, ошибки экспрессии гена в матричные РНК, ошибки синтеза белков, их компенсация путём разборки обратно на нуклеотиды или аминокислоты, и т.д. и т.п. Потому что на физическом уровне реализации всегда возможны ошибки и сбои. Однако благодаря многократному повторению цепей управления и операций, применения компенсаторных механизмов и механизмов восстановления от сбоев, система какое-то время работает. Алгоритм -- это информация, определение, например, выраженное системой связей между состояниями (между которыми можно переходить действиями), а не то, что непосредственно происходит в исполняющем устройстве, реализующем выполнение алгоритма. Происходит процесс: у него есть фактор времени и фактор текущего состояния, имеющие непосредственное физическое представление.
И? Речь то о последовательности. Об алгоритме.
Он есть. Синтез работает по нему.
Да, сбои бывают. Но на то это и называют сбои, потому что это нарушение процесса.
Это некорректный вопрос, т.к. предполагает, что у программы может существовать изобретатель. Однако программа -- это следствие системных законов и только. Т.е. она определена и существует вне времени и пространства вместе с законами и принципами систем. Самый тривиальный пример -- это генетический код организмов. Т.е. программа существовала ещё до возникновения человека. Поэтому никакого изобретателя программы не существует и быть не может в принципе. И не нужно путать с тем, что кто-то догадался записывать программу: это столь же естественно, как записывать какую-либо информацию, т.к. без материального носителя с ней ничего невозможно сделать, а значит, опять же, является следствием системных законов и принципов.
Точно так же нет никаких математических операций, т.к. всё это является обозначением отображений и их элементов. А то, что называют вычислениями, является перемещением по элементам этих отображений. А сами отображения точно также определены и существуют независимо от того, кто о них знает и кто ими пользуется, т.е. независимо от человека.
Вообще то англичане забыли (мож и без кавычек) не только например гениального Паскаля с его "паскалиной"(17 век) но и например своего самородка Фоулера - сделавшего машину с троичной логикой - как раз в годы когда Бэббидж придумывал своего монстра
а какая программа у мозга? мы же считаем "в уме".