вторник, 24 марта 2015 г.

Языки программирования советских ЭВМ

Сейчас, когда ты разрабатываешь программу, когда надежды уже не остается, ты смотришь на свой (или, что хуже, чужой) код и к тебе в голову приходит мысль: «Черт, как же это не понятно». И при этом ты пишешь программу на высокоуровневом языке в редакторе с подсветкой синтаксиса.
Давай рассмотрим как выглядели программы для ЭВМ в СССР до воцарения персональных компьютеров.

1964 — Наири

Программы для этой ЭВМ выглядят весьма контрастно. Одни, написанные на языке Автоматического Программирования (ЯАП) — крайне информативны и приятны для чтения, даже математические операции выглядят так, как должны. Программы на машиннном коде выглядят совершенно иначе - неожиданные и абсолютно не интуитивные последовательности букв, цифр и символов, которые редко увидишь в низкоуровневой программе.

1968 — Минск-32


Несмотря на то, что для этой ЭВМ можно писать на высокоуровневом языке программирования (вроде Fortran), все же главным языком этого компьютера стал Язык Символического Кодирования (ЯСК), бывший тогда одним из популярных стандартов записи программ.
Можно назвать этот язык переведенным ассемблером с весьма интригующими названиями. Меня больше всего интересует команда «ЫЖ» (вроде бы оператор вывода на внешнее устройство).

1970 — М-222



Пришло время сказать о языках высокого уровня. В первую очередь в памяти всплывает многострадальный Fortran. Именно на нем программировали для М-222 используя транслятор Ф-20.
Сама программа на Фортране выглядит еще более-менее презентабельно, но после вывода на печать становится обсолютно не читаемой. В исходном коде явно прослеживается активное использование GOTO, так сильно сейчас осуждаемое.

1977 — Электроника Б3-21

С 1981 года началась славная, хоть и короткая, история программируемых советских микрокалькуляторов на столах простых инженеров. Первым из них стал Б3-21. Несмотря на весьма скромные характеристики - 60 шагов программы, 7 регистров общего назначения, кольцевой стек на 6 элементов, операции выполняются от 0,5 до 3,5 секунд, этот калькулятор и некоторые последующие стали крайне популярны. Выпускались целые книги и статьи о программировании для совместимых калькуляторов.
Программы для этих ЭВМ пишутся в специфичных машинных кодах: коды инструкций составляются из нажатых клавиш. Выглядят такие программы на редкость особенно.

1 комментарий:

  1. мнемоника команд "Минск-32". Вообще-то это т.н.экстракоды, т.е. в современной терминологии, SVC -вызовы супервизора.
    ЗАКР - закрепление доступного устройства за программой, в данном случае ПЧ - печатающее устройство.
    ОСВ - соответственно, обратное действие, освобождение, устройство стает доступным для закрепления другими программами.
    ЫЖ - вЫвод с оЖиданием. если без ожидания,то просто Ы.
    ВЖ - ввод с ожиданием, без ожидания просто В.
    Ж - ждать пока устройство отработает предшествующую команду Ы или В,
    ЖОО - Ждать Ответа Оператора
    КТ - Константа Текстовая
    КЧ - константа числовая
    ГРУП - означает что следующая команда будет выполнена указанное число раз
    П - пересылка
    БАЗ - номер базисной ячейки для адресации, это не команда даже а просто указание транслятору
    РЗВ - резервирование указанного числа ячеек
    ВЫХ - выход из программы и передача управления вызвавше программе
    КОСЛ - константа обмена, уточняющая предыдущую команду ввода-вывода, указывает какие ячейки будут использованы в операции ввода-вывода

    ОтветитьУдалить