На распутье — страница 39 из 51

[249] Пусть не самую удобную, но какая была бы экономия!

При этом совместимость с ASCII и ее латинскими буквами неизбежна. Можно было, разумеется, на радость врагам предложить доморощенный кириллический стандарт и фанатично его продвигать. Но насилие над здравым смыслом оставим коммунистам. Поэтому первые сто двадцать восемь знаков или семь бит станем считать уже свершившимся злом. И пусть сейчас в СССР толком никто не знает, шесть бит в байте, семь или сразу десять. Мне совершенно точно известно, что их будет восемь! На этом «восьмом» есть следующие свободные сто двадцать восемь клеточек в таблице. Их нужно только заполнить, этого хватит минимум на десять лет. Далее процессоры будут помощнее, памяти в них побольше, придет время графических операционок и полных мультиязыковых наборов шрифтов.

Насколько помню, основных проблем с кириллическими кодировками было две. Во-первых, из-за блока псевдографики, крайне неудачно расположенной в IBM PC. Не лезли шестьдесят шесть букв алфавита ни сверху, ни снизу этого занятого куска. Не позаботились штатовские инженеры о длинных алфавитах или специально учинили нехилую диверсию для СССР. В общем, маленькие русские буквы поневоле начинались до блока кракозябр, прерывались и продолжались после него. Программисты были крайне недовольны[250].

Во-вторых, кому-то неизвестному было удобно отбросить старший бит и получить вместо русского текста транслит, вполне читаемые слова, написанные латинскими буквами. Тут уж вообще ни о каком алфавитном порядке речь не шла, получалось что-то типа Т, У, Ж, В, Ь, C, Ы, B, З. Программисты яростно матерились, попробуй, напиши в таких условиях алгоритм сортировки или просто что-то внятное для работы с текстом.

Но меня-то пока ничто не ограничивало! Выбрать надо было наиболее удобный вариант. Например, «Основную» — она и название имела понятное, и любимому чиновниками всех времен ГОСТу соответствовала. На вид вполне прилична, вот только буква «е» стояла в стороне, на тридцать третьей позиции. Задумался, проверил все имеющиеся кодировки. Сакральная буква обнаружилась на своем законном седьмом месте лишь в двубайтовом UTF начала девяностых, по сути, в совершенно иной эпохе. Что делать?[251]

Как обычно в трудных случаях, пошел советоваться к жене.

— Кать, понять не могу, в Союзе букву «ё» используют?

— Внимания не обращала… — Она подтянула к себе валяющуюся в углу стола «Комсомолку». — Смотри-ка, тут нет «ё».

— Ничего не понимаю… — Я машинально разглядывал слова в газете. — В мое время были борцы за права этого символа, и много. Кивали на великую русскую историю, Пушкина там вспоминали, Толстого. В блогах рубились.

— Хочешь сказать, что у нас буквы «ё» должно быть больше, чем в будущем?

— Конечно!

— Знаешь, Петь, я историю такую слышала, что буква «ё» стала нужна товарищу Сталину на картах в войну, чтобы названия не путать, вот он и потребовал ее вернуть.

— В смысле? Ее что, до этого не было?

— Не знаю… Получается, отменили ее когда-то. — Катя вдруг выставила вперед руки с растопыренными пальцами, будто положила на клавиатуру. — Точно! При слепой печати десятью пальцами «ё» не используется!

— Ничего себе история. Погоди, а в книгах как сейчас печатают?

Ничего не говоря, Катя подошла к стоящему в углу шкафу, начала доставать оттуда журналы, газеты и прочую макулатуру. Был и десяток книг. Мы вместе проштудировали все издания — буква «ё» нашлась только в русско-английском словаре.

— Вот в чем секрет, — вспомнил я мультик. — Если мед есть, то его сразу нет.

— Так и получается, — подтвердила жена. — Школьники букву изучают, писать учатся, а потом в книгах и газетах ее не используют.

— Спасибо, Кать, — чмокнул в щечку. — Что бы я без тебя делал!

Выходит, разработчики были искренне уверены: дни буквы «ё» сочтены. Ее не было в окружающем их медиапространстве, даже на клавишах телетайпа. А тут такой шанс, 32+32=64, то есть все буквы укладывались ровно в восемь байт адреса. Переключать регистр и просто адресовать букву было сплошным удовольствием! Стоит ли портить такой прекрасный порядок вещей, словно бы дарованный свыше, давно отмененной буквой?[252]

На всякий случай специально сходил посмотрел на клавиатуру ноутбука. Покрутил разные софтины две тысячи десятого года. Буквы «ё» не оказалось даже в налоговой отчетности 1С. Осталось только махнуть рукой — сколь бы ни боролись энтузиасты за этот символ, доживет он только до очередной языковой реформы. Ткнул пальцем в «Основную» кодировку без всяких изменений. Если я правильно понимаю, то при обработке как минимум восьмидесяти процентов русскоязычного текста «е» и «ё» необходимо уравнять «в правах». То есть надо создавать надстройку над любым алгоритмом, при этом место нахождения злосчастной буквы вообще безразлично[253]. Оформленное предложение отправил в главк МЭПа, кросспостом товарищу Шелепину. Так точно не потеряется, дело нешуточной государственной важности. Заодно посоветовал активно использовать термин «байт», директивно и навсегда равный восьми битам. Соответственно, разрядность ЭВМ исчислять исключительно по степени двойки, ну там 4, 8, 16, 32, 64… Кто будет против — враг мира, прогресса и Коммунистической партии. Конструкторов БЭСМ-4 с сорокапятиразрядным словом вообще стоило бы приговорить к принудительным работам по устранению самодеятельности. Хотя этого лучше не писать, времена тут больно простые, еще на самом деле пристроят в «шарашку»[254].

Накатило просветление, и я набросал третье (или уже четвертое?) предложение — а именно: выработать единый стандарт для подключения периферии. Если пользоваться послезнанием, на первые лет двадцать понадобится всего три типа портов — медленный последовательный по двум-трем проводам (мышь, клавиатура, модем), быстрый параллельный на восьмибитную «букву» целиком (принтер, сканер, графопостроитель) и очень быстрый для мониторов и сетей типа Ethernet.

Однако идея показалась сыроватой. За ошибку от местных спецов можно было схлопотать нехилую отповедь, получить выволочку от Александра Николаевича и навсегда выработать скептическое отношение к будущим проектам. Оставил бумагу на неделю «вылежаться», а сам думал, черкал на листочке, говорил с Федором, мэнээсами и ребятами на ВЦ. В результате путевку в жизнь получил только однобайтовый УИ-8 (Универсальный Интерфейс на восемь линий), подозрительно похожий по своей сути на привычный по временам «до USB» Centronics, он же параллельный порт или принтерный LPT[255]. Компьютеры тут совсем слабенькие, тащить в них лишнее не стоит. Ничего особо дешевого, кроме разъемов и кабелей, в последовательных СОМ-портах нет. Так что можно жить без них.

Тем более что переходник это не бог весть какая сложность — Федор «в одну каску» спаял похожий вариант на «рассыпухе» за месяц. Пусть в итоге получился корпус на четверть кубометра, пока это неважно. Никогда не поздно заказать специальную микросхему-преобразователь, которую разработчики будут ставить при необходимости, если такая вообще появится в этом мире. Чтобы в ее применении ни от чего не зависеть, добавил в УИ-8 низковольтное питание. Благо отдельных проводов в используемых разъемах от БЭСМ-4 было более чем достаточно. Толщина меди на них наводила на мысли минимум о нескольких десятках, если не сотнях ватт. Не то что жалкие несколько ватт USB 2010 года[256].

С выводом видео на телевизор явно надо было разбираться отдельно. Если уж в мое время нужна была специальная видеокарта с прямым доступом на внутреннюю скоростную шину данных, в шестьдесят шестом без чего-то подобного ну никак нельзя было обойтись. Причем эта самая «карта» вполне могла оказаться размером с шифоньер. Сколько там требуется памяти только на экран? В буквах его разрешение будет что-то типа семьдесят на тридцать, итого более двух тысяч байт. Десятая часть оперативки БЭСМ-4, что в общем-то не так и страшно[257].

Тогда почему на столах в ВЦ все еще нет дисплеев? Ну да, мало передать в «телевизор» код в двоичном разряде. Чтобы пучок электронов нарисовал букву, надо ее разложить по пикселам. А это сразу десятки килобайт! Вот память и подсказывает, что образы знаков не случайно были жестко зашиты в видеоадаптер. Именно от этого и случились проблемы с кодировками.

Так что, пока надо не думать, а делать. Василию с ВЦ ТЭЦ придется намекнуть, чтобы заказал в главке парочку дисплеев от IBM. Заодно нужно купить бытовой телевизор — посмотрим, что можно сделать без заморских устройств. Соответственно, мне придется позаботиться, чтобы над этим требованием в МЭПе не посмеялись, а предоставили нам в кратчайший срок необходимое оборудование. Вплоть до того, чтобы подогнали под дисплей отдельную ЭВМ, хотя ждать полгода ради паллиатива очень не хотелось.

Одновременно я озадачил Федора и ученую команду Иванов разработкой нормальной клавиатуры и мышки под будущий монитор. А также попросил поразмышлять над видеоадаптером. Не думаю, что сделают, но пусть хоть попробуют для порядка. В целях повышения креативности мышления коллектива набросал футуристический эскиз разветвителя УИ-8 в виде здоровенного слитка золота. Пусть только попробуют нарушить требования!

…Все бы хорошо, но с телетайпом опять вышел облом. Меня подвели элементарная невнимательность и запарка с часами для съезда. То, что на этом убогом чуде три регистра, я знал, даже прикинул таблицу соответствия МТК-2 и «Основной» кодировки. Примерно догадывался, как ловить команды переключения раскладок софтом. Федор, в свою очередь, обещал, что это не понадобится: дескать, не так и сложно добавить старшую пару бит по команде смены регистра.