На распутье - Павел Дмитриев
Шрифт:
Интервал:
Закладка:
Зато еще не поздно принять нормальную кодировку для ЭВМ! Заранее, буквально в зародыше, раздавить на уровне отраслевых нормативов разброд и шатание, которые царили в советской компьютерной среде. Шутка ли, в меню FAR на моем верном Dell’е мне удалось найти более десятка разных таблиц. Только к эпохе первых персоналок можно отнести ISO с непонятным номером, целый выводок разных KOI, Альтернативную CP866, «Основную» ГОСТ… Наверняка это далеко не все плоды фантазий программистов СССР, но заниматься археологией у меня особого желания не возникло. Только задумался, сколько сил и денег пошло на устранение идиотизма отраслевого министерства. Сложно им было стукнуть кулаком и принять единую форму?[249]Пусть не самую удобную, но какая была бы экономия!
При этом совместимость с ASCII и ее латинскими буквами неизбежна. Можно было, разумеется, на радость врагам предложить доморощенный кириллический стандарт и фанатично его продвигать. Но насилие над здравым смыслом оставим коммунистам. Поэтому первые сто двадцать восемь знаков или семь бит станем считать уже свершившимся злом. И пусть сейчас в СССР толком никто не знает, шесть бит в байте, семь или сразу десять. Мне совершенно точно известно, что их будет восемь! На этом «восьмом» есть следующие свободные сто двадцать восемь клеточек в таблице. Их нужно только заполнить, этого хватит минимум на десять лет. Далее процессоры будут помощнее, памяти в них побольше, придет время графических операционок и полных мультиязыковых наборов шрифтов.
Насколько помню, основных проблем с кириллическими кодировками было две. Во-первых, из-за блока псевдографики, крайне неудачно расположенной в IBM PC. Не лезли шестьдесят шесть букв алфавита ни сверху, ни снизу этого занятого куска. Не позаботились штатовские инженеры о длинных алфавитах или специально учинили нехилую диверсию для СССР. В общем, маленькие русские буквы поневоле начинались до блока кракозябр, прерывались и продолжались после него. Программисты были крайне недовольны[250].
Во-вторых, кому-то неизвестному было удобно отбросить старший бит и получить вместо русского текста транслит, вполне читаемые слова, написанные латинскими буквами. Тут уж вообще ни о каком алфавитном порядке речь не шла, получалось что-то типа Т, У, Ж, В, Ь, C, Ы, B, З. Программисты яростно матерились, попробуй, напиши в таких условиях алгоритм сортировки или просто что-то внятное для работы с текстом.
Но меня-то пока ничто не ограничивало! Выбрать надо было наиболее удобный вариант. Например, «Основную» — она и название имела понятное, и любимому чиновниками всех времен ГОСТу соответствовала. На вид вполне прилична, вот только буква «е» стояла в стороне, на тридцать третьей позиции. Задумался, проверил все имеющиеся кодировки. Сакральная буква обнаружилась на своем законном седьмом месте лишь в двубайтовом UTF начала девяностых, по сути, в совершенно иной эпохе. Что делать?[251]
Как обычно в трудных случаях, пошел советоваться к жене.
— Кать, понять не могу, в Союзе букву «ё» используют?
— Внимания не обращала… — Она подтянула к себе валяющуюся в углу стола «Комсомолку». — Смотри-ка, тут нет «ё».
— Ничего не понимаю… — Я машинально разглядывал слова в газете. — В мое время были борцы за права этого символа, и много. Кивали на великую русскую историю, Пушкина там вспоминали, Толстого. В блогах рубились.
— Хочешь сказать, что у нас буквы «ё» должно быть больше, чем в будущем?
— Конечно!
— Знаешь, Петь, я историю такую слышала, что буква «ё» стала нужна товарищу Сталину на картах в войну, чтобы названия не путать, вот он и потребовал ее вернуть.
— В смысле? Ее что, до этого не было?
— Не знаю… Получается, отменили ее когда-то. — Катя вдруг выставила вперед руки с растопыренными пальцами, будто положила на клавиатуру. — Точно! При слепой печати десятью пальцами «ё» не используется!
— Ничего себе история. Погоди, а в книгах как сейчас печатают?
Ничего не говоря, Катя подошла к стоящему в углу шкафу, начала доставать оттуда журналы, газеты и прочую макулатуру. Был и десяток книг. Мы вместе проштудировали все издания — буква «ё» нашлась только в русско-английском словаре.
— Вот в чем секрет, — вспомнил я мультик. — Если мед есть, то его сразу нет.
— Так и получается, — подтвердила жена. — Школьники букву изучают, писать учатся, а потом в книгах и газетах ее не используют.
— Спасибо, Кать, — чмокнул в щечку. — Что бы я без тебя делал!
Выходит, разработчики были искренне уверены: дни буквы «ё» сочтены. Ее не было в окружающем их медиапространстве, даже на клавишах телетайпа. А тут такой шанс, 32+32=64, то есть все буквы укладывались ровно в восемь байт адреса. Переключать регистр и просто адресовать букву было сплошным удовольствием! Стоит ли портить такой прекрасный порядок вещей, словно бы дарованный свыше, давно отмененной буквой?[252]
На всякий случай специально сходил посмотрел на клавиатуру ноутбука. Покрутил разные софтины две тысячи десятого года. Буквы «ё» не оказалось даже в налоговой отчетности 1С. Осталось только махнуть рукой — сколь бы ни боролись энтузиасты за этот символ, доживет он только до очередной языковой реформы. Ткнул пальцем в «Основную» кодировку без всяких изменений. Если я правильно понимаю, то при обработке как минимум восьмидесяти процентов русскоязычного текста «е» и «ё» необходимо уравнять «в правах». То есть надо создавать надстройку над любым алгоритмом, при этом место нахождения злосчастной буквы вообще безразлично[253]. Оформленное предложение отправил в главк МЭПа, кросспостом товарищу Шелепину. Так точно не потеряется, дело нешуточной государственной важности. Заодно посоветовал активно использовать термин «байт», директивно и навсегда равный восьми битам. Соответственно, разрядность ЭВМ исчислять исключительно по степени двойки, ну там 4, 8, 16, 32, 64… Кто будет против — враг мира, прогресса и Коммунистической партии. Конструкторов БЭСМ-4 с сорокапятиразрядным словом вообще стоило бы приговорить к принудительным работам по устранению самодеятельности. Хотя этого лучше не писать, времена тут больно простые, еще на самом деле пристроят в «шарашку»[254].