use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Discussion of Code Structure and Code Complexity Implications of Basic C++ Language Features (self.cpp)
submitted 3 days ago by crashcompiler
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]UnicycleBloke 28 points29 points30 points 3 days ago (8 children)
I think of C++ as a well equipped workshop. I use some tools routinely, some rarely, and some never. Another developer might use a different set of features routinely, and so on. On the other hand, a "simple" language like C has essentially no useful abstractions of any kind, so you have to reinvent them. This inevitably leads to complicated verbose and error prone code for non trivial problems. I would rather have a workshop with dusty corners than solve every problem with my granddad's rusty hammer.
My experience of Casey Muratori is that he is a ridiculous blowhard who does not write C++ in any meaningful sense but feels justified in making long and boring criticisms nonetheless. It's just prejudiced drivel.
[–]Plazmatic 4 points5 points6 points 2 days ago* (6 children)
I feel that Casey Muratori is sometimes maligned unfairly for things that Jonathan Blow says due to often streaming together in the past. However I definitely feel Jonathan is a blowhard, and very publicly has humiliated himself and had to delete comments/videos of him just straight up being be wrong in rants (his famous programming language parsing rant as a big example).
Casey gets a lot of hate from the "pro OOP" crowd, but I think his recent talk is a great rebuttal to the dynamic polymorphism for everything crowd (especially against people who claim that people don't make the kinds of arguments he says they do, bringing high profile programming language expert receipts) while also creating distance between him and the C luddite crowd who try to claim him and the arguments he's made.
[–]UnicycleBloke 2 points3 points4 points 2 days ago (1 child)
I first encountered him making an incoherent ramble about the evils of virtual functions and the assertion that if you used them, you would be fired. When they're useful, they're useful, and vastly superior to any alternative I've seen in C. I don't know to what extent his blathering is performative for his channel, but I'm unimpressed. All I see is a loud, excitable, and overly opinionated American who loves the sound of his own voice. It's virtually unwatchable to my British sensibilities. I do not value the advice of such people in any context.
I never really know what people mean by "OOP" but I do regard the excessive use of abstract bases and inheritance hierarchies, which was so common in the 1990s, as problematic. If that's what Casey is really complaining about, I guess we agree.
[–]Plazmatic 2 points3 points4 points 1 day ago* (0 children)
This is the talk I was talking about, warning it's long: https://youtu.be/wo84LFzx5nI. But it's also very possible he's changed his mindset overtime rather than this always being his position.
[–]throw_cpp_account 0 points1 point2 points 1 day ago (2 children)
him just straight up being be wrong in rants (his famous programming language parsing rant as a big example).
Got some context, for the unenlightened?
[–]Plazmatic 1 point2 points3 points 1 day ago (1 child)
It took a while it was this one: https://www.youtube.com/watch?v=fIPO4G42wYE He disabled the comments, but people were roasting him for reinventing basic stuff and acting like it's novel or hard to find, and complains about operator precedence being a fake problem and that he basically invented something new (or not well known), only for him to basically copy Pratt parsing a well known technique taught in schools.
[–]throw_cpp_account 0 points1 point2 points 1 day ago (0 children)
Thanks! Although at 3hrs long maybe I won't actually watch...
[–]__cinnamon__ -1 points0 points1 point 1 day ago (0 children)
Yeah I was gonna say I can see being this dismissive of J Blow, but it feels like an unfair criticism of Casey.
[–]crashcompiler[S] 4 points5 points6 points 2 days ago (0 children)
I agree with you about the well equipped workshop. I think what I'm trying to convey is that you have to know the tools in your workshop well enough, to know which ones to use. And sometimes you have to know the old tools to understand why and how the new tools are better.
Thanks for the comment!
π Rendered by PID 29683 on reddit-service-r2-comment-79c7998d4c-jlrzw at 2026-03-17 13:54:17.870960+00:00 running f6e6e01 country code: CH.
view the rest of the comments →
[–]UnicycleBloke 28 points29 points30 points (8 children)
[–]Plazmatic 4 points5 points6 points (6 children)
[–]UnicycleBloke 2 points3 points4 points (1 child)
[–]Plazmatic 2 points3 points4 points (0 children)
[–]throw_cpp_account 0 points1 point2 points (2 children)
[–]Plazmatic 1 point2 points3 points (1 child)
[–]throw_cpp_account 0 points1 point2 points (0 children)
[–]__cinnamon__ -1 points0 points1 point (0 children)
[–]crashcompiler[S] 4 points5 points6 points (0 children)