На чем учились программировать советские гики, часть 8 (Софт)
Разработать компьютер с нуля — задача сложная, пусть даже речь идет о таком уникальном устройстве, как БК-0011. Однако вдохнуть в него жизнь с помощью продуманной программной экосистемы — вызов совершенно иного порядка. Какое же программное обеспечение было доступно советским энтузиастам?
#1. РАПИРА
За лаконичной аббревиатурой РАПИРА скрывалось характерное для советской эпохи громоздкое наименование: «Расширенный адаптированный поплан-интерпретатор, редактор, архив».
Этот процедурный язык программирования начал создаваться в конце 1970-х годов, вобрав в себя множество концепций из эдинбургского Поплана и нью-йоркского Сетла.
Код Рапиры. Источник.
От Поплана языку достались интерактивная интерпретируемая природа высокого уровня, ориентированная на учебный процесс и прикладные задачи умеренной сложности, а также динамическая типизация, бестиповые переменные и интерпретационная модель выполнения. Вклад Сетла включал гетерогенные динамические массивы, конкатенацию, операции сравнения, работу с множествами и многое другое.
ПЭВМ “Агат”. Источник.

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

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

Язык полностью базировался на кириллице и содержал такие операторы:
-
ВОЗВРАТ
-
ИНАЧЕ
-
ПРОЦ
-
ВСЕ
-
КНЦ
-
ФУН
-
ШАГ
-
ПОВТОР
Любопытно, что в ранних версиях Рапиры для присваивания значений применялся символ «->». При этом порядок следования был инвертирован по сравнению с привычным для программистов: сначала записывалось вычисляемое выражение, а следом — идентификатор переменной, куда передавался результат. Иными словами, использовалась схема «выражение -> переменная». В дальнейшем от этого подхода пришлось отказаться, вероятно, под влиянием синтаксических стандартов Алгола.
К сожалению, несмотря на административную поддержку и предустановку на «Агатах», Рапира не получила массового распространения. Проводилась ее локализация — в частности, существовали грузскоязычная и англоязычная версии. Однако давление со стороны более популярных Паскаля и Бейсика, а также постепенный приход спектрумовских и IBM-совместимых архитектур привели к закату отечественных ПК. С уходом «Агата» в небытие канула и Рапира. Ее главного разработчика, Геннадия Звенигородского, не стало в трагически раннем возрасте — в 32 года.
#2. «Черепашка»
Строго говоря, «Черепашка» не являлась самостоятельным программным продуктом. Этот виртуальный агент выступал исполнителем в программируемой образовательной среде. Концепция была заимствована из американской среды Logo, созданной на базе PDP-1 Дэниэлом Боброу, чья фамилия имеет явные славянские корни.
Фундаментальная идея «Черепашки» отражала принципы конструктивизма Сеймура Пейперта: дети и взрослые усваивают знания гораздо эффективнее, когда строят собственные умозаключения на основе практического опыта и создают осязаемые результаты в процессе обучения.
Черепашка рисует. Источник.

Стоит отметить, что самая первая черепашка была физическим устройством. Это был миниатюрный робот размером примерно с половину баскетбольного мяча, подчинявшийся инструкциям с компьютерной клавиатуры. Вместо хвоста робот был оборудован специальным пером, оставлявшим след на бумаге, что позволяло вычерчивать сложные геометрические узоры посредством программных команд.
Сеймур Пейперт демонстрирует механическую черепашку-каллиграфа, 1973 год. Источник.


С распространением персональных компьютеров надобность в бумажных носителях отпала, и Черепашка перекочевала на мониторы с характерным фосфорно-зеленым свечением, где стала выводить графические элементы пикселями.
В советской вычислительной технике она использовалась на БК-0011, ДВК, УКНЦ, упомянутом «Агате» и других платформах, поддерживающих интерпретацию Logo. В ряде модификаций ее заменяли иные персонажи: Том Сойер с малярной кистью, кузнечик, робот или чертежник, управляемые с помощью русскоязычных команд.
#3. Бейсик
Дартмутский Бейсик по праву считался универсальным стандартом той эпохи — избежать встречи с ним в 1980-х было невозможно. Он по умолчанию поставлялся практически со всеми ранними персональными компьютерами, начиная с «Микроши» и заканчивая Yamaha MSX или многочисленными клонами ZX Spectrum (требуется изучить Бейсик — покупай Спектрум).

Именно с помощью этого языка школьники делали первые шаги в серьезном программировании: создавали калькуляторы, выводили на экран фамилии и инициалы, рисовали псевдографикой космические корабли и автомобили, а наиболее терпеливые и сообразительные умудрялись писать полноценные игры.
В стране существовало множество отечественных диалектов языка: версия Бейсика для ДВК, вильнюсский вариант под влиянием MSX Basic, а собственная реализация имелась даже у программируемого микрокалькулятора «Электроника МК-85».
Благодаря простоте освоения Бейсик знал каждый владелец компьютера того времени. Существует скептическое мнение, что программист, начавший с Бейсика, навсегда теряет академическую чистоту стиля, однако именно эта среда стала фундаментом для формирования целого поколения выдающихся отечественных IT-специалистов.
#4. Учебный алгоритмический язык
Несмотря на то, что вычислительные комплексы учебного назначения (КУВТ) и ПЭВМ производились сотнями тысяч, их всё равно не хватало для полного обеспечения учебных заведений. Особенно остро дефицит ощущался в школах: небольшие города и сельская местность зачастую оставались без техники, и подростки могли видеть компьютеры лишь на страницах журнала «Юный техник».
Великий Андрей Петрович Ершов. Источник.

Чтобы нивелировать этот разрыв, выдающийся советский теоретик программирования Андрей Ершов (1931–1988), являвшийся наставником Звенигородского, разработал концепцию «безмашинной» информатики, заимствовав базовые принципы из Алгола и Паскаля.
Пример учебного алгоритмического языка. (Кто-то называл его ЕРШОЛ). Источник.

Данный инструмент, также известный как Русский алгоритмический язык (РАЯ), стремительно проник в советские школы. Печать тиражей учебной литературы была значительно проще выпуска аппаратного обеспечения, поэтому тираж книг с описанием этого языка достиг примерно 7 миллионов экземпляров.
Поскольку проект создавался как суверенный ответ на западные разработки, синтаксис РАЯ полностью строился на русском языке, что делало команды интуитивно понятными для учащихся: аргументы обозначались как «арг», а результаты — как «рез». Использование родного языка позволяло заниматься алгоритмическим проектированием прямо в школьных тетрадках в клетку. Сегодня это может казаться атавизмом, однако тогда такой подход закладывал прочную базу для дальнейшего освоения реальных вычислительных систем.
#5. Робик
Еще один совместный проект тандема Ершов — Звенигородский, язык «Робик», ориентировался на самую младшую аудиторию — учеников со второго по пятый класс.
«Робик» представлял собой простой язык для составления базовых алгоритмов, служащий своеобразным мостиком для перехода к более сложной Рапире.
Программы строились на последовательности команд, выполняемых специальными агентами-исполнителями, что продолжало традиции среды Logo, где дети осваивали практические навыки конструирования с первых уроков.

Наиболее популярными исполнителями были Муравей и Маляр. Муравей перемещался по игровому полю по аналогии с черепахой в Logo. Примечательно, что учащийся мог управлять целой группой муравьев, что позволяло на интуитивном уровне знакомиться с концепциями параллельных вычислений.
Архитектура языка допускала расширение: создавались новые исполнители, которых можно было программировать непосредственно средствами самого Робика. Каждому из них назначался собственный набор логических или математических инструкций, превращавший изучение основ программирования в увлекательную игру.
#6. Фортран
Будучи первым языком программирования высокого уровня, фортрановская экосистема от IBM появилась в СССР с некоторой задержкой. Изначально доминирующие позиции в советской науке занимал Алгол, но после того как физики из Дубны во главе с исследовательской группой Николая Говоруна при поддержке коллег из ЦЕРН детально изучили Фортран, выбор был сделан в его пользу, и язык был портирован на БЭСМ-6.
Создатель Фортрана, Джон Бэкус. Благодаря ему советские программисты могли на Фортране и бэкус и мэкус, и кукарекус. Источник.

Тем не менее, Фортран не остался монополией громоздких суперкомпьютеров, занимавших целые залы. Он нашел применение и на более компактных ЭВМ, поступавших в студенческие лаборатории и компьютерные классы: ДВК, УКНЦ, а также на отдельных модификациях серии БК. Разумеется, редкие тогда IBM-совместимые ПК также комплектовались средствами разработки на Фортране.
Фрагмент кода, написанных на Фортране. Источник.

Язык использовался для решения ресурсоемких научно-технических задач: расчетов в области физики, механики, аэродинамики, линейной алгебры и метеорологии. В частности, он задействовался при проектировании советского космического корабля «Буран» (к слову, в NASA он применяется по сей день). В школьной программе Фортран появлялся эпизодически — главным образом в специализированных физико-математических классах.
Абсолютно гениальная «Энциклопедии профессора Фортрана». Источник.

Помимо исторического значения, Фортран оставил заметный след в интернет-культуре благодаря знаменитой «Энциклопедии профессора Фортрана», запомнившейся яркими иллюстрациями и сатирическими комиксами о суровых буднях программистов, которые завирусились в Рунете в конце 2000-х.
Золотая классика. Источник.

#7. Паскаль
Паскаль. Источник.

Паскаль закрепился в арсенале советских специалистов ближе к исходу 1980-х. Его ценили как строгий инструмент для глубокого погружения в структурное программирование. Четкая организация кода, строгая типизация и наглядность при демонстрации алгоритмов и структур данных обеспечивали ему высокую популярность.
Главной сферой применения Паскаля были высшие учебные заведения, хотя он активно использовался в старших классах и профильных кружках. Научные коллективы также охотно применяли его для быстрого прототипирования алгоритмов без необходимости развертывания громоздких промышленных комплексов.

Язык функционировал на платформах БК, «Агат», ДВК, УКНЦ и на клонах ZX Spectrum, для которых выпускался специализированный диалект HiSoft Pascal 4. Хотя на закате Советского Союза Паскаль не был задействован в масштабных государственных или оборонных проектах, в следующем десятилетии его ждал триумфальный расцвет с появлением сред Turbo Pascal, Object Pascal и среды разработки Delphi. Для многих уроки информатики в те годы не прошли даром.
Смартфоны Huawei подорожают из-за роста себестоимости более чем на $200
После месяца затишья Солнце резко активизировалось
Память с самообработкой данных: устройство LPDDR5X-PIM
AMD бросила вызов Nvidia: новый чип Strix Halo получил поддержку до 192 ГБ памяти перед анонсом RTX Spark
Все модификации Samsung Galaxy S27 Ultra рассекретили задолго до премьеры
Rocket Lab заключила рекордный контракт на 20 пусков ракеты Electron
Бельгийский луноход полетит к южному полюсу Луны на аппарате Blue Origin в 2029 году
Запущенный космический аппарат SMILE зафиксировал полное кольцо полярных сияний у Северного полюса