Size: a a a

Конференция C++ Russia

2020 April 13

AR

Andrey Roenko in Конференция C++ Russia
И у этого примера есть обратная сторона: C++ настолько нинужин в не-AAA геймдеве, что его используют только как промежуточный IR при компиляции под еще-вчера-экспериментальную платформу.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
А браузер и wrbasm - это ещё одна платформа
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Andrey Roenko
И у этого примера есть обратная сторона: C++ настолько нинужин в не-AAA геймдеве, что его используют только как промежуточный IR при компиляции под еще-вчера-экспериментальную платформу.
А ещё половина Юнити на нем писана. Но он конечно не нужен :-)
источник

AR

Andrey Roenko in Конференция C++ Russia
Ну так в разработке игр, а не при разработке движков для игр же
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Andrey Roenko
Ну так в разработке игр, а не при разработке движков для игр же
Часто одно без другого не бывает. Не разработать, но допилить и кастомизировать
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Такой себе пример :) Это как говорить, что JS очень нужен, потому что typescript в него компилируется)

По сути, в указанных кейсах, нет никакой нужды ни в самом С++, ни в его развитии как языка) Просто заморозить развитие синтаксиса и фич и просто развивать только clang :)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
еще раз - это говорит о том, что поддержка платформ в С++ появляется быстрее чем у других языков
источник
2020 April 14

PZ

Pavel Zhigulin in Конференция C++ Russia
И я тоже ещё раз - С++ тут не при чем :) clang и gcc - да. Но их развитие и портирование на другие платформы - это вещь полностью параллельная самому С++.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Pavel Zhigulin
И я тоже ещё раз - С++ тут не при чем :) clang и gcc - да. Но их развитие и портирование на другие платформы - это вещь полностью параллельная самому С++.
Тогда почему не в IR llvm?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
И почему не в Си?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
(Там запускается конкретно clang++)
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Тому есть причины

Clang++ хоть и фронт-энд, но наверняка делает кучу оптимизаций до того, как отдать IR. И за годы этих оптимизаций появилось наверняка очень много и они оч эффективны.

Второй причиной может быть удобность отладки сгенерированного кода. Разбираться в IR тяжело, если генератор что-то не так сделал, а вот в плюсовом коде попроще.
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Не Си - потому что объектная модель плюсов проще ложится на .NET
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Ну и compile time вычисления на плюсах думаю сыграли свою роль. Когда код генерируешь, у тебя по-любому много статической информации, которую можно неплохо упихать в шаблоны/constexpr. На сях конечно тоже можно на макросах нагородить, но как я уже сказал - удобство отладки таких решений не очень.
источник

o

ololoshwin in Конференция C++ Russia
clang уже не торт. что было ожидаемо ))
источник

o

ololoshwin in Конференция C++ Russia
Pavel Zhigulin
Ну и compile time вычисления на плюсах думаю сыграли свою роль. Когда код генерируешь, у тебя по-любому много статической информации, которую можно неплохо упихать в шаблоны/constexpr. На сях конечно тоже можно на макросах нагородить, но как я уже сказал - удобство отладки таких решений не очень.
Нет проблем сделать c функции constexpr в C?
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Я ничего не понял :D Кароч, я спать)
источник

AZ

Alexander Zaitsev in Конференция C++ Russia
> Clang++ хоть и фронт-энд, но наверняка делает кучу оптимизаций до того, как отдать IR. И за годы этих оптимизаций появилось наверняка очень много и они оч эффективны.

Это ложь. Практически все оптимизации проводятся на уровне IR. Если мы говорим про LLVM
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Alexander Zaitsev
> Clang++ хоть и фронт-энд, но наверняка делает кучу оптимизаций до того, как отдать IR. И за годы этих оптимизаций появилось наверняка очень много и они оч эффективны.

Это ложь. Практически все оптимизации проводятся на уровне IR. Если мы говорим про LLVM
+1
источник

AV

Alexey Veselovsky in Конференция C++ Russia
попытка натянуть сову на глобус
источник