image

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

И в относительно новой по историческим меркам науке информатике есть такой человек – это академик Андрей Петрович Ершов – выдающийся советский ученый, педагог и просто прекрасный человек, обладавший тонким языковым чутьем.

27 октября 1980 года Андрея Петровича пригласили выступить с заглавным докладом на 3-й Всемирной конференции ИФИП и Юнеско по применению ЭВМ в обучении. И Ершов выступил с совершенно замечательной речью под нетипичным метафорическим названием «Программирование – вторая грамотность». Так что же он имел в виду?

Для этого нужно рассказать о жизненном пути этого человека.

Родился он 19 апреля 1931 года в Москве. В 1937 году семья переехала в Рубежное, городок в Луганской области, который в ВОВ будет оккупирован. И, если бы он не был оккупирован, то, возможно, судьба Ершова сложилась бы иначе: ведь именно из-за этого факта юношу отчислили с первого курса «секретного» физфака. Так, в июне 1950 года он был вынужден выбирать, на какой факультет перевестись.

Студенческий приятель Евгений Жоголев, который уже записался на новую кафедру вычислительной математики, рассказал об их деятельности, и в частности — об ЭВМ.

Андрей Петрович: «…он мне рассказал поразительную вещь. Оказывается, существуют какие-то электронно-вычислительные машины, они очень интересно устроены, и у них есть ртутная память. Я был поражен — что такое ртутная память? Такая стеклянная трубка, наполненная ртутью, а по бокам заткнута пьезокристаллами. Если тебе надо запомнить какое-либо число, то оно изображается как в азбуке Морзе: импульс, нет импульса и т. д., целая цепочка электрических импульсов. Так вот, эти импульсы по проводу приходят в пьезокристалл, он от этих импульсов сотрясается, и получается звуковая волна, которая бежит вдоль ртути по трубке, добегает до следующего пьезокристалла, сотрясает его, в результате получается электрический ток, и это же число в виде импульсов воспроизводится на другом конце трубки, потом по проводу бежит назад, снова на трубку — выходит, что число беспрерывно бегает в этой ртутной памяти. Не знаю почему, но этот рассказ произвел на меня очень сильное впечатление, резко повысив мой интерес к электронно-вычислительным машинам, и я записался на кафедру вычислительной математики».

Первый год, по словам Андрея Петровича, он занимался «чем попало», но затем на кафедру пришел молодой профессор Ляпунов, который начал читать студентам первый в Союзе курс основ программирования для ЭВМ. Между первым и вторым курсом Ляпунов с командировкой посетил Киев, где Лебедев доделывал свою знаменитую первую электронно-вычислительную машину, которая потом стала называться МЭСМ — Малая электронно-счетная машина. Ляпунову посчастливилось поработать на ней и изучить, так что к студентам он возвратился воодушевленный, и на втором курсе начал рассказывать о своих идеях.

image
МЭСМ

Ершов: «Это были еще очень непричесанные идеи, но то, что они рождались прямо на глазах, всех очень заразило, и наша группа в полном составе записалась к Алексею Андреевичу в ученики».

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

В 1955 году был создан Вычислительный центр Академии наук СССР, его директором стал академик А. А. Дородницын. Часть сотрудников-математиков, включая Андрея Ершова, была переведена из ИТМ и ВТ в образованный Вычислительный центр в новосибирском Академгородке, где Андрей Петрович и останется.

Еще работая в стенах ИТМ и ВТ, группа А. П. Ершова создала один из первых трансляторов (программирующую программу) — ПП «БЭСМ» для быстродействующей электронной счетной машины. Входной язык ПП «БЭСМ» содержал арифметические и логические операторы, несколько напоминающие современные операторы выбора. Наиболее важными атрибутами были операторы цикла и индексные переменные. Текст программы на входном языке ПП БЭСМ не разделялся на схему и спецификацию операторов, а представлял собой бесформатный линейный текст, в котором операторы отделялись точкой с запятой.

В ПП БЭСМ Ершов выдвинул в качестве общего правила принцип «адресной кодировки» различных объектов, с которыми имеют дело при трансляции. Такая кодировка существенно сокращает время поиска информации и соответствует структуре оперативной памяти с произвольным доступом. В 1957 году А. П. Ершовым, независимо от американских ученых, определена функция расстановки как способ бесперебойного поиска информации по ключу и исследованы ее статистические свойства и применение для алгоритма экономии команд, работающих за линейное время. На основе работ по ПП БЭСМ в 1958 году им была опубликована монография «Программирующая программа для быстродействующей электронной счетной машины», которая является первой в мировой литературе монографией по автоматизации программирования. Она сразу же была издана за рубежом, а советский тираж в 4000 экземпляров был раскуплен буквально за месяц.

Ершов: «ПП в магазинах нет! Автору слышать приятно».

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

С Джоном Маккарти (одним из соавторов термина «искусственный интеллект») Ершов познакомился в ноябре 1958 года в Англии на конференции, и это знакомство переросло в дружбу и сотрудничество. В 1965 году Маккарти впервые посетил Ершова в Новосибирске, а тремя годами позже Маккарти провел там два месяца, прочитав курс лекций студентам университета.

image
Джон Маккарти

В 1958 году академик С. Л. Соболев, один из создателей Сибирского отделения АН СССР, привлекает Ершова к работе по организации научного центра. Полностью в СО АН СССР А. П. Ершов переходит в 1960 году. Здесь, в Институте математики СО АН СССР, он формирует коллектив программистов и осуществляет научное руководство работами этого коллектива. Работы коллектива по языкам и методам трансляции заложили фундамент дальнейшего развития этого направления.

Под руководством Андрея Петровича Ершова были созданы такие известные оптимизирующие системы программирования, как АЛЬФА, АЛЬФА-6, БЕТА, которые во многом определили современную методологию оптимизирующей трансляции.

Разработка системы АЛЬФА началась с создания языка — это было характерно для традиций программирующих программ. Данный язык отталкивался от первоначальной версии ALGOL 60ALGOL 58. Группа, руководимая Ершовым, вела разработку параллельно с международной группой, создающей ALGOL 60. Во многом работы этих групп оказались совпадающими, поэтому после опубликования описания ALGOL 60 новый, созданный группой Ершова, язык был сформулирован как расширение ALGOL 60. Этот язык, носивший рабочие названия «Входной», «Сибирский», окончательно утвердился под названием АЛЬФА-язык.

Процесс создания транслятора команда Ершова задокументировала в книгах с потрясающими названиями — «Рождение α-транслятора», «Детство α-транслятора» и «Отрочество α-транслятора». В них описана вся работа над проектом: технические проблемы, ход их решения и результаты. И всё для того, чтобы облегчить изучение Альфы другим разработчикам.

И. В. Поттосин (коллега А. П. Ершова): «В АЛЬФА-языке впервые введено понятие многомерных значений и определены операции над ними, в том числе операции конструирования. Все это вошло в структуру таких языков, как PL/1, ALGOL 68, ADA. Впервые в языке были введены и такие естественные для современных языков концепции, как разнообразие циклов, задание начальных значений выражениями. Интересными, но не повторенными по существу свойствами языка были перечисления и верхние (временные) индексы. В своих метасредствах язык впервые выходил за пределы контекстно-свободных грамматик».

Дальнейшие работы А. П. Ершова по оптимизирующей трансляции привели к появлению широко известной системы АЛЬФА-6. Повторяя во многом систему АЛЬФА, система АЛЬФА-6 обладала более компактной схемой трансляции, более четко был выделен в схеме трансляции внутренний язык представления программы как основа для алгоритмов оптимизирующих преобразований.

Формировался он примерно так же, как учатся понимать друг друга люди, говорящие на разных языках и случайно оказавшиеся вместе:

  • Сначала происходил поиск понятий и конструкций, общих для всех языков, и определялся единый семантический базис.
  • Затем этот базис оптимизировался, преобразовывался, и из него генерировался объектный код для различных ЭВМ.

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

image

Анализируя Альфу и Бету, Ершов задумался: почему бы не создать язык, который станет общей средой для разработки и обоснования программ? Так родилась идея единого лексикона программирования, или лингвистики систем.

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

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

А. П. Ершов: «Программа, выраженная средствами лексикона, в определённом смысле содержит в своём тексте описание своей семантики в виде совокупности нетривиальных фактов о вычисляемой ею функции — в отличие от чистых программ, которые не говорят ничего о своих функциональных свойствах».

Главным отличием Лексикона от языков программирования должна была стать его открытость для других разработчиков. Ему не нужно было транслироваться в машинную программу, но при этом любую машинную программу можно было бы выразить в Лексиконе.

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

Не менее значимым проектом учёного стали АИСТы — автоматические информационные станции. Это были распределительные системы, которые позволяли ЭВМ выполнять несколько процессов одновременно.

Ершов воплотил в АИСТах результаты исследований по архитектуре вычислительных комплексов, ПО и моделированию вычислительных систем. Он создал первую в стране развитую систему разделения времени — АИСТ-0 — и продемонстрировал её на комплексе, собранном из нескольких ЭВМ.

Также Андрей Петрович реализовал в АИСТе идеи, которые и сегодня применяются в распределительных системах:

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

Правда, в дальнейшем разработки заморозили: системы зарубежных учёных признали более эффективными.

В 1960-е годы Ершов вместе с коллегами начал эксперименты по преподаванию программирования в средней школе, что привело к созданию первой в стране детальной концепции школьной информатики. Термин «информатика» придумал сам Ершов – и сам же написал макет школьной и вузовской программ по предмету. Вскоре в рамках эксперимента в Новосибирске начали преподавать программирование в вузах, а затем и информатику в школах. Учёные разработали компьютер «Агат», обучающую систему «Школьница» и язык Рапира. В 1976 году была даже создана «Летняя школа программирования» для школьников, куда по приглашению Ершова приезжал Маккарти. В написанной вместе с Г. А. Звенигородским и Ю. А. Первиным в 1979 году работе «Школьная информатика (концепции, состояние, перспективы)» он определил развитие этого направления вплоть до наших дней.

image


К 1985 году был издан первый учебник «Основы информатики и вычислительной техники». Для записи алгоритмов в книге использовали алголоподобный Русский алгоритмический язык, который в шутку называют «Ершол».

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

8 декабря 1988 года после тяжелой и продолжительной болезни Андрей Петрович Ершов скончался.

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

Возвращаясь к началу нашей заметки, скажем, что в 1980 году Андрей Петрович выступил со своим знаменитым докладом «Программирование – вторая грамотность» на пленарном заседании 3-й Всемирной конференции ИФИ и Юнеско по применению ЭВМ в обучении.

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

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

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

image

«Даже обучение, то есть приобретение знаний или, скорее, способности что-то сделать – это программирование».

image

«Какая-то компания выпустила на рынок игру-компьютер, которая проверяет спеллинг английских слов. С помощью синтезатора речи слово произносится, ребенок набирает это слово по буквам, машина проверяет и реагирует. В карманную игру трудно вложить хороший синтезатор речи, но авторы обратили его недостаток в достоинство, сделав его очень похожим на голос Буратино. Представляете себе восторг детей, когда игрушка пищит им голосом Буратино: «Пробуй снова, пробуй снова, ты не знаешь это слово!»».

image

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

image


Что посмотреть/почить по теме?



Комментарии (19)


  1. Myclass
    19.04.2023 06:24
    +2

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

    Немного хочу затронуть не его вклад, а то как это описано в статье.

    Главным отличием Лексикона от языков программирования должна была стать его открытость для других разработчиков. Ему не нужно было транслироваться в машинную программу, но при этом любую машинную программу можно было бы выразить в Лексиконе.

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

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

    В чем заключалось задавание направления не совсем понятно. Или это выражение для красного словца.


    1. PereslavlFoto
      19.04.2023 06:24
      +2

      Ему не нужно было транслироваться в машинную программу, но при этом любую машинную программу можно было бы выразить в Лексиконе.

      Насколько я понимаю, смысл слов такой.

      Если перед вами машинная программа, её текст скрыт от вас. Если перед вами программа на C#, а вы знаете только PostScript, её текст скрыт от вас. Если перед вами программа на LaTeX, а вы знаете только Java, её текст скрыт от вас.

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

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

      (Не обещаю, что всё понял правильно.)


    1. PereslavlFoto
      19.04.2023 06:24
      +6

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


      1) Ершов начинает с того, что к 1980 году уже есть программирование как промышленность, люди пишут программы на разных языках, на разных машинах, для разных задач. Но вот беда, совсем плохо с теорией программирования. Можно натренировать программиста на конкретном языке или для конкретных задач, однако едва ли можно обучить универсального программиста для решения произвольной задачи.


      2) Во многом эта проблема возникла, потому что языки программирования были созданы слишком конкретно. Одни для обучения, другие для моделирования алгоритмов, третьи для конкретной машины, четвёртые для конкретной области применения, пятые для 640 килобайт памяти, шестые для принтера, и так далее. Эти языки программирования служат инструментами для решения задач и призваны этими задачами. Это инструменты.


      3) А нужен совсем другой язык программирования. Да чего уж там, нужен вовсе не язык программирования. Нужно понимать, как устроено и работает программирование. Нужно понимать, как устроены и работают алгоритмы. Для этого нужна в первую очередь общая теоретическая наука о программировании. Ну, вот как есть наука о медицине или наука о математике.


      4) Такая наука состоит из понятий, из символов и терминов (для выражения понятий), из логических взаимосвязей. Проще говоря, у каждой науки есть свой язык, у науки о программировании тоже будет свой язык. Не конкретный язык программирования, а вообще язык о программировании любой программы, любой модели, любой схемы, любого алгоритма, любой процедуры.


      5) Язык программирования содержит в себе противоречие. Он хорош и быстр и эффектен, когда сведён к машинному языку, когда он удобно транслируется в машинный язык. Хорош, однако не удобен. А удобен он, когда сведён к понятийному языку программиста, когда на нём удобно записывать модель данных и модель процесса. Однако такой язык трудно транслировать в машинный язык, машина-то не приспособлена к модели процесса и к модели данных. Вот такое противоречие. Решить его нельзя, поэтому надо от него удалиться. Но куда?


      6) Науку делают люди, поэтому надо удалиться к наиболее удобному языку, в котором можно записывать любую модель данных и любые процессы. Это будет очень, очень высокоуровневый язык, который едва ли можно компилировать. Это будет язык науки, Лексикон. Компилировать нельзя, зато можно выразить всё, что делает конкретный язык программирования и конкретная машина. То есть любая практическая программа может быть записана в терминах и символах и структурах этого Лексикона.


      7) Для компиляции его надо будет перевести в какой-нибудь язык программирования. В какой? А смотря по запросу заказчика. Если у заказчика всё уже написано на Фортране, тогда можно переводить с Лексикона на фортран. Если у заказчика всё уже написано на Алголе, можно переводить с Лексикона на алгол. Если заказчику нравится ещё что, можно и туда переводить.


      8) Да, но зачем вообще нужен Лексикон, если с него обязательно надо переводить в ЯП, а потом ещё и компилировать? О! Лексикон нужен, во-первых, для научного изучения самого программирования, а во-вторых, для доказывания программ. Потому что Лексикон позволит не только то, что нужно машинным программистам (создателям языков программирования), но и то, что нужно академическим исследователям (создателям теорем и алгоритмов). Всё остальное он тоже позволит.


      9) Мне кажется, это близко к буквальному (literate) программированию Кнута. Ещё мне кажется, что все рассуждения об этом Лексиконе были сделаны, когда про оконный и графический интерфейс ещё не думали, а беспокоились доказыванием верности программы.


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


  1. SGordon123
    19.04.2023 06:24

    непонятно в какую область переехал, была ли такая в 37 году?


    1. persii
      19.04.2023 06:24
      +1

      Это не очень остроумный комментарий.

      Была целая УССР, и в ней — такая область.


      1. SGordon123
        19.04.2023 06:24

        В сталинскую область получается переехал?


        1. event1
          19.04.2023 06:24

          Ворошиловградскую. Сталино — это современный Донецк


  1. Javian
    19.04.2023 06:24
    +5

    использовали алголоподобный Русский алгоритмический язык

    По-моему это Паскаль на кириллице.


    В учебнике также описывались Рапира и Бейсик:


    Содержание


    1. SGordon123
      19.04.2023 06:24

      синий учебник как то не впечатлял, наверно совта у нас под него не было ... Современые намного полезней по моему :-))


      1. Javian
        19.04.2023 06:24
        +2

        Когда у вас из технического обеспечения уроков информатики только бумага и карандаш, то вполне годится. Книжка рассказывает что такое ЭВМ и программы. (страница 141)


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


        1. SGordon123
          19.04.2023 06:24

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


          1. Javian
            19.04.2023 06:24
            +1

            В 1987 году компьютерные классы БК-0010-01 ставили.


            1. SGordon123
              19.04.2023 06:24

              Всякие я думаю, и ямахи, и 0511 ;-))


              1. Javian
                19.04.2023 06:24

                Но бумага точно везде была не дефицит :)
                В других книгах того времени ЭВМ только упоминается что где-то это есть, а основной инструмент расчетов — микрокалькулятор. Практический — таблицы Брадиса :)


                1. SGordon123
                  19.04.2023 06:24
                  +1

                  В смысле не дифицит? Книг ( не ленина, конечно ) не было, я лично сдавал пальто в обмен на жюль верна , покупал все книжки про компьютеры что появлялись в местных магазах ;-)


  1. nbkgroup
    19.04.2023 06:24
    +20

    Про дружбу с другим титаном, Дональдом Кнутом, который выучил русский язык, чтобы читать работы Ершова, и про симпозиум в областном центре Хорезмской области Ургенче, на родине Аль-Хорезми, от которого образовано слово "алгоритм", в ходе которого Кнут сотоварищи собирали хлопок на колхозном поле — ни слова.


  1. saipr
    19.04.2023 06:24
    +4

    Знаменитое изречение А.П.Ершова (972 год, статья «О человеческом и эстетическом факторах в программировании»):


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

    считалось мировым стандартом на программиста на кафедре программирования Военной академии им. Ф.Э. Дзержинского (см. в верхнем правом углу):


    image


    Именно так нас учили программированию.


  1. VladimirFarshatov
    19.04.2023 06:24
    +3

    Именно так и попал в Программирование.. 1979год, 1-курс, первое занятие у него.. в классе НГУ целых 8 терминалов на одну единственную М-222М (если память не изменяет), у каждого мелкий цветной телевизор "графический дисплей" 256х256 точек и .. Фортран-2 со своей средой программирования (первые ИДЕ? почему про них нигде нет ни слова?!?) .. и знаменитая клавиша "Send" у терминала .. -"Кто опять нажал сенд, не поставив конец текста?".. Как попал, так и залип. Под его руковдством писалась моя первая игрушка "угадай число", точнее компьютерный игрок. Да, да тот самый Фортран-2 и 6(шесть) килослов ОЗУ..

    Эх, были люди в наше время ..

    Рапира и Школьница, во времена жизни Агатов имели просто коллосальный успех у всего Новосибирска, не знаю как дальше. НГК .. ПО для композиторов, способное писать музыку и аранжировки.. ну, может не писать, но обучать точно: визуальное представление нотных последовательностей как (не)стыкующихся геометрических фигур на нотном стане.. кмк, гениально. Возможность импортировать в свою разработку ПО, принесенное на дискетах ..

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

    Иногда получалось смешно, а иногда даже и интересно. Примерно чем-то таким занимается и современный "ИИ". Корпус обучения побольше, шаблонизатор параметризован помощнее, плюсом дополнительные фичи и "умности".. но, как было оно "сказочником" с Агатов, да так и осталось. ;)

    .. ностальжи.. Жаль, что его давно нет с нами. :(


  1. DrMoro
    19.04.2023 06:24
    +1

    Имел честь видеться с Андреем Петровичем летом 1985 года в Новосибирске в ШЮП (школа юного программиста),. Конечно, тогда ещё у меня, споливого школьника, не было ощущения встречи с человеком-легендой. Но тем не менее, именно эта школа во многом оказала влияние на судьбу - уже 35 лет в ИТ. Светлая память светлому Человеку.