|
|
|
|
|
by the_duke
1433 days ago
|
|
The README doesn't expand on what is probably the most challenging problem: how do you achieve effortless C++ interop without burdening Carbon with all the odd behaviour and memory safety / UB issues prevalent in C++? In Rust for example, `unsafe {}` blocks are not just "local unsafety". They can freely operate on all memory, so they are infectious and are essentially a marker for "dangerous code below, be extra careful and audit lots". But if all code can freely interoperate with C++, how do you improve upon C++, apart from relatively isolated features like a better generics system? To what extend can a Carbon compiler that is deeply aware of C++ semantics mitigate the pitfalls? |
|
You can definitely massively improve upon C++ without touching its actual computation model.