Грандиозность задачи впечатляла. И если соображение насчёт инженеров принималось многими как естественное и логичное, то насчёт условных «секретарш, бухгалтеров и сотрудников сберкасс(банков)» утверждение выглядело чрезмерно фантастичным… но всё же — теоретически верным. Как и идея той же замены традиционной пишущей машинки на «текстовой редактор» выглядела пусть и революционной, но вполне реализуемой при «стеклянном листе» характрона.
Но не было ли такое предположение и его возможная реализация, далеко опередившим своё время гениальным проблеском, который невозможно массово реализовать в ближайшие 15–20 лет, как настаивал главный двигатель подобных идей второй зам Рожков?
Тем более, вслух были озвучены замыслы о возможном, в будущем, широком распространении вычислителей среди населения… с возможностью элементов досуга в виде программ — соперников человека при игре в шахматы, шашки и, как предложил один из наших сотрудников, увлекавшихся китайским го, и этой интеллектуальной игрой. Разумеется, у нас, сразу же появилась идея создания на вычислителе программ для разнообразных карточных игр.
Трио нашего начальства, к удивлению многих, вполне благосклонно отнеслось к подобному ажиотажу. Возможно, это было связано с не только с тем, что один из их сам был зачинателем подобных инициатив, но и тем, что реализация подобных программ была изрядно связана с математическим подходом к ним, что представляло определённый научный интерес!
Удивительным для нас всех был и провозглашённый летом 1943-го начальством новый подход к «программированию будущего». За почти два года работы с новой вычислительной техникой я как-то приноровился к ней. Сначала освоение, вникание и привыкание к предлагавшейся нам сразу, в сопроводительной документации, логике работы на новой вычислительной технике — описывающей стадии того, как поставленная расчётная задача подвергается алгоритмизации и переносу в машинный код, с возможной промежуточной стадией автокода/ассемблера, на которой так настаивало «наше трио» само в руководстве по программированию, прилагавшемся ещё к первой модели дискретных вычислителей.
Планы товарища Рожкова про автоматизацию автокода/ассемблера, с идеей программы-транслятора мнемоник в машинный код, вместо наших привычных «таблиц соответствия», конечно же, пленили всех нас. Но замыслы то были сразу намного более обширные!
Главное доказательство новых идей насчёт «операционной системы», «транслятора автокода» и, тем более, «языка программирования высокого уровня», конечно же основывалось на том факте, что с 256 байт ОЗУ базовой модели М-1, считанных килобайтов второй и третьей, мы ныне рассчитывали иметь десятки килобайт в модели М-4.
ОЗУ такого размера, разумеется, можно было использовать не только для данных, с новыми объёмами которых мы теперь смогли бы оперировать очень большими алгоритмами. В пределах максимально быстродействующей памяти, без обращения к магнитным барабанам, с программами, возрастающими в объёме и возможностях на 2 порядка по сравнению с теми, что помещались в пределах ограниченного ОЗУ первой моделью вычислителя.
Однако многих у нас смущала сложность создания и отладки программ подобных объёмов!
Но и тут решение, предлагаемое Рожковым, выглядело единственно возможным вариантом для таких размеров программ. Как и возможности их разрабатывать коллективами программистов, с соответствующим строгим разделением их участков работы.
Идея была красива: основной цикл — с вызовом, по потребности, процедур и функций (которые, в отличие от процедур, возвращают основному циклу какие-то значения).
Именно с подобной организацией внутреннего устройства ПО становилось возможным разрабатывать его, в случае необходимости, очень больших размеров. И, соответственно, возможностей..
Тот самый «передний край»! Никто в мире не делал подобного. Начав с революционной М-1, сейчас пробовали сделать следующий шаг — с новым, комплексным способом разработки программного обеспечения для неё целым научно-трудовым коллективом. Второе поколение дискретных вычислителей на новой элементной базе и новый подход — под стать их возможностям, в разработке ПО для них.
Вкупе с возможностью создания нового ПО — на имеющейся пока технике первых трёх моделей. Теперь становится очевидным заложенное изначально преимущество «совместимости» машинных кодов. Расширение набора машинных команд, которое закладывается в АЛУ М-4, будет использоваться только в ПО, которое будет разрабатываться на самой четвёртой модели… когда она будет создана.
Мы же работали в машинных кодах «базового набора» АЛУ М-1/2/3, что и позволяло отлаживать процедуры и функции в ПО по отдельности, на имеющемся «машинном парке». Собственного говоря, подобный подход и позволил нам тогда, в 1943-м, на существующей технике начать работу по созданию всего того огромного объёма ПО, которое желало получить от нас руководство.