3 ms·
> Standard C++ compilers don't fundamentally do anything beyond what other systems languages do. C++ is an incredibly difficult to parse and complex language.
by consteval 2y ago
> Standard C++ compilers don't fundamentally do anything beyond what other systems languages do.
C++ is an incredibly difficult to parse and complex language. This is by design, because the language has evolved over time and compatibility was preserved.
Also templates are incredibly expensive because of:
1. How compilation units work (modules fix this, but its taken decades to get here)
2. How complex they are, i.e. they're turing complete and recursively defined
3. Platform compatibility (read some STL code to see what I mean)
These things ARE fundamentally different from other systems languages. C doesn't have templates, and macros are glorified find replace. Go barely has generics, let alone higher-kinded types. Rust doesn't even have higher-kinded types (template templates).
And rust and Go are NEW, so they can go willy nilly with whatever syntax they want.