Чтение онлайн

на главную

Жанры

Троянец двух господ 1943
Шрифт:

Тот самый «передний край»! Никто в мире не делал подобного. Начав с революционной М-1, сейчас пробовали сделать следующий шаг — с новым, комплексным способом разработки программного обеспечения для неё целым научно-трудовым коллективом. Второе поколение дискретных вычислителей на новой элементной базе и новый подход — под стать их возможностям, в разработке ПО для них.

Вкупе с возможностью создания нового ПО — на имеющейся пока технике первых трёх моделей. Теперь становится очевидным заложенное изначально преимущество «совместимости» машинных кодов. Расширение набора машинных команд, которое закладывается в АЛУ М-4, будет использоваться только в ПО,

которое будет разрабатываться на самой четвёртой модели… когда она будет создана.

Мы же работали в машинных кодах «базового набора» АЛУ М-1/2/3, что и позволяло отлаживать процедуры и функции в ПО по отдельности, на имеющемся «машинном парке». Собственного говоря, подобный подход и позволил нам тогда, в 1943-м, на существующей технике начать работу по созданию всего того огромного объёма ПО, которое желало получить от нас руководство.

* * *

Стены каждого из наших отделов были завешаны огромными структурными блок-схемами, отображающими внутреннее строение всех программных блоков «операционки», «языка программирования высокого уровня» и первых набросков программы — транслятора для автоматического, а не ручного перевода текста автокода/ассемблера в машинные коды.

Разумеется, всё это «жило своей жизнью», дорабатывалось по ходу дела, переделывалось и обсуждалось.

И крайне жёстко регулировалось нашим вторым заместителем. Очевидно, и как позже немного нехотя было признано им самим — у Рожкова имелось видение предполагаемого результата и он безжалостно отсекал в первой версии всё, не укладывающееся в образ, сложившийся в его голове, оставляя «необходимый минимум», ибо научный коллектив, осознавший потенциальные возможности М-4, желал сотворить «всё и сразу» в ПО для нового вычислителя. Впрочем, в пределах отведённых отдельным программистам блоков от них требовался только результат — стабильная и верная работа подпрограмм, их компактность и лучшее быстродействие.

Пожалуй, в ходе работы мы все вскоре поняли, что именно такое разбиение работы и позволило нам двигаться вперёд в разработке невиданных по сложности, объёму и возможностям программ совершенно нового типа. Сейчас, когда пишутся эти строки, к исходу шестого десятилетия нашего сумасшедшего века, нам кажется естественным, что операционные системы и/или встроенное в ПЗУ ПО «были всегда», как и наличие нескольких десятков современных реализаций нынешних языков программирования для множества как совместимых, так и нет вычислительных платформ разнообразного назначения. Но тогда, в 1943-м, такое будущее поначалу было очевидным только очень немногим. И все они работали в нашем НИИВТ!

Каждая из программ нового типа — согласно новому воззрению трио наших начальников, вкупе с планируемым объёмом ОЗУ и внешней памяти, была представлена в виде основного блока и множества подпрограмм, которые вызывались из него.

«Процедурный подход» — ещё один термин из создававшейся на наших глазах и при нашем непосредственном участии, новой терминологии… которую сейчас, в конце 50-х, многие авторы, осмысливающие выводы двух десятилетий создания ПО для ВТ полагают частным случаем структурного программирования, ныне являющего полностью победившим в теории и практике разработки ПО.

Фактически, именно создание ОС для первого образца второго поколения дискретных вычислителей М-4 и первого в мире ЯПВУ были примерами (очень удачными) процедурно-структурного подхода к созданию ПО.

Некоторые аспекты разработки, акцент на которых идеологи и руководители разработки вычислителей закладывали при создании и проектировании первой модели вычислителя, становились понятными только в тот момент. Да, я говорю о релоцируемости процедур и функций. Сыграл свою положительную роль практически полный запрет на привязку к размещению по абсолютным адресам в пространстве ОЗУ. Строго обоснованное разумное использование «прямых дальних переходов» (за пределами возможностей команд «относительного перехода») и… привычная ныне «таблица адресов подпрограмм», которую, в случае необходимости, можно легко корректировать, не совершая бесконечных поисков по всему исходному тексту программы.

* * *

«Системщики» тогда, в июне 1943-го, «выкатили» вскоре утверждённый научным советом НИИВТ технический проект ОС, который был жёстко завязан на одновременную разработку «файловой системы» для магнитных барабанов, которые, как мы все знаем, в начале завершающегося ныне десятилетия начали бурно вытесняться накопителями на жёстких и гибких магнитных дисках и дешёвыми накопителями на магнитной ленте в случае бытового и развлекательного применения вычислителей.

У нас, «прикладников», несмотря на закладывавшиеся в первую версию ЯПВУ возможности работы как с магнитными барабанами, так и с накопителями на магнитной ленте с их последовательным доступом, всё же основная работа в июне-июле 1943-м сосредоточилась именно на проектировании и составе того, что должно быть в подобном инструменте для комфортного создания программ.

Хотя товарищ Рожков прямо говорил, что вообще-то наш «базовый» (BASIC) ЯПВУ имени Ады Лавлейс — это, в его видении, тоже дело системщиков, но пока было так. У нас тогда, в 1943-м, специалистов по программированию, были пусть и не единицы, но именно что небольшие десятки и все они, уже получившие реальный опыт разработки ПО за два года в разных местах применения М-1/2/3, были буквально на вес золота.

Пришедшая молодёжь из числа свеженьких выпускников физмата местного Молотовского университета имела определённый опыт при «прохождении» спецкурса в ВЦ универа, поначалу мы приглядывались к ним. Принятые с испытательным сроком к нам в НИИВТ и в КБ МЗЭТ, они смогли за это время лучше проявить себя и набрать необходимый опыт. «Тестовыми заданиями» для молодой поросли программистов занимались наши начальники отделов товарищи Ляпунов и Шура-Бура. По результатам которых и былм определены направления последующей деятельности новичков..

Пару ныне известных создателей столь модных и стремительно набирающих популярность как за рубежом, так и у нас, в СССР «электронных игр» (я прямо пишу сейчас о товарищах Голдобине и Носкове) ещё тогда приметил сам Рожков, имевший определенные планы на будущее… которое наступило только сейчас. В связи с крайне бурным ростом в последние два года мирового рынка электронных развлечений, будет любопытен экскурс в те дни и обстоятельства, мало известные широкой публике, которые мы открываем в этой энциклопедии:

Стоит отметить, что именно «крестики-нолики», созданные Рожковым осенью 1941-го, можно считать первой, хотя и самой простейшей «электронной игрой» в мире, соперником в которой выступал простейший алгоритм. Но по настоящему популярной в среде программистов на пошедшей в серию в 1946-м М-4 с её текстовым дисплеем-характроном стала вторая, фактически полноценная, хотя и полностью развлекательная игра, которая ныне доступна и широкой публике. Эта игра была создана товарищем Рожковым для первого работающего прототипа М-4, увидевшего свет в начале 1945-го года.

Поделиться:
Популярные книги

Попала, или Кто кого

Юнина Наталья
Любовные романы:
современные любовные романы
5.88
рейтинг книги
Попала, или Кто кого

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Энфис 3

Кронос Александр
3. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 3

Корсар

Русич Антон
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
6.29
рейтинг книги
Корсар

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Идеальный мир для Лекаря 11

Сапфир Олег
11. Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 11

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Лорд Системы 12

Токсик Саша
12. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 12

Приручитель женщин-монстров. Том 3

Дорничев Дмитрий
3. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 3

Попытка возврата. Тетралогия

Конюшевский Владислав Николаевич
Попытка возврата
Фантастика:
альтернативная история
9.26
рейтинг книги
Попытка возврата. Тетралогия

Последний Паладин. Том 4

Саваровский Роман
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 4

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Играть, чтобы жить. Книга 1. Срыв

Рус Дмитрий
1. Играть, чтобы жить
Фантастика:
фэнтези
киберпанк
рпг
попаданцы
9.31
рейтинг книги
Играть, чтобы жить. Книга 1. Срыв