Having searched multiple places, it seems there are mixed opinions on best way to start learning C++ across time and internet forums.<p>For experienced programmers (Python, JS, Java, Kotlin, etc.), what's the best way to pickup modern C++?<p>What are best resources you have come across for C++?
You need to choose a domain. Find software and libraries in that domain and then work off of that. "Modern C++" can mean alot of things. Most people conflate this with the STD library, but alot of people don't use that. Core language feature wise it's not that much. Some "Modern" c++ domains don't even use the STD.<p>This is similar to asking "What is the best way to learn modern Java", where the answer will vary vastly based off what whether you're doing embedded, desktop, server, serverless, websites etc.<p>Possibilities for "modern" C++ domains. HPC, Machine Learning, Finance, Gamedev, Crypto, Scientific... Also keep in mind most are going to be writing C with Classes and target C++11 at most.
<a href="http://tmplbook.com/" rel="nofollow">http://tmplbook.com/</a> and study the source code of some good-quality open source project, for example <a href="https://github.com/fmtlib/fmt/" rel="nofollow">https://github.com/fmtlib/fmt/</a><p>and this could be also handy: <a href="https://en.cppreference.com/w/cpp/meta" rel="nofollow">https://en.cppreference.com/w/cpp/meta</a>
C++ Crash Course [0] should be a good start. It will teach you all the important basics without the legacy stuff.<p>[0] <a href="https://nostarch.com/cppcrashcourse" rel="nofollow">https://nostarch.com/cppcrashcourse</a>
<i>For experienced programmers</i><p>Start with getting an entry-level job doing C++, which 1. financially
incentivizes, and 2. gives you something concrete to work off of. I am
an experienced programmer.
Dive into a project like Firefox, build it on your platform, then focus on a component that you can visually test, start hacking, make silly changes and just go to town.