Josh Lospinoso discusses his new book C++ Crash Course. This is a book with a focus on C++17 written with a desire to simplify and make it easy for you to learn C++.

I got this book during the CppCon conference and have to say, this is a fun book. It’s got lots of examples, diagrams, and tables but they’re not boring. Josh does a great job of making them blend in and support the book. Well done!

I want to apologize for mispronouncing Josh’s name the first time I said it in the interview. I was so focused on pronouncing his last name correctly that I got it mixed up. Sorry, Josh!

If you’d like to improve your coding skills, then browse the recommended books and resources at the Resources page. You can find all my favorite books and resources at this page to help you create better software designs. And, yes, the C++ Crash Course is listed on this page.

Listen to the episode for more details or read the summary below.


Why write a book about C++?

Josh had a difficult time learning C++ about 5 years ago. He found that it was hard for beginners to separate parts of C++ because they all fit together. He tried books, classes, and asking people.

He wanted a book that didn’t put things off for a long time and wanted something that presented the material in a more linear order.

Josh used the word humbling correctly in his presentation at CppCon. I don’t think this presentation was recorded. It was a lunch hour talk about writing a book. He realizes how many things we think we know until we try to teach something or write about it. He always makes sure to truly master the material so that readers can understand it better.

Josh’s favorite chapter is the one about object lifecycles. The biggest single problem he’s seen is because students are not clear about when objects start and end their valid lifetimes. He explores all the various ways objects can be constructed and then destroyed.

What’s the best way to make the lifecycle more relatable?

Josh tries to find real world examples that are close enough to the topic without being too distracting. He tries to make the examples a bit funny by including some references to sci-fi when possible.

What’s coming next?

Josh will be taking a break for a short while and plans to be back for C++ 20. The current book focuses directly on C++ 17. This helps readers focus too. But C++ 20 should make it easier to teach and learn C++.

Things like modules eliminate discussions around the preprocessor. And templates become easier to understand with the upcoming feature called concepts. And ranges help clean up algorithms.

Any new book or updated version will likely be about 2 years out.