TGViewer
Иван Черняков. Сразу к делу. Иван Черняков. Сразу к делу. @kosmostars7403 · 2.41K subscribers
Post #404 1.22K

Forwarded from BolkNote.RU

99 бутылок: ПРОЛ-2

Иван Черняков, которого я консультировал в процессе создания фильма о программируемом калькуляторе «Электроника МК-61», выпустил новую увлекательную документалку — про «Буран» и его программное и аппаратное обеспечение.

«Буран» решал задачу многоразового возвращаемого орбитального корабля: вывести аппарат на орбиту, доставить людей или груз, выполнить работу в космосе и вернуть корабль на Землю для потенциального повторного использования.

В фильме упомянуты несколько предметно-ориентированных языков программирования, созданных в СССР специально для написания программ, некогда управлявших полётом «Бурана». Один из них — «ПРОЛ-2», программы на котором Ивану найти не удалось, поэтому он попробовал его реконструировать при помощи нейросети.

Разумеется мне немедленно захотелось найти хоть какие-то подробности про этот язык, чтобы написать на нём свою традиционную «песню про пиво». Вчера облазил весь интернет и на одном из форумов мне повезло найти одну из тестовых программ, написанных на языке «ПРОЛ-2». Она и несколько упоминаний языка в других источниках помогли мне побольше узнать о том, что представлял собой язык, на котором писались программы для «Бурана».

Итак, судя по сохранившемуся тексту, «ПРОЛ‑2» — императивный язык управления для системы реального времени. Современному программисту его запись напомнит Паскаль: присваивание :=, блоки НАЧАЛО и КОНЕЦ, явно объявляемые типы, условия и циклы, но с русскими ключевыми словами.

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


% ПЕСНЯ О ПИВЕ. НАПИСАНА СТЕПАНИЩЕВЫМ Е. В. HTTPS://BOLKNOTE.RU
МОДУЛЬ ПИВО ТЕСТ;
ПРОЦЕСС ПИВО;
ПЕСНЯ:1T;
КОНЕЦ
ИСПОЛНИТЕЛЬ ПЕСНЯ;
N:ЦЕЛ(0..99);
НАЧАЛО
N:=99;
<<КУПЛЕТ>>
ПЕЧАТЬ(/,N,' БУТЫЛОК ПИВА НА СТЕНЕ',/);
ПЕЧАТЬ(N,' БУТЫЛОК ПИВА!',/);
ПЕЧАТЬ('ВОЗЬМИ ОДНУ, ПУСТИ ПО КРУГУ',/);
N:=N-1;
ПЕЧАТЬ(N,' БУТЫЛОК ПИВА НА СТЕНЕ!',/);
ЕСЛИ N>0 ТО НА КУПЛЕТ;
ПЕЧАТЬ(/,'НЕТ БУТЫЛОК ПИВА НА СТЕНЕ!',/);
ПЕЧАТЬ('НЕТ БУТЫЛОК ПИВА!',/);
ПЕЧАТЬ('ПОЙДИ В МАГАЗИН И КУПИ ЕЩЁ,',/);
ПЕЧАТЬ('99 БУТЫЛОК ПИВА НА СТЕНЕ!',/);
ВЫЙТИ ПЕСНЯ;
КОНЕЦ


Почти все строки, думаю, понятны, я бы только одну строку прокомментировал — ПЕСНЯ:1T. Эту конструкцию я перенёс из найденного листинга, но что она точно значит, я сказать не могу. Похоже на выделение тактов для выполнения параллельных подпрограмм. Но так ли это, пока неизвестно.
  • 🔥 10
  • 👍 3
  • ❤ 1
  • 👏 1
More from @kosmostars7403
  1. Sep 14, 20261С. С - спаситель. Пост ждал своего часа, а в выходные тема сама прорвалась в чате. Так чт…
  2. Sep 10, 2026Когда человеку нечего, но очень хочется написать о какой-то теме, он начинает свой пост со…
  3. Sep 10, 2026ИНФЕРЕНС НА МОЗГЕ НАСЕКОМОГО Почвенная нематода Caenorhabditis elegans (ценорха́бдитис э́л…
  4. Sep 9, 2026Привет, у меня сегодня день рождения. Вы сделали огромные подарок: на канале сегодня-завтр…
  5. Sep 6, 2026Женя снова удивляет!
  6. Sep 3, 2026ОТСТАВИТЬ СОН: НЕ ВЬЮГА, НО БУРАН Со времён выпуска первой документалки под каждым видео м…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →