Вход

17 июня состоялась лекция Евгения Зуева «Русская лексика для С++»: история и философия русификации компилятора

Screenshot-2026-06-19-at-6.17.57-PM

В рамках цикла лекций сообщества Ворчалки о программировании и Института компилятороварения, лекцию прочитал Евгений Зуев — один из авторов компилятора для С++ и автор замечательной статьи в PC Magazine, а затем и книги «Редкая профессия», посвященной уникальному и сложному труду создателей компиляторов. Сама встреча была посвящена нестандартному опыту русификации компилятора языка C. Несмотря на то, что презентация была намеренно сделана короткой из-за ограниченности темы, спикер раскрыл глубокие технические, исторические и философские аспекты создания оригинальной системы программирования с русским синтаксисом.

История проекта началась задолго до идеи локализации. Изначально компилятор создавался с прицелом на мировой рынок. Толчком к развитию стал контракт с голландской компанией ACE — Associated Computer Experts, позднее переименованной в Associate Compiler Experts с сохранением прежней аббревиатуры. Для неё требовалось разработать интерфейсный компонент для многоязычной SDK, работавшей на Solaris и SPARC-станциях. Низкоуровневый ассемблер для генерации кода был предоставлен компанией-заказчиком, поэтому команда занималась только фронт-ендом С++. Проект завершился получением сертификата и передачей обширного набора тестов.Позже идея локализации трансформировалась в практическую плоскость: была создана компания «Интерстрон», а компилятор начал генерировать код для пяти российских дизайн-центров, разрабатывавших собственные микропроцессоры. Код поставлялся как часть системного программного обеспечения.

Локализация не сводилась к простому переводу. Евгений Зуев рассказал о перепроектировании архитектуры под стандарт 2011 года, создании компонентных структур (включая лексический анализатор) и разработке виртуальной машины для повышения надежности языка C.Ключевым вызовом стала русификация служебных слов (их список насчитывал около 80 терминов) и создание русскоязычной диагностики ошибок.

  • Принципы перевода: Перевод не должен быть буквальным, но обязан быть единообразным. Учитывались особенности русской грамматики, например, род прилагательных.
  • Избегание эмоций: Термины подбирались так, чтобы не нести эмоциональной окраски. Например, вместо эмоционального «уничтожить» использовались нейтральные аналоги, а goto было решено перевести как «переход».
  • Диагностика: В отличие от Pascal, диагностика в новом компиляторе была «обучаемой» и могла выдавать пояснения и примеры на двух языках (русском и английском).

Почему проект не стал массовым?
Несмотря на технический успех, проект не был завершен в виде большой коммерческой системы. Среди причин спикер назвал исчерпание рыночного потенциала, переориентацию на узкий сегмент, нехватку ресурсов, а также личные обстоятельства. Также обсуждались сложности с написанием учебника и взаимодействием с профильными авторами.Философия кода: скепсис относительно «родного» программирования Наиболее дискуссионной частью встречи стал блок вопросов и ответов, в котором Евгений Зуев выразил свой скепсис по поводу программирования на родном языке.

  • Эмоции против формализма: Родной язык воспринимается слишком эмоционально, тогда как программирование требует строгой формальности и безэмоциональности.
  • Парадокс создателей языков: Замечательно, что среди создателей современных языков доминируют люди, для которых английский не является родным. При этом автор отметил, что языки, созданные европейцами, часто оказываются удачнее американских.
  • Предел мнемоники: Была выдвинута гипотеза о том, что родной язык может искажать восприятие формальной информации. Если заменить слишком много терминов на родные мнемоники, код быстро превратится в «китайскую грамоту», потеряв свою читаемость и универсальность.


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

🔗 Материалы лекции: Ссылка на видеозапись лекции
Ссылка на материалы к лекции Евгения Зуева

Редкая профессия - Евгений Зуев

Комментарий 2008 года: сокращенный вариант статьи был опубликован в виде отдельной статьи в декабрьском номере журнала PC Magazine/Russian Edition за 1997 год. Статья до недавнего времени находилась в online-архиве журнала, однако была удалена (очеви...
 
( 1 )
  • Здравствуйте, я не совсем вижу смысла русификации. Не нужно пытаться калькировать, нужно конструирование. А это конечно сложнее, но совсем инойЗдравствуйте, я не совсем вижу смысла русификации. Не нужно пытаться калькировать, нужно конструирование. А это конечно сложнее, но совсем иной подход более глубокий. Кстати прошу ознакомиться с моей статьёй, где я решил задачу с лёгким вводом спецсимволов { } [ ] < > и т.д.   Еще ...
    Пожаловались