Live data from Hacker News

Modern C++ Programming Course

github.com

151–160 of 221 posts

Re: Modern C++ Programming Course

#152
post #82

Earlier quoted context omitted.

There is a considerable divergence of opinion on that subject. In my view, C++ isn't remotely suitable as a programming language for someone without a healthy understanding of C. Perhaps a dialect of C++ could be developed that was more of a cousin to Rust, but C++ as we know it is a C like programming language with a very large number of features added and all the ways to fail just like a C program does. There are r…

> C++ isn't remotely suitable as a programming language for someone without a healthy understanding of C. I always look askance at folks who say they know C++ but not C. The C++ abstract machine is built over the C abstract machine and it becomes even more clearer when you go down to the binary level.

Depends what you mean by "understand C". As you say, understanding the C abstract machine and memory model is critical for a C++ programmer.

Understanding C idioms, the standard library, best practices, and general C software architecture , is less important if not downright negative early in your formation. You will end up picking a lot up anyway if you stick to C++ long enough.

Re: Modern C++ Programming Course

#153
Is there a good guide on the toolchain? What do people use today to keep sane? Something like meson, ninja or cmake? I have inherited some project in scons that was generating msvc 14.1 project and I can heartily recommend against that

Re: Modern C++ Programming Course

#154
post #118

Earlier quoted context omitted.

Many of the "Core Guidelines" are semantic requirements which are (provably) Undecidable, so even if tooling was created for them the tooling would necessarily have either false positives or false negatives (those are the only options, unless "both" counts as another option). In practice most of these are unaddressed, Microsoft understandably focused on checks which are never wrong and give actionable advice. "Guidel…

> tooling would necessarily have either false positives or false negatives (those are the only options, unless "both" counts as another option). Getting stuck in an infinite loop and never producing an answer is a 4th possibility for attempted solutions at deciding undecidable problems.

Good point. Note that we can't necessarily tell it's an infinite loop, the constructive proof for this Undecidability reduces it to our old friend the Halting Problem, so we're in the land of the Busy Beaver.

Re: Modern C++ Programming Course

#155
I think nowadays smart pointers should not be considered an "advanced topic" in C++. Smart pointers are usually the best way to handle memory management.

It's definitely useful to learn about "new" and "delete", because those are the primitives that memory management is built on top of. But it should be followed up with good advice like, rarely use these in practice. You should almost always be using unique_ptr or shared_ptr instead of new'ing up pointers that you intend to explicitly delete later.

Re: Modern C++ Programming Course

#156
post #130

What is the C++ job market like? I do mostly Python / web app developmnt, but I don't like the churn.

If you are strong in C++ you can get pretty good jobs in robotics, trading, game engines. But TBH at that point it might be more interesting to learn Rust that is on the rise across the industry.

Re: Modern C++ Programming Course

#157

How many interesting SE jobs use C++ anymore? Is anyone using it for new projects?

Compilers , OSs, browsers, VMs, Databases, scientific experiments, high performance systems, HPC, video games, complex desktop applications, simulations.

In fact the question should be: what interesting projects don't use C++?

For some very subjective definition of intersecting of course.

Re: Modern C++ Programming Course

#158
post #53

Earlier quoted context omitted.

I have cloned the repository then combined the chapters using pdftk: pdftk *.pdf cat output Modern_Cpp_Programming.pdf

on airplane with a phone so can't do that,wish it had a download link for the full PDF,will create when I am back to my pc

Termux?

Re: Modern C++ Programming Course

#159
post #130

What is the C++ job market like? I do mostly Python / web app developmnt, but I don't like the churn.

Having “spent some time in the job market lately”, the salaries seem astronomical if you’re C++ and fintech/HFT. I think some funny business is going on with those listings though…

Kinda average in game development and sadly pretty low in embedded systems.

All way less common than your average Python position, but probably way more interesting.

Post reply on HN