I have 8 years of professional experience as a software engineer. Most of my professional experience is in Python/Ruby. I did a few classes in C++ in college. What would you recommend for learning C++ for a new role? Note for clarification: my new role requires c++. Things I’m cobsidering: codecademy, coursera (ira pohl’s classes), a tour of c++ (stroustrup), effective modern c++ (meyers). Would love any advice from the experienced c++ engineers out there! TC: 375k
Come up with an idea, implement it in the language you want to learn.
Yeah that’s a decent idea, thanks! One thing I’m trying to learn is “idiomatic” c++. Pointers, references, stl, etc. It is still a bit daunting to read open source libraries (e.g. Folly) because I don’t have a great grasp of the language constructs yet.
Find a good c++ project on github and contribute to it
Do you have any recommendations? I’m sure there are tons of projects out there, but being new to c++ I don’t have a good sense of what projects are out there. Some that come to mind: folly, boost, tensorflow. Others?
Depends on the app you want to work on. I.e ui libraries (Qt, wxwidgets). More here https://en.cppreference.com/w/cpp/links/libs
Sit on a cactus. it's pretty much exactly like that.
Make sure you can identify and remember all the individual needles (stl templates) as they enter your buttocks/rectum.
I tend to learn new languages or tech by starting a side project that I’m interested in and aligns well with the tech I’m exploring. I learn best by doing rather than through classes. The sources you mention might be good to get off the ground, though personal experience points to being able to learn similar amounts in shorter time. Everyone learns differently so YMMV.
Search for “learn c++” on amazon and order the top rated items.... Wtf help yourself first
I noted the resources I have found, looking for advice from experienced devs who may know the space better than a google/amazon search, but thanks.
Watch the Herb Sutter talks on modern c++, in particular the back to basics one. This should give the right intuition around ownership, which is a pretty important part of switching to a non-gc language. A tour of c++ is also a good idea, it's short but touches on a lot of areas. Effective modern c++ is good to read once you have some familiarity with c++ but you're probably not going to get much out of it until you have some more experience.
Thanks!
Effective C++ to learn the idiomatic way. Watch CPPCON and learn how the experts are approaching modern C++. But you’ll never “learn” it until you use it in some project.
Thanks 🙏🏻
Accelerated C++ by Koenig and Moo is a great book to learn idiomatic C++ and is not too long. It assumes you already know another language so doesn’t waste time explaining stuff like what an array is nor does it go into esoteric template metaprogramming stuff. It’s dated though, so you’d want to follow-up with Effective Modern C++ by Meyers for best practices with C++11 and up.
Thank you!
But whyyyyyy? C++ should be put to rest. Rust and golang all the way! There are very few domains where C++ is still relevant and maybe C would be enough there.
lame, tons of projects at Facebook still use C++. If your company pays top dollar for it, there is a reason to learn it.
Yeah I know. But most of them have not business being written in c++ besides legacy. New projects should not. The only reason is poor infra support for newer languages.
🙄