Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
oil
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Herb Sutter is trying to save C++ from becoming a legacy language: https://github.com/hsutter/cppfront
> To me, a legacy language is such that people used it for the prevailing share of code of certain kind, and now the prevailing share of new comparable projects gets written in different languages.
That's certainly a definition, but C++ would still not meet the definition of a legacy language by that measuring stick. C++ remains one of the most popular programming languages in the world in spite of the inception of alternatives. For instance, TIOBE (I know) lists C++ at the 4th place of it's popularity ranking, and features 4th place in GitHub's pull request ranking for 2022.
https://madnight.github.io/githut/#/pull_requests/2022/1
Also, we should keep in mind that C++ was basically the only relevant programming language available for some domains, such as Windows desktop development. Since then, Microsoft put its collective weight in C# to portray it as the one and true technology, and in the process pushed C++/CX and C++/WinRT as part of UWP, which aren't exactly C++. If one vendor changed its mind and decided to roll it's proprietary solutions as C++ competitors, that's hardly an issue with the merits of C++.
A fairly new and big C++ codebase: https://github.com/SerenityOS/serenity
It's not C++20, but there's plenty of modern C++ (17, 14 mostly; the project started in 2015-ish): https://github.com/arbor-sim/arbor
I'd say https://gitlab.com/exotracker/exotracker-cpp has fairly decent code quality, but it's not feature-complete or useful, and I've put it on hiatus because it's a struggle to implement high-level editing, mouse interaction, copy-paste, etc.
I think the text editor, [Kakoune](https://github.com/mawww/kakoune), was written as an experiment in modern C++ language features. Its documentation says it requires a C++20 compiler, though I don't imagine it was originally for that version, since it was started before 2020.
It's my first real foray into C++ (most of my experience is with Julia) so code quality/awareness of idioms, etc are probably lacking, but it's using C++20 and I'd appreciate pointers if anyone has any: https://github.com/JuliaSIMD/LoopModels/blob/main/include/Ma...
ADL is, saddening.
I want a language with the pragmatism of C++ rather than the "mutability excludes aliasing, no lifetime errors allowed, at the cost of usability, and no defined unsafe pointer semantics so far" unfinished experiment of Rust, with better sum type syntax than std::variant, and eliminating C++ footguns luke {implicit constructor, mixed-sign integer comparison, silently overriding virtual methods, C-style casts of multiple inheritance pointers is UB...}. Perhaps Cppfront holds promise, possibly Carbon or Jakt, maybe Zig though it lacks RAII when convenient and its return value semantics (much like Carbon's) is a footgun: https://github.com/ziglang/zig/issues/5973.