32bit_me (32bit_me) wrote,
32bit_me
32bit_me

Category:

Доклад на C++ Russia 2017

Посмотрел видео доклада "С++ в России: Стандарт языка и его реализация" на C++ Russia 2017. Докладчик Евгений Зуев.



Довольно интересно. Они написали свой компилятор С++ и сейчас таргетируют его для разных платформ, в основном микропроцессоров отечественного производства. Компилятор имеет необычную архитектуру (подробности смотрите в видео), что позволяет ему легко взаимодействовать с IDE и т.п. Как утверждается, компилятор имеет наилучшую поддержку стандарта С++ (актуального на 2017 год). Заказчики - те российские компании, которые производят микропроцессоры, но не хотят делать компилятор на кодовой базе gcc или clang.

И вот тут возникает ряд вопросов.

1. По какой именно причине эти компании не хотят делать на gcc или clang? Это сэкономит кучу усилий.

2. Всё это кажется мне образцом российского менталитета: всё делать самому и с нуля, не используя никаких готовых решений. В России каждая вторая контора, разрабатывающая электронику, пишет свою операционную систему реального времени, каждый второй студент разрабатывает свой язык программирования, при этом без использования всяких богомерзких yacc и lex, а вторая половина мечтает о своей операционной системе, революционной, и не имеющей аналогов. Эта компания, в которой работает г-н Зуев, не только написала с нуля весь компилятор, они даже написали с нуля препроцессор!

3. То, что заказчиками являются только российские компании, заставляет пропускать всю эту информацию через фильтры скептицизма и критического мышления. Тут ничего не поделаешь, есть такое слово "репутация".

4. У них компилятор содержит полмиллиона строк. Clang+LLVM содержит во много раз больше, миллионов пять, если мне не изменят, я когда-то даже не поленился подсчитать утилитой cloc. GCC - ещё больше. Существенная часть этих миллионов строк, это оптимайзер промежуточного представления. Это наводит на мысль, что либо у них гораздо меньше оптимизаций, либо меньше чего-то другого. Размер команды тоже небольшой, в разное время было разное количество людей, Зуев говорит о том, что на момент выступления в команде работает 6 человек или около того. Это опять же во много раз меньше команд разработки GCC и Clang.

5. В докладе говорится только про язык С++, и только про стандарт, плюс частичная поддержка расширений GCC, и может компилировать сам себя. Между тем, тот же Clang поддерживает все актуальные стандарты С++, С, полный набор расширений GCC, может компилировать сам себя и ядро Linux (к этому они шли много лет), разные расширения типа OpenMP и такие языки, как Swift и Objective C (что не удивительно, учитывая его "яблочное" происхождение). Поддержка С++ без поддержки С выглядит странно. Если же она есть, то про неё не было сказано в докладе ни слова.

6. В докладе особый упор был сделан на "открытый" API, позволяющий IDE (например, Eclipse) взаимодействовать с компилятором, получать дерево разбора, делать автозавершение и пр. Но clang позволяет делать ровно то же самое, причём очень несложно, и имеет биндинги для кучи языков. Я даже писал когда-то статью на хабр с примером использования Clang API.

7. И, конечно же, всё это не опенсорсное. Даже демо-версий нет, всё наглухо закрыто и заколочено. Простой смертный не может это ни пощупать, ни посмотреть даже одним глазком. В лучших традициях.

Тем не менее, рекомендую видео к просмотру.
Tags: youtube
Subscribe

  • Прекрасное под катом

    Людям со слабой психикой под кат не заглядывать! Описание: Книга даёт ответы на главные вопросы науки и человечества, описывает неизвестное…

  • Вселенная-25

    Практически каждый раз, когда начинаются разглагольствования об "обществе потребления", всплывает так называемый "эксперимент Вселенная 25". Если…

  • О групповых проектах

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 28 comments

  • Прекрасное под катом

    Людям со слабой психикой под кат не заглядывать! Описание: Книга даёт ответы на главные вопросы науки и человечества, описывает неизвестное…

  • Вселенная-25

    Практически каждый раз, когда начинаются разглагольствования об "обществе потребления", всплывает так называемый "эксперимент Вселенная 25". Если…

  • О групповых проектах