Rendered at 05:42:05 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
SuperV1234 2 days ago [-]
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.
willtemperley 2 days ago [-]
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.
ozgrakkurt 2 days ago [-]
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.
tcfhgj 2 days ago [-]
> Despite the usual complaints it’s alive and well and Rust will not replace it.
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.
willtemperley 2 days ago [-]
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.
bregma 2 days ago [-]
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.
FpUser 2 days ago [-]
>"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.
twic 2 days ago [-]
If a tool had been replaced by a better tool, wouldn't it be natural to discuss that?
FpUser 2 days ago [-]
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.
tcfhgj 2 days ago [-]
In many instances the tool has been replaced.
willtemperley 2 days ago [-]
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.
bulbar 2 days ago [-]
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.
2 days ago [-]
tcfhgj 2 days ago [-]
I haven't voiced an opinion, but a fact.
Otherwise, I don't respond to (imo) obvious provocations from questionable motives.
tcfhgj 2 days ago [-]
I dont think so.
The problem is the sunk cost fallacy.
FpUser 2 days ago [-]
You mean there are still people left who do not want to rewrite everything in Rust?
willtemperley 2 days ago [-]
> 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.
Nevertheless, your feedback, despite its rudeness, backs up my criticism so thanks. Are you a Rust dev?
arcadialeak 2 days ago [-]
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.
rbancroft 2 days ago [-]
Cppreference.com is my favorite resource for up to date info.
bulbar 2 days ago [-]
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.
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.
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.
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.
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...
Just to add to the bait, I find CPP libraries much more terse and functional, Rust libs tend towards over complexity and feature flexing.
Because for most developers language is a religion rather than just a tool.
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.
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.
Otherwise, I don't respond to (imo) obvious provocations from questionable motives.
The problem is the sunk cost fallacy.
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.
Here you can find a general discussion of the article: https://news.ycombinator.com/item?id=45918616
Nevertheless, your feedback, despite its rudeness, backs up my criticism so thanks. Are you a Rust dev?
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.
ain't nothing better than books and doing some real project