Время собирать камни - страница 15

стр.

— В теории можно, — я не стал возражать прямо. — Но тексты программ станут непереносимыми, в смысле, нельзя будет на экспортном устройстве загрузить отечественную программу.

— А зачем нам тексты? В машинных кодах можно переносить что угодно и куда угодно! — неожиданно по делу возразил Александр Николаевич.

"Надо же, хоть и коммунист, а разбирается!" — невольно восхитился я. Вернее, его кто-то здорово отконсультировал, потому что… — Это не совсем верно, вернул я аргумент. Для "Орионов" пока нет программ-трансляторов, а значит, нет возможности формировать пользовательские программы в машинных кодах, — я машинально скрестил пальцы, надеюсь, никто не успел объяснить моему куратору, что такое положение ненадолго. — Разумеется, можно использовать какую-то другую ЭВМ, но… Если рядом будет стоять два разных "Ориона", для переноса код придется переписывать вручную.

— Неудобно, — подозрительно легко согласился Шелепин. И добавил очень просто и серьезно: — Но тебе придется что-то придумать прямо сейчас.

Кажется я понял, у кого учились искусству "наездов" братки шальных 90-х. И понимает разум, что в конечном итоге прикроет Александр Николаевич от этой напасти и меня, и Староса, и проект "Орион". Слишком много сил он в него вложил, чтоб из-за такой мелочи начать репрессии направо и налево. Но сфинктер все равно сжимается, да и просто обидно!

В попытке решить проблему я начал перебирать в уме все, что я знал о программировании в будущем. И…

— Бинго! — едва не закричал в полный голос. — Нашел вариант! — не слыша возражений, я начал развивать мысль. — Есть программа для бухгалтерии, 1С, я про нее с самого начала в своих "записках" писал. Так вот, в ней разрешено использовать хоть русский, хоть английский синтаксис, и вроде бы, даже одновременно. Если подобное сделать на "Орионе", можно будет операторы писать хоть по-итальянски, или там по-немецки. Имена переменных тоже, хоть через букву латиницей-кириллицей. Конечно, памяти потребуется немного поболее, а еще у них всякие умлауты[25] есть… Но интерпретатор живет в ПЗУ, там уже не критично, а без точек и крышечек над буквами европейцы как-нибудь переживут первое время.

— Можешь когда хочешь! — подобрел голос Шелепина, красавец просто, добрый и злой следователь в одной тушке. — А чего же ранее-то не предложил? Старос куда смотрел?

— Не подумал, — замялся я. — Английский такой простой!

На той стороне линии послышался всхрип. Как бы беды не вышло…

— Ладно! — спустя некоторое время продолжил Аленсандр Николаевич. — С тобой и Филей… Филиппом все понятно. А вот куда смотрел Шокин… — продолжил Шелепин по сути сам себе. Потом спохватился: — Как говоришь, назвать это все можно?

— Э-э-э… — замялся я, — может быть мультилингвистический язык "Багол"?

— Пойдет! — выдал окончательное решение президент.

И отбился, не сказав ни спасибо, ни до свидания.

…Самым забавным стало то, что внедрение нескольких языков оказалось до смешного простым делом. Код программы, для сокращения объема, хранился в ОЗУ совсем не в том виде, который набирал с клавиатуры программист, а только после обработки специальной программой-препроцессором. К примеру, введенный оператор PRINT в память записывался в пару символов, к примеру "@Х". Небольшое изменения, и… Оператор ПЕЧАТЬ или DRUCKEN превращались в точно такой же "@Х"! При выводе на экран или "Консул" производилась обратная операция — естественно, с учетом "заранее выбранного региона". Таким образом написанный "на русском" софт, после вывода на магнитный диск "Спирали-3" и последующего считывания "Орионом" с экспортной ПЗУ, отображался на экране с английскими (немецкими, французскими или еще какими-нибудь) командами и аргументами функций.

Вышло очень красиво политически, вот только никаких реальных бонусов не давало. Причина в названиях переменных и комментариях. Они оставались в неизменном виде, и после "переноса" в другой язык превращали текст программы в по-прежнему работающее, но трудночитаемое месиво. Что до меня, так идея "программирования по-русски" немилосердно резала глаза несогласованными падежами, и вообще, получилось глупо и неудобно. Более того, большинство знакомых мне программистов продолжало использовать в работе англоязычную транскрипцию.