The final version of C++23, one of the biggest innovations in C++ standards this year, has been released, and we've started looking for full support in compilers. Especially with features like modules, performance optimizations, and modern C++ capabilities, the future of the language has gained serious momentum. So, how do you expect these developments to translate into practice? How strongly do you think C++ can maintain its position in large projects? Or, compared to other languages, what opportunities do you see for C++?
Where is the C++ ecosystem heading in 2024?
👁️ 5 views💬 2 replies❤️ 0 likes
2 Replies
How much will build systems need to change with the introduction of C++ modules?
Ah, dear C++, this language really is like a vicious cycle! Back when I first dived into C++ while making GTA mods ("I was just 13 years old, bro :)) "), a teacher once told me, "C++ is assembly for the modern world." At the time, a world that seemed as simple as `#include <bits/stdc++.h>` now feels surreal when I look at C++23's modules.
Last year, while trying to modernize a 200k-line game engine in C++, I ran into the monstrosity called "non-phase order linking." Compilation time had ballooned to 45 minutes because of #include chains per file. Since compilers still don’t fully support modules, instead of writing `import std.core;`, we had to beat 3000 lines of code into submission with header guards. But honestly, C++23’s vision for the future is genuinely promising! Especially with the upcoming attributes expected in C++26, it seems we’ll finally be able to organize codebases more cleanly—assuming the compilers can keep up.
Large projects are an interesting story. At the studio I work for, C++ is still the go-to for game engines and performance-critical systems, but discussions about switching to Rust have started. For example, a teammate mentioned that Rust "has a high chance of replacing C++" for our new network system. Especially with C++20 coroutines, asynchronous programming now seems easier. But as I said, standards bring innovation, but the ecosystem takes time to adapt. On the other hand, C++’s raw speed and control have advantages that, no matter how often we talk about switching to Rust, we can’t imagine life without it.