Плоды релиза Победы 1948
Шрифт:
Маленков, «понавтыкавшийся» в реалиях зари цифровой эры и усвоивший по необходимости (партия поставила на важнейший участок!) многие специфические понятия как и текущие ограничения, поинтересовался на примере как раз обсуждавшегося как «образец» «первого местного» языка программирования высокого уровня — «бейсика»:
— А места в ПЗУ хватит для двух.. «наборов»?
— Да! Наш диалект первого «ЯПВУ» будет содержать 80 операторов — команд и функций и нескольких дополнительных ключевых слов длиной от 2 до десятка байт. Просто удвоится это число. И несколько усложнятся процедуры редактирования и выполнения при интерпретации. Чуть-чуть больше потребуется
После нескольких оценочных подсчётов для разных случаев на том и пришли к общему знаменателю, который выразился в приказ по наркомату «О двуязычном стандарте команд и операторов ПО», который позже многими (особенно в США и в Европе) трактовался как «второе, после Стандарта 256, удачное решение коммунистов для получения дополнительных рыночных преимуществ».
Стоит отметить, что имена переменных, массивов и т.п. жёстко привязывались к латинице с мотивировкой «по подобию греческого алфавита в математике».
На примере того же местного «бейсика», это привело к тому, что работал как текст программы, очищавшей экран и печатавший пять строк с текстом «test» («тест») в «классическом для моего прошлого» виде:
10 cls
20 for i=0 to 4
30 print “test”
40 next
так и «русифицированный» для той же цели и с тем же результатом:
10 очэ
20 для i=0 до 4
30 печат “тест”
40 след
Можно было получить верный итог, и набрав «совсем ужасное»:
10 cls
20 для i=0 до 4
30 print “test”
40 след
Интерпретатору было всё равно. Хотя у моего сознания, с вбитым в подкорку англоязычным написанием синтаксиса языков программирования, подобный «руглиш» вызывал лёгкий приступ смеха. Как и второй вариант, м.п. В моём прошлом в этой сфере человеческих достижений наглосаксонская soft power победила безоговорочно. Здесь же.. мы пытались установить истинное равновесие и полную свободу выбора.
Замечу, что с моей точки же зрения, версия 1.0 нашего «бейсика» (пока без графических возможностей) была плодом скрещивания, «урезания хотелок» и «вдохновения момента первого творения» от двух диалектов basic — MSX и Sinclair (с нормальным посимвольным вводом текста исходной программы в редакторе интерпретатора, без ужасной привязки ввода операторов как у второго — «целыми словами» и путём нажатия соответствующих клавиш).
Но второе поколение было не только в «железе». Вместе с вторым поколением вычислителей, пользователям вручался пусть и ужасно медленный, но не существовавший до сего момента программный инструмент, с помощью которого даже «условный смышлёный школьник мог разрабатывать ПО».
Разумеется, пока это было чисто теоретически. План выпуска М-4 на весь 1948 составлял 600 штук. Плюс в том году же началось лицензионное производство на IBM..
Пытаться сразу «захватить американский рынок» с М-4 мы даже и не помышляли. СССР не менее США был заинтересован в сотрудничестве и, согласившись на продажу лицензии на выпуск нового вычислителя (а не только готовых образцов с МЗЭТ), получил доступ к некоторым интересовавшим нашу радиоэлектронную промышленность технологиям производства комплектующих из-за океана.
Проникновение на рынок США тогда случилось больше
Комплект ПО, входивший в минимальный стандартный набор выпущенных как на МЗЭТ, так и на IBM М-4 составлял:
* ПЗУ с интерпретатором «бейсика» как часть аппаратного обеспечения.
Именно с ним встречался по умолчанию юзер, работавший на стандартном (НЕ в специсполнении) вычислителе М-4, видящий на экране текстового дисплея — характрона М-4 стартовое меню после включения вычислителя и инициализации ПЗУ базового варианта машины.
Меню содержало следующие пункты:
1. Арифмометр, запускавший встроенный в ПЗУ калькулятор, использующий для расчётов те же процедуры, которые задействованы в «бейсике», занимающем основную часть объёма стандартного ПЗУ.
2. Запуск работы в среде «бейсика» для комфортного написания прикладных (чаще расчётного плана) программ обычными пользователями, не имеющими возможности или желания разбираться в высокоэффективном, но очень сложном написании ПО в машинных кодах.
3. Запуск процедуры тестирования "железа" на работоспособность.
4. Выбор ПЗУ для работы. По умолчанию на машине было только одно ПЗУ (стартовое меню, пункты которого сейчас перечисляются мной). Но в вычислителе М-4 может быть размещено одновременно до 4-х ферритовых кубиков ПЗУ. Используется, разумеется, в текущий сеанс работы — только одно из них, занимающее первые 16 кб адресного пространства в 64 килобайта.
5. Загрузка с магнитного носителя 0 (по умолчанию магнитный барабан), с первого сектора первой дорожки барабана. В таком случае происходит начало загрузки ОС-1. Считывается содержимое сектора в определённое место ОЗУ и с начального адреса загрузки в памяти начинается выполнение загруженного файла исполняемого машинного кода.
6.Загрузка с магнитного носителя 1 (по умолчанию НМЛ — магнитофон). М-4 переходит в режим ожидание считывания с ленты блока заголовка файла.
Продолжая рассказ о «джентльменском наборе софта» упомянем второй вариант ПЗУ:
* ПЗУ с операционной системой.
* Версия операционной системы, предустановленная на магнитный барабан.
Здесь сделаю маленькое отступление. Нам сразу удалось сделать совместимыми обе ветки ОС не только по её командам, но и по вызовам системных функций, как в встроенных в ПЗУ, так и находящихся в файле, загружаемом в версии с магнитного барабана. Сделано это было путём резервирования в одной и той же стандартной области ОЗУ таблицы вызовов разных полезных функций ОС из прикладных программ. Обе ветки развития ОС — и ПЗУ-шная и «дисковая» (точнее, пока «магнитобарабанная») загружали в таблицу свои адреса вызовов функций. Как из адресного пространства ПЗУ, так и для «барабанной», загружаемой в ОЗУ версии.
* Программа автокода-ассемблера в версиях для магнитного барабана и для НМЛ (накопителя на магнитной ленте).
* Текстовой редактор в версиях для магнитного барабана и для НМЛ.
* Электронные таблицы в версиях для магнитного барабана и для НМЛ.
С моей точки зрения, текстовый редактор уже сразу стал вполне рабочим инструментом. А вот электронные таблицы, из-за ограниченного размера ОЗУ, были, скорее, говоря языком будущего, лишь «демонстратором технологий». 48 кб «оперативки», из которых на саму программу электронных таблиц использовалось более полутора десятка килобайт, это не тот объём, в котором условные бухгалтеры могут особо развернуться.