Павел Дмитриев – Время собирать камни (страница 7)
Наконец в трубке раздался знакомый голос товарища Шелепина:
– Привет, Петр! – быстрота и напор делали голос советского президента почти материальным, казалось, он упруго отталкивает руку с трубкой от уха. – Говорят, вы там со Старосом вредительством занимаетесь?
– Добрый день, Александр Николаевич, – выдал я заготовленную заранее фразу. И продолжил с максимально возможной искренностью: – Не может такого быть! – про себя же только чертыхнулся: «Тяжело начинается неделя!»
– Ну как же. – За далеким кремлевским столом зашуршали бумаги. – Пишут товарищи, что некоторые несознательные элементы занимаются идолопоклонством перед Западом, поэтому разработали советский язык программирования с американскими словами.
– Так какой он советский! – вырвалось у меня. – Смесь Бейсика с Алголом!
Ситуация начала проясняться, наши «благородные ученые коллеги» в припадке обостренного патриотизма решили сделать свой игрушечный паровозик. Накатать телегу в ЦК – такое в СССР вполне по понятиям, вернее, именно посредством таких грязных инструментов функционирует реальное плановое хозяйство. Однако… ничего себе уровень, до которого добрался этот смешной вопрос! Все споры между программистами оказались сущей возней октябрят в песочнице по сравнению с проклятой межведомственной политикой.
– Ваша программа сделана в Советском Союзе! – В голосе Шелепина послышался металл. – И нам не нужно лишний раз кланяться перед мировым империализмом! Так что мне требуется решение, у тебя есть пять минут.
«Неужели даже его приперли? – мелькнула у меня паническая мысль и быстро оформилась в привычное: – Чертовы фанатики!»
Надо отдать должное вождям, со своей крестьянской сметкой они старались доходить до сути. Традиционно не доверяли специалистам, это пошло, наверное, еще с военспецов Гражданской. Иногда в действительно сложных вопросах копание в мелочах вредило делу. Ведь чтобы разобраться в тонкостях, нужны специальное образование и бездна времени, без этого миру является самый опасный для окружающих вид дилетанта – нахватавшийся по верхам начальник. Так что, если члены Президиума ЦК во что-то действительно вникали… Горе тому безумцу, который вставал на пути такой махины. Однако я все же попробовал:
– Так ведь копировать IBM 360 хотят как раз с целью получения англоязычного софта.
– Академикам можно, – явил чудо начальственной лапидарности Александр Николаевич. – Тебе нет.
М-да! Я скорчил страшную гримасу, благо по телефону не видно. Однако вслух, понятное дело, отреагировал совсем по-иному:
– Команды в Баголе можно поменять на русские в течение пары дней. Синтаксис это не изменит, так что…
– Так почему вы сразу этого не сделали?! – Кажется, Шелепин разозлился не на шутку.
– Систему готовили на экспорт, товарищ Шокин говорил, что видит по «Орионам» очень хорошие перспективы. – Я поспешно перевел стрелки, пока не стало слишком поздно. – Наши же специалисты все равно привыкли работать с англоязычным софтом.
– На экспорт, говоришь… – Послышался тихий стук, я сразу представил, как пальцы президента барабанят по лаковой глади необъятного стола. – А какая проблема сделать два языка?
Смешно, но такая мысль просто не приходила в голову ни мне, ни Старосу, ни вообще кому-либо из занятых в проекте «Багол». Священная корова совместимости «всегда и везде» казалась важнее всего остального, а англоязычный синтаксис виделся единственным логичным решением для языка программирования. Наверное, если бы Филипп Георгиевич сразу затеял кампанию по проталкиванию нужной идеи в советском партхозактиве, вопросов не возникло бы. Но в КБ-2 понедельник реально начинался в субботу, люди работали, а не плели кружева интриг. Вот только все это не повод тупо расписываться в собственной недогадливости!
– В теории можно, – я не стал возражать прямо. – Но тексты программ станут непереносимыми, в смысле нельзя будет на экспортное устройство загрузить отечественную программу.
– А зачем нам тексты? В машинных кодах можно переносить что угодно и куда угодно! – неожиданно по делу возразил Александр Николаевич.
«Надо же, хоть и коммунист, а разбирается!» – невольно восхитился я. Вернее, его кто-то здорово проконсультировал, потому что…
– Это не совсем верно, – ввернул я аргумент. – Для «Орионов» пока нет программ-трансляторов, а значит, нет возможности формировать пользовательские программы в машинных кодах. – Я машинально скрестил пальцы: надеюсь, никто не успел объяснить моему куратору, что такое положение ненадолго. – Разумеется, можно использовать какую-то другую ЭВМ, но… Если рядом будет стоять два разных «Ориона», для переноса код придется переписывать вручную.
– Неудобно, – подозрительно легко согласился Шелепин. И добавил очень просто и серьезно: – Но тебе придется что-то придумать прямо сейчас.
Кажется, я понял, у кого учились искусству «наездов» братки шальных девяностых. Разум мгновенно дал сигнал, что в конечном итоге Александр Николаевич прикроет от этой напасти и меня, и Староса, и проект «Орион». Слишком много сил он во все это вложил, чтобы из-за такой мелочи начинать проводить репрессии направо и налево. Но сфинктер все равно сжимался, да и просто было обидно!
Пытаясь решить проблему, я начал перебирать в уме все, что знал о программировании в будущем. И…
– Бинго! – едва не закричал в полный голос. – Нашел вариант! – не слыша возражений, начал развивать мысль. – Есть программа для бухгалтерии, 1С, я про нее с самого начала в своих «записках попаданца» писал. Так вот, в ней разрешено использовать хоть русский, хоть английский синтаксис и вроде бы даже одновременно. Если подобное сделать на «Орионе», можно будет операторы писать хоть по-итальянски, хоть по-немецки. Имена переменных тоже, даже через букву латиницей-кириллицей. Конечно, памяти потребуется немного поболее, а еще у них всякие умлауты[25] есть… Но интерпретатор живет в ПЗУ, это уже не критично, а без точек и крышечек над буквами европейцы как-нибудь перебьются первое время.
– Можешь, когда хочешь! – подобрел голос Шелепина, красавец просто, добрый и злой следователь в одной тушке. – А чего ж ранее-то не предложил? Старос куда смотрел?
– Не подумал, – замялся я. – Английский такой простой!
На той стороне линии послышался хрип. Как бы беды не вышло…
– Ладно! – спустя некоторое время продолжил Александр Николаевич. – С тобой и Филей… Филиппом все понятно. А вот куда смотрел Шокин… – продолжил Шелепин, говоря, по сути, сам с собой. Потом спохватился: – Как, говоришь, все это можно назвать?
– Э-э-э… – замялся я, – может быть, мультилингвистический язык Багол?
– Пойдет! – выдал окончательное решение президент.
И отключился, не сказав ни спасибо, ни до свидания.
…Самым забавным стало то, что внедрение нескольких языков оказалось до смешного простым делом. Код программы для сокращения объема хранился в ОЗУ совсем не в том виде, как набирал с клавиатуры программист, а только после обработки специальной программой-препроцессором. К примеру, введенный оператор PRINT в память записывался парой символов, к примеру «@Х». Небольшое изменение, и… Оператор ПЕЧАТЬ или DRUCKEN превращались в точно такой же «@Х»! При выводе на экран или на «Консул» производилась обратная операция – естественно, с учетом заранее выбранного региона. Таким образом, написанный на русском софт после вывода на магнитный диск «Спирали-3» и последующего считывания «Орионом» с экспортной ПЗУ отображался на экране с английскими (немецкими, французскими или еще какими-нибудь) командами и аргументами функций.
Выходило очень красиво политически, вот только никаких реальных бонусов не давало. Причина в названиях переменных и комментариях. Они оставались в неизменном виде и после переноса на другой язык превращали текст программы в по-прежнему работающее, но трудночитаемое месиво. Что до меня, так идея «программирования по-русски» немилосердно резала глаза несогласованными падежами, и вообще, получилось глупо и неудобно. Более того, большинство знакомых мне программистов продолжали использовать в работе англоязычную транскрипцию.
Впрочем, не все было плохо. Первые же внедрения техники показали, что простые инженеры относятся к командам на родном языке куда более лояльно, чем профессионалы. Это даже повлекло за собой одно весьма неочевидное следствие. А именно для распечатки текста теперь годилась любая электрическая пишмашинка со стандартной русской раскладкой, лишь бы только ничего не мешало «подпаять контакты». Сначала я полагал, что наконец-то вместо двуязычных, а значит, не имеющих маленьких русских букв пишмашинок на ВЦ появится нормальная отечественная техника. Но… промышленность СССР не смогла освоить это сверхсложное устройство[26]. Поэтому процесс двинулся строго в обратную сторону, и вскоре особым секретарским шиком стали сине-белые «Консулы» с перепаянными литерами.
…По «странной» причине родной язык на экране монитора пришелся по вкусу не только русскоязычным инженерам, студентам и даже школьникам. Сложно сказать, насколько это помогло советским компьютерам в конкурентной борьбе за европейский и американский рынок, но много позже славный своими неоднозначными высказываниями «отец Алгола» Эдсгер Вибе Дейкстра писал: «Именно многоязычный Багол сделал «Орион» первым!»