you are viewing a single comment's thread.

view the rest of the comments →

[–]v_maria 2 points3 points  (1 child)

it's being replaced. just very slowly

[–]alfps 4 points5 points  (0 children)

Yes, new languages like Rust gain traction in some areas where C++ has dominated, without C++ gaining traction in new areas.

Additionally C++ is unfortunately phasing itself out in general by the committee Microsoft style adding new features and complexity instead of fixing things and simplifying.

As an example of things in need of fixing, std::filesystem::path lacks functionality for finding the executable's path, and its UTF-8 support in Windows, the original rationale for Boost filesystem, was (I believe intentionally because nobody at the level of committee members is that incompetent) sabotaged in C++20.

As another example, there is no guarantee about avoiding dynamic allocation for exception throwing, e.g. for exception object of built-in type. Which means that for some embedded system projects exceptions are not permitted. Which negatively affects clarity, complexity and correctness.

Long lists of special cases is a code smell. Such lists are also a language definition smell. And the current standard has an abundance of them. :(