Hacker News new | past | comments | ask | show | jobs | submit
I have developed things with C++98, C++11 and C++14. Every of these standards are so vast, so remembering everything (even in a single standard) is not possible. Instead of knowing everything, I first fix the standard I want or need to work with.

Then I design the thing I want to build. I always design what I want to build beforehand. This takes a couple of iterations from high level to low-ish level. That last design becomes a bit language dependent. Then I select some of the core tools that I'm going to use (which kind of pointers, classes or structs, etc.)

With that design in mind, I go "library shopping" both for file formats (if any) or other stuff like vectors, etc.

Armed with the reference docs of these, I write my code with the toolbelt I have built for the project.

Some things are hard, but they are not impossible. I find thinking like compiler helps a lot.