Русификация Oracle

Буду писать, что помню и как помню.

Главное, специально искажать ничего не буду.

Временные отметки не известны.

Уточнения, если появятся, будут сделаны по ходу.

Юрий Сайгин

РДТЕХ был зарегистрирован 19 марта 1992 года.

В ИФВЭ я поступил 15 сентября 1976 года сразу после окончания МФТИ. Отработал 17 лет и перешел в РДТЕХ.

 

Юрий Михайлович Сайгин, один из основателей РДТЕХ, генеральный директор РДТЕХ до 2011 года

Про базы данных

Начали интересоваться этой тематикой года с 1980-го. Одной из первых знакомых СУБД стала IMS, разработанная IBM иерархическая система, распространяемая в СССР под названием «ОКА». В ИФВЭ мы пробовали работать с ADABAS, на компьютерах ICL в составе ОС была сетевая СУБД PLUTO, на ЕC 1040 командой во главе с Олегом Гадецким была разработана своя система управления данными с оригинальным названием «ПРОТВА». Но вот, наконец, после серии теоретических работ в области применения реляционного исчисления для создания СУБД появился проект IBM SYSTEM R, и на его основе Ларри Элиссон с командой разработали СУБД и первое приложение под ней для политического прогноза в Европе, потому названные Oracle.

Про русификацию

Александр Петрович Соколов, в дальнейшем Саша С., поскольку только в Протвино я знал 4-х с такими координатами – человек с уникальным образованием и компетенциями. Родом из Инсара – мой земляк. Закончил в Пензе велосипедный техникум, потом заочно МИРЭА, защитил кандидатскую, был техником, инженером, системным программистом, потом системным инженером (уникальная компетенция на стыке ПО и «железа»), начальником лаборатории, созданной для автоматизации работ по созданию нового ускорителя. Могу про него (и буду) в дальнейшем много говорить, сейчас вернусь к Oracle. В Союзе была группа пользователей DEC (DECus), куда входили счастливые владельцы компьютеров, произведенных этой компанией. Компьютеры, правда, были приобретены левым образом, а системным ПО члены этой группы и обменивались. Первый Oracle 4-ой версия для VAX VMS пришел в ИФВЭ из ВНИИСИ (Безруков, Викторов, Голосов). Исходный текст был написан на С, попытки ввести русские буквы воспринимались как команда – это явилось основным поводом русификации.

Саша С. подошел к этому процессу технологически правильно – на дистрибутиве имелись ассемблерные библиотеки с программами Oracle, которые он идентифицировал и исправил. Это привело к тому, что Oracle стал работать с русскими буквами не только на уровне данных, но и на уровне системных объектов.

Затем специалистами отдела АСУ была сделана аналогичная русификация Oracle для СМ-4 (PDP-11) – древняя версия 2.1. Конечно эти версии были скорее реляционными игрушками, хотя под ними были написаны относительно промышленные приложения.

В начале 90-х годов начались полуофициальные отношения с корпорацией Oracle (представительство в Москве было открыто в мае 1994-го, были подписаны дистрибьюторские соглашения с ЛВС, ФОРС и РДТЕХ). Мы получили официальную версию Oracle 5.1В под MS-DOS, которая, увы, обладала теми же недостатками по отношению к русскому языку, т.е. не работала с ним даже на уровне данных.

Группой специалистов, которая впоследствии почти полностью вошла в РДТЕХ, была сделана русификация вышеупомянутой версии – титанический труд, о котором следует рассказать особо.

Во-первых, программы MS-DOS работали в то время только в области оперативной памяти до 640 Кбайтов, даже если на вашем компьютере имелось больше (1 мегабайт) – компания MICROSOFT еще не успела написать драйвер расширенной памяти. Поэтому Oracle для работы своих «больших» программ пришлось написать свой драйвер. Дистрибутив был в виде исполнительных модулей, поэтому пришлось использовать дизассемблер, однако стандартные [дизассемблеры] не могли работать с большими программами (см. комментарии выше) и потому тоже пришлось писать дизассемблер самостоятельно. Уфф!, успокою читателей, MS-DOS переписывать не понадобилось.

Дальше мы идентифицировали фрагменты, работающие со злополучным 8-ым битом – вот чем отличается великий и могучий! (всего получилось не меньше сотни), – переписали их и вставили обратно в исполнительные модули.

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

Во всех случаях русификации был подготовлен и отлажен полный комплект документации, отработана технология перевода и подготовки оригинал-макетов, создана одна из базовых технологий будущей компании РДТЕХ – публикации баз данных. Вообще, мы вместо того, чтобы просто строить дома, создавали технологии их строительства.

Русский Oracle успешно распространялся на российском рынке (в стандартном дистрибутиве появилась уже поддержка национальных языков и кодировок, но «наш» позволял называть по-русски и системные объекты – таблицы, столбцы и все остальное).

Закончу эту главу нашей с Oracle истории в России смешным эпизодом – в одном из российских компьютерных изданий появилась статья: «Прощай Oracle под MS-DOS!» Автор с грустью вспоминал, как лихо шествовал русский Oracle под MS-DOS, и как жалко, что MICROSOFT закрыл эту ОС, но про нас никто даже не вспомнил. Мне стало обидно, и я написал в эту газету язвительную заметку о том, что, если кто-то с гордостью говорит о втором законе Ньютона, но автора не упоминает, подразумевается, что сам автор статьи его и придумал. Не опубликовали, увы.