The vast majority of c++ I encounter is simple orthodox c++.
No one I know cares about new features in c++ and bemoans having to ever write a template.
No one really cares about bulletproofing types, ie: copy/move constructors and all that stuff.
I'm sure it's different at big companies but the vast vast majority of c++ is just simple procedural code.
Probably because where C++ is needlessly complex, C is beautifully simple.
I've used both C and C++ in my career, spending 10+ years as a C programmer (kernels, applications and embedded stuff), as well as 4-5 years as a C++ programmer in a financial institution.
I find the thing most "new C/C++ programmers" complain about is memory management and type safety, but honestly, once you have a few years worth of experience, memory management is almost second nature. Most of the time i write the free() statement at the same time as i write the malloc() statement (if applicable).
"Enforce encapsulation" suddenly became. "Respect encapsulation" in my head and a bunch of Java/C++ problems evaporated.
My current preference is to have everything public, but immutable.
Edit: except for functions. Private functions are a great way of keeping downstream users from touching them. Only expose what you are willing to support.
Linters should be shouting about it and in the PR you’d need to explain why you turned off the warnings to do it anyway, with comments explaining why there was no other feasible option and this was the least bad choice.
BTW, I rarely write _methods and almost never __protected attributes. _something just means “it’s here but you really shouldn’t be playing with it.” I don’t see an advantage to using __anything.
(lots of reasons to like it, too)
However, during the last decade C++ culture suffered, probably it has taken too many C refugees.
What you call old way, it is still how many folks write C++ in big corporations, I tend to complain that I only see Modern C++ in conference slides, and my own hobby coding.
No need to school me on how that isn't true, I'm just describing my feeling and why I love C++.