Откройте для себя рефлексию времени компиляции C++26=news.ycombinator.com=

Откройте для себя рефлексию времени компиляции C++26 ( lemire.me )

npalli 55 минут назад | [–]
Кроме того, стоит прочитать стандартный документ с предложениями, в котором приведено множество примеров того, как это может быть использовано в будущем.

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p29…

PessimalDecimal 32 минуты назад | | [–]
Спасибо за эту ссылку. Между ней и основной статьей у меня гораздо лучшее представление о том, как отражение времени компиляции будет на самом деле полезным. Синтаксис достаточно плох, чтобы заставить мои глаза кровоточить, но, по крайней мере, они будут кровоточить по веской причине, я надеюсь.
jandrewrogers 40 минут назад | | [–]
Я с нетерпением жду возможности рефлексии во время компиляции, C++ обладает необычайно сильными возможностями метапрограммирования среди системных языков, и это значительно укрепит их.

C++ не претендует на звание самого эстетически приятного языка программирования, но новый синтаксис, связанный с рефлексией, довольно уродлив даже по этим стандартам.

MoonGhost 21 минут назад | | [–]
Как насчет тонкой оболочки C++? Язык с теми же функциями, но более удобный для человека. Он должен легко напрямую транслироваться на C++. Предпочтительно в обоих направлениях.
nine_k 16 минут назад | | [–]
Семантика C++ также нарушена интересными способами: UB, неявные преобразования, массивы, исключения, исключения из деструкторов и т. д. Замалчивание их не поможет. Более эффективно просто проглотить пулю и перейти на Rust (или, может быть, Zig).
mystified5016 30 минут назад | [–]
Ого. Это… определенно какой-то синтаксис. Напоминает мне Perl.

Этот синтаксис довольно странный даже по стандартам C++, и это, безусловно, худший способ сделать рефлексию, который я лично видел. Но я думаю, хорошо, что C++ наконец-то получает какую-то рефлексию. Опоздали всего на несколько десятилетий, но, эй, они в конце концов добрались.

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

nine_k 21 минуту назад | | [–]
Сравнение с Perl, на мой взгляд, уместно. И Perl, и C++ были первыми в своей области, экспериментируя с концепциями, которые были странными в то время, пробуя множество подходов, которые мы сейчас считаем уродливыми, и служа примерами как успехов, так и неудач для гораздо лучших языков, которые появились после них. Разница в том, что Perl5 перестал развиваться некоторое время назад, в то время как C++ продолжает ту же тенденцию беззастенчиво.

(Еще одним примером такого языка является Scala.)

stathibus 6 минут назад | | | [–]
Вы считаете, что рефлексия — это что-то новое и модное, а C++ прокладывает ей путь?
PessimalDecimal 25 минут назад | | [–]
> отражение во время компиляции

> использовать программу C# для генерации кода C

Кажется, что эти мнения противоречат друг другу.


Рассмотрите возможность подачи заявки на набор в YC на осень 2025 года! Заявки принимаются до 4 августа

Source: news.ycombinator.com

Leave a Reply

Your email address will not be published. Required fields are marked *