Very interesting, this is the first time I hear about segmented iterators and hierarchical algorithms.
I faced a similar issue myself when implementing a chunked vector a la `std::deque`, but opted for callback-based internal iteration, i.e.
void ChunkedVector::forEach(auto&& f)
{
for (auto& chunk : chunks)
for (auto& item : chunk)
if (f(item) == ControlFlow::Break)
return;
}
Where `ControlFlow` is just:
enum class [[nodiscard]] ControlFlow : bool
{
Continue,
Break
};
This is massively simpler to implement, and can model simpler algorithms such as `for_each`, `fill`, `transform`, `count`, `accumulate`.
It's sometimes inferior in terms of ergonomics, and cannot express more complicated algorithms or iteration patterns (e.g. partial range, going backwards), but so far it has served me well.
Just something to consider if implementation simplicity is the priority and there's no need for a very generic suite of algorithms.
Genuine question, where does te average developer go to learn CPP in 2026? Despite the usual complaints it’s alive and well and Rust will not replace it.
CPP has become infinitely easier to write for me. That’s an exact figure, my total output of usable CPP lines was zero prior to LLMs.
I do however need to at least be able to write basic CPP to evaluate the code I’m generating. It’s just so hard to comb through all the bad and over complicated code out there, bad advice and outdated opinions.
Why does any mention of C++ nowadays turn into a Rust debate? These can coexist even in a single project via C ABI. Also, despite the vast syntax and semantic differences, an experienced dev will be able to apply most of their knowledge from one to the other.
It's because crowing about Rust is like sending dick pics. I suspect it's the same part of the brain responsible with the same neural pathways stimulated.
First - the tool in question had not been replaced. Second -discussion based on merits is one thing. Holy war is something totally different.
Personally I do not consider Rust to be a better tool but it does not matter. Each one is free to drink their own poison. I do not get obsessed about screwdrivers and I have used many.
You have written a glib and low effort reply to anything that disagrees with your Rust-maximal worldview. The sheer immaturity of Rust devs is enough to put me off the language.
That's actually a common pattern and to me that's a bit off-putting as well.
I have seen examples where some opinion gets momentum and it's repeated over and over again on the Internet even though the merit is very questionable.
Haven't looked enough into Rust to form an opinion though.
Since you are already making use of LLMs, you could also ask questions about the code that it produces. I've been asking Google's AI overview and Deepseek while doing my first ever C++26 project, usually not to produce any code but to give advice or list possible approaches to implementing a feature. It's a very slow path, to the point that my project has currently more git commits than lines of code, but I'm convinced that it will pay off in the long run.
Very interesting, this is the first time I hear about segmented iterators and hierarchical algorithms.
I faced a similar issue myself when implementing a chunked vector a la `std::deque`, but opted for callback-based internal iteration, i.e.
Where `ControlFlow` is just: This is massively simpler to implement, and can model simpler algorithms such as `for_each`, `fill`, `transform`, `count`, `accumulate`.It's sometimes inferior in terms of ergonomics, and cannot express more complicated algorithms or iteration patterns (e.g. partial range, going backwards), but so far it has served me well.
Just something to consider if implementation simplicity is the priority and there's no need for a very generic suite of algorithms.
Genuine question, where does te average developer go to learn CPP in 2026? Despite the usual complaints it’s alive and well and Rust will not replace it.
CPP has become infinitely easier to write for me. That’s an exact figure, my total output of usable CPP lines was zero prior to LLMs.
I do however need to at least be able to write basic CPP to evaluate the code I’m generating. It’s just so hard to comb through all the bad and over complicated code out there, bad advice and outdated opinions.
Read Bjarne Stroustrup’s intro to programming book and then read other books.
find more books from additional readings sections of books you end up liking.
Don’t use LLM for learning as it is useless compared to searching amazon or doing general web search to find books.
You can recursively learn anything you need by finding books about needed subjects.
> Despite the usual complaints it’s alive and well and Rust will not replace it.
to some degree it is already being replaced:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj...
source: https://blog.google/security/rust-in-android-move-fast-fix-t...
Why does any mention of C++ nowadays turn into a Rust debate? These can coexist even in a single project via C ABI. Also, despite the vast syntax and semantic differences, an experienced dev will be able to apply most of their knowledge from one to the other.
My fault for mentioning Rust (perhaps I did it because it’s vaguely amusing watching Rust maximalists flex).
Just to add to the bait, I find CPP libraries much more terse and functional, Rust libs tend towards over complexity and feature flexing.
It's because crowing about Rust is like sending dick pics. I suspect it's the same part of the brain responsible with the same neural pathways stimulated.
>"Why does any mention of C++ nowadays turn into a Rust debate?"
Because for most developers language is a religion rather than just a tool.
If a tool had been replaced by a better tool, wouldn't it be natural to discuss that?
First - the tool in question had not been replaced. Second -discussion based on merits is one thing. Holy war is something totally different.
Personally I do not consider Rust to be a better tool but it does not matter. Each one is free to drink their own poison. I do not get obsessed about screwdrivers and I have used many.
In many instances the tool has been replaced.
You have written a glib and low effort reply to anything that disagrees with your Rust-maximal worldview. The sheer immaturity of Rust devs is enough to put me off the language.
That's actually a common pattern and to me that's a bit off-putting as well.
I have seen examples where some opinion gets momentum and it's repeated over and over again on the Internet even though the merit is very questionable.
Haven't looked enough into Rust to form an opinion though.
I haven't voiced an opinion, but a fact.
Otherwise, I don't respond to (imo) obvious provocations from questionable motives.
I dont think so.
The problem is the sunk cost fallacy.
You mean there are still people left who do not want to rewrite everything in Rust?
> We adopted Rust for its security and are seeing a 1000x reduction in memory safety vulnerability density compared to Android’s C and C++ code.
This is a pretty poor post. It’s impossible to see what exactly they’re comparing but they seem to be comparing post LLM code to pre LLM code.
Don't distract, please.
Here you can find a general discussion of the article: https://news.ycombinator.com/item?id=45918616
Don’t tell me what to write.
Nevertheless, your feedback, despite its rudeness, backs up my criticism so thanks. Are you a Rust dev?
Most important thing is to use material (or tell LLMs) that use C++20.
If you don't need compile time techniques (templates, concepts, consteval, context, ...) then C++17 might be acceptable, too.
Modern C++ is pretty nice to write and compile errors are sane as long as you utilize concepts where it makes sense.
Cppreference.com is my favorite resource for up to date info.
Since you are already making use of LLMs, you could also ask questions about the code that it produces. I've been asking Google's AI overview and Deepseek while doing my first ever C++26 project, usually not to produce any code but to give advice or list possible approaches to implementing a feature. It's a very slow path, to the point that my project has currently more git commits than lines of code, but I'm convinced that it will pay off in the long run.
https://gcc.gnu.org/onlinedocs/cpp/
>"where does te average developer go to learn CPP "
ain't nothing better than books and doing some real project