logoalt Hacker News

zozbot234yesterday at 5:10 AM4 repliesview on HN

> The language already has too many features.

That's actually the point. Many of these additions can be phrased as unifying existing features and allowing them to be used in previously unusable ways and contexts. There's basically no real increase in user-perceived complexity. The Rust editions system is a key enabler of this, and C++ has nothing comparable.


Replies

pjmlpyesterday at 7:41 AM

It has clang tidy, -std=lang-version, and preprocessor that is version aware.

Rust editions don't cover all use cases that one can think of regarding language evolution, and requires full access to source code.

show 1 reply
hrmtst93837today at 8:28 AM

Unifying surface features increases the combinatorics of interactions between traits, lifetimes, generics, specialization, and macros and leads to surprising edge cases.

Editions buy migration safety and let the standard evolve, but they do not shrink the mental model newcomers must carry and they force tooling and libraries to support multiple modes at once, which is a different kind of maintenance tax than evolving C++ compilers and feature test macros impose.

Require RFCs to include an interaction test matrix, compile time and code size measurements, and a pass from rust-analyzer and clippy so ergonomics regressions are visible before users hit them.

show 1 reply
patrick451yesterday at 7:55 PM

This comparison is useless until rust commits to a stable ABI.

jstanleyyesterday at 8:34 AM

https://xkcd.com/927/

show 1 reply