vak: (Default)
[personal profile] vak
Гугл предлагает новый язык Карбон на замену Си++. Проект на Гитхабе: https://github.com/carbon-language/carbon-lang

К примеру, вот такой код на Си++:



превращается в код на Карбоне:

Date: 2022-07-29 05:10 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
А параметризацию можно сделать без препроцессора?

Date: 2022-07-29 11:34 (UTC)
From: [personal profile] ichthuss
Темплейты отлично работают без препроцессора. Разумеется, это не настолько универсальный инструмент, но близкий по универсальности.

Date: 2022-07-29 11:39 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Няз, STL реализован через препроцессор?

Date: 2022-07-29 13:25 (UTC)
From: [personal profile] ichthuss
Вроде бы наоборот, препроцессор там никаким боком, одни сплошные темплейты.

Date: 2022-07-29 15:53 (UTC)
vlad_m: (Default)
From: [personal profile] vlad_m
Условную компиляцию? В рамках одного набора исходников - нет.
Даже с темплейтами и абстрактными интерфейсами (все методы pure virtual) где-то должен быть главный агрегатор, инстанциирующий конкретные классы.
Но можно условно включать/не включать в список исходников схожие по API модули, заточенные под разные варианты таргетов.
Разные варианты агрегаторов, например.