Remix.run Logo
MathMonkeyMan 15 hours ago

C++ is a lot of fun, and there exist many compelling subsets, but the language as a whole is a minefield that you need years of experience to navigate, and probably can never master.

nightowl_games 14 hours ago | parent [-]

Kinda.

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.

8fingerlouie 7 hours ago | parent [-]

> 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).

weebull 3 hours ago | parent [-]

One of the things I loved about Python when I learnt it was how it dealt with `public`\`private`\protected``. It was "we're all responsible adults. No need to hide anything. We'll just use a naming convention for members that we don't expect people to directly use."

"Enforce encapsulation" suddenly became. "Respect encapsulation" in my head and a bunch of Java/C++ problems evaporated.