Литвек - электронная библиотека >> Сергей Игоревич Рыбин >> Самиздат, сетевая литература и др. >> Интервью для сайта Ada_Ru

С. И. Рыбин ИНТЕРВЬЮ ДЛЯ САЙТА ADA_RU

Ada Ru: Знаю Вас как активного участника рассылки Ada_Ru, но боюсь ошибиться в официальных титулах. Можете представиться?

Сергей Игоревич: Официальных титулов не так много:

• старший научный сотрудник НИВЦ МГУ

• консультант компании AdaCore EU

Кроме того, я недавно был официально зарегистрирован в качестве эксперта по языку Ада в рабочей группе ISO, отвечающем за стандарт языка Ада (JTC1/SC22/WG9)

Ada Ru: Когда Вам в первый раз пришлось практически столкнуться с языком Ада?

С.И.: Впервые услышал про Аду я еще студентом, а непосредственно работать с языком стал сразу же после окончания МГУ, в 1983 году. Тогда при кафедре алгоритмических языков факультета ВМиК МГУ была организована группа стандартизации языков программирования, и я в ней стал «отвечать» за Аду. С Адой также была связана тема моей диссертации.

Ada Ru: В каких проектах, связанных с языком Ада, с тех пор довелось принимать участие?

С.И.: В советские времена наша группа стандартизации языков программирования занималась в том числе и разработкой комплектов тестов для контроля согласованности трансляторов со стандартами. Поскольку в то время тесты ACVC для Ады были недоступны, а в Советском Союзе велись разработки Ада-трансляторов практически для всех использовавшихся в то время архитектур ЭВМ, наша группа получила заказ на разработку комплекта тестов для Ады. Мы занимались в основном диагностическими тестами. Наш комплект использовался в большинстве советских проектов по созданию Ада-трансляторов. Кроме того, удалось протестировать два американских компилятора, которые тайными тропами добрались в те времена до Москвы — самый первый Ада-транслятор, созданный в Нью-Йоркском университете, и достаточно известный в то время транслятор VAX Ada. В обоих трансляторах наш коплект обнаружил несоответствие стандарту!

Довелось также принять участие в разработке ГОСТа на язык Ада. Мы получали проекты ГОСТа на рецензию. Как и все отечественные ГОСТы на языки программирования, ГОСТ Ады являлся на 99.9 % переводом соответствующего англоязычного стандарта. В результате работы с проектами ГОСТа Ады я окончательно убедился, что в случае больших и сложных технических документов, таких как языковые стандарты, документация к системам программирования, описания интерфейсов и библиотек, и т. п., перевод их на русский (да и любой другой) язык оказывается бесполезной тратой ресурсов, а результат перевода приносит больше вреда, чем пользы, поскольку в процессе перевода в документ неизбежно добавляются новые ошибки. Стандарт Ады переводили более чем квалифицированные люди, которые сами разрабатывали Ада-транслятор. Они прекрасно знали и Аду, и английский язык, однако и в третьей прошедшей через меня версии проекта ГОСТа я насчитал более сотни ошибок, внесенных в описание языка именно в процессе перевода. Для профессионала в нашей области намного проще, дешевле и во всех смыслах эффективнее освоить (крайне примитивный!) технический английский, чем пользоваться переводной документацией.

Кроме того, в конце 80-х мне довелось участвовать в разработке базового курса по языкам программирования, который в значительной степени был основан на Аде. Автором курса является профессор В. Ш. Кауфман. Написанная им в то время книга «Языки программирования — концепции и принципы» не утратила своей актуальности и сейчас.

К сожалению, наши «реформы» конца 80-х — начала 90-х годов погубили в том числе и практически все отечественные Ада-проекты, равно как и исследования в области информационных стандартов. Однако, буквально в последний год существования нашей группы стандартизации языков программирования, нам удалось установить контакт с AJPO и заручиться их обещанием присылать нам материалы проекта по пересмотру стандарта Ады (позже получившего название «Проект Ada 9X»), который тогда только-только начинался. Материалы стали поступать, и небольшой командой в два-три человека, что осталось от нашей группы, мы стали посылать комментарии по поводу присланных материалов. К моему удивлению, наши комментарии не остались незамеченными, и по поводу некоторых из них завязалась дискуссия с людьми, непосредственно занятыми выработкой предложений по пересмотру стандарта. Все эти дискуссии протоколировались, и к материалам дискуссий имел доступ достаточно широкий круг экспертов, занятых в проекте Ada 9X. И вдруг, в 1994 году, я получил письмо от одного из таких экспертов, профессора Альфреда Штрохмейера из Швейцарского политехнического университета в Лозанне (EPFL), в котором содержалось предложение организовать сотрудничество между EPFL и МГУ. Я немедленно согласился, а в ответ Альфред в качестве предмета сотрудничества предложил реализовать интерфейс ASIS для компилятора GNAT. Первая строка кода реализации ASIS была написана в начале января 1995 года, и с тех пор основным моим занятием является сопровождение реализации ASIS для GNAT и разработка на основе интерфейса ASIS различных инструментов анализа Ада-кода. С 1996 года эта работа поддерживается компанией AdaCore.

Надо сказать, что в начале проекта по реализации ASIS для GNAT компилятор GNAT был уже компилятором Ады 95, тогда как спецификация ASIS соответствовала первому стандарту Ады редакции 1983 года. То есть, нам приходилось по ходу проекта пересматривать и расширять определение ASIS для нового стандарта Ады. В результате я оказался вовлечен в соответствующую деятельность ASIS Working Group, которая своим результатом имела утверждение в 1998 году стандарта на интерфейс ASIS (ISO/IEC 15291).

Ada Ru: Как я понимаю в свое время Ада в СССР выглядела довольно перспективно. Было выпущено десятки книг по этой тематике. Можете поделиться вашим видением, что было достигнуто у нас в этой области к моменту распада Советского Союза?

С.И.: Достижения в этой области у нас были, и, на мой взгляд, довольно неплохие. В рамках работы по созданию комплекта тестов для Ада-трансляторов мне довелось достаточно близко познакомиться с отечественными реализациями Ады на ЕС ЭВМ, Эльбрусе, СМ ЭВМ. В течение довольно длительного времени мы использовали систему Паллада (разработка ленинградского университета) не только как инструмент отладки и проверки результативности нашего комплекта тестов, но и как инструментальную систему для небольших студенческих проектов. В конце 80-х были попытки организовать достаточно серьезные проекты по внедрению Ады в разработку встроенного ПО, в том числе и военного, но увы — не успели…

Сейчас, после десяти лет непосредственного участия в работе по созданию и сопровождению системы программирования GNAT, я
ЛитВек: бестселлеры месяца
Бестселлер - Людмила Евгеньевна Улицкая - Казус Кукоцкого - читать в ЛитвекБестселлер - Наринэ Юрьевна Абгарян - Манюня - читать в ЛитвекБестселлер - Фредерик Мортон - Ротшильды. История династии могущественных финансистов - читать в ЛитвекБестселлер - Сэмюэл Н Крамер - Шумеры. Первая цивилизация на Земле - читать в ЛитвекБестселлер - Мария Парр - Вафельное сердце - читать в ЛитвекБестселлер - Ольга Четверикова - Измена в Ватикане, или Заговор пап против христианства - читать в ЛитвекБестселлер - Эльдар Александрович Рязанов - Первая встреча – последняя встреча - читать в ЛитвекБестселлер - Дарья Аркадьевна Донцова - Кулинарная книга лентяйки. Вкусно и быстро! - читать в Литвек