
Best way to (re)learn modern C++ as its own language? - gumby
I stopped using C++ back in the mid 90s (before RAII or iterators, for example) -- thus my view of C++ is more of a &quot;C with classes&quot;.  I want to learn C++14 or C++17 &quot;as it&#x27;s spoken&quot;.<p>It looks like C++ has moved beyond being an extension to C and now has its own conventions and &quot;slang&quot;(e.g. in C you iterate with <i>for(;;)</i> even though there are vestigial <i>do</i> and <i>while</i> constructs.  What are the modern C++ conventions?).  What I want is like learning German by watching TV and listening to how people speak instead of reading a textbook.  I can and will read the reference, but would like to do so after being &quot;native&quot;.<p>Any recommendations?  The names I&#x27;ve read are Gregoire and Gottschling.  I mostly program in Lisp, C and assembly; I&#x27;d rather not have a this-is-a-byte beginner&#x27;s book as it probably wouldn&#x27;t get into the meat of the language.
======
btschaegg
If you like to watch language conference talks to get updates about the state
of the language, there are plenty of recordings on Youtube.

Look for: CppCon, Meeting C++, Microsoft's "Going native"

I can personally recommend any talk by: Bjarne Stroustrup, Scott Meyers,
Stephan Lavavej, Sean Parent, Andrei Alexandrescu

Of course, there are many more gems (e.g. Chandler Carruth's talks are great
if you are interested in a compiler author's perspective).

As far as reading materials go, I know of two books that seem to cater to your
background:

Stroustrup: A tour to C++
([http://www.stroustrup.com/Tour.html](http://www.stroustrup.com/Tour.html))
Meyers: Effective modern C++
([http://shop.oreilly.com/product/mobile/0636920033707.do](http://shop.oreilly.com/product/mobile/0636920033707.do))

I personally only own the second one, but have already heard good things about
the first one as well.

The C++ core guidelines (work in progress on
[http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines](http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines))
should certainly also be worth a read.

Of course, for actual practice, reading/contributing to open source code seems
like a good start. Maybe have a look at this list:
[https://github.com/fffaraz/awesome-
cpp/blob/master/README.md](https://github.com/fffaraz/awesome-
cpp/blob/master/README.md)

Edit: The "Awesome C++" list also has a "Resources" section that links to even
more material...

~~~
gumby
Thanks btschaegg, great list!

------
gigatexal
try to contribute to a modern open-source C++ project on GitHub / BitBucket?

~~~
gigatexal
[https://www.reddit.com/r/cpp/comments/489f9l/open_source_pro...](https://www.reddit.com/r/cpp/comments/489f9l/open_source_projects_with_examples_of_good_modern/)

~~~
gumby
Thanks, gigatexal!

