|
|
|
|
|
by lytigas
2278 days ago
|
|
Some here are saying "Why not just use Rust/D/Zig/Nim/Crystal if you're going to break backwards compatibility?" I believe the proposal is closer to "We've removed this old feature, run this tool to replace it with the new one." C++ will keep looking like C++, not like Rust. Here's Google's "Codebase Cultivator" explaining the idea for their Abseil library: https://youtu.be/tISy7EJQPzI?t=2209 I remember watching another talk where they propose something similar for the language itself, but I can't find it at the moment. |
|
Per Hyrum's law, someone will rely on any given behavior. So, if you choose backwards compatibility, it becomes harder for the committee to evolve the language over time.
The path of breaking changes can be made less painful, and does not, necessarily, invalidate all the code that is already written.
With that being said, the problem right now is not the decision of keeping backwards compatibility or not, but the fact that the standard should be explicit about it, so people know what to expect.