C++ is one of the most popular programming languages in the world, and for good reason. It was created in 1979 as an upgrade to C, so it offers many of the advantages associated with its predecessor — providing control over hardware components and system resources — and makes it easier to build stable, efficient software and applications.
But it can be a lot to learn, and while interactive courses can give you the hands-on experience you need to get a grasp of the language, books can provide a double-click into sub-topics and how they relate to each other. “If you want to learn about something more in-depth, find a book that talks about it,” says Jiwon Shin, Senior Curriculum Developer at Codecademy. “Books tend to be more dense, but more dense means more details.”
Plus, supplementing your learning with books is a great way to reinforce the material. “Multimodal learning — learning through different mediums — is one of the best ways to learn new skills,” says Codecademy Curriculum Developer Lucas White. “You might think you’re a visual, hands-on, or auditory learner; but the reality is, the more ways in which you digest information, the more likely it is to stick.”
So to help you take your C++ skills to the next level, here are a few books to read to help supplement your coursework.
If you’re completely new to programming
If you’re starting from scratch, Hisham Touma, Content Contributor at Codecademy, suggests picking up C++ Primer. “It’s a great introduction to the language,” he says. “It assumes no knowledge of C++ or any other programming language, so it thoroughly covers the basics.”
C++ Primer offers a unique perspective from Computer Scientist Stanley B. Lippman — who contributed to C++’s development — and real-life examples of different programming styles and design methods.
If you’ve already mastered the basics
If you already have a language or two under your belt, check out The C++ Programming Language — written by none other than the language’s creator, Bjarne Stroustrup. You’ll learn about C++ concepts and functionalities as you explore upgrades to the language over time and the new features released with each version.
This book offers a comprehensive overview of C++, and according to Codecademy Software Engineer Mariel Frank, it was used as a reference in the creation of our Learn C++ course.
If you want more hands-on practice
Codecademy Director of Engineering Akash Mohapatra recommends Object-Oriented Programming with C++, noting that it’s a popular resource in Indian colleges.
You’ll learn about the object-oriented programming paradigm, its fundamental concepts, and data structure and algorithms as you complete the projects included in every chapter — and the most recent version also includes updates on the latest standards and best practices.
If you want to write better code
Hisham recommends reading Effective C++ if you want to learn more about best practices. “It presents everything in short paragraphs that explain how to write efficient, less error-prone, and bug-free code,” he says.
Effective C++ is better suited for those who already have some programming skills, and later versions of the book are designed to help you transition to C++ from other C-based languages like Java. You’ll also learn how to apply C++ styles and principles in other languages, and the lessons are structured to help you build your practical skills along with your conceptual knowledge.
If you’re ready to go pro
Finally, if you’re gearing up to start applying for jobs, Hisham recommends Professional C++. “It covers industry-standard practices in C++ and how to best write clean, efficient, and debuggable code,” he says.
Professional C++ is designed to help you get the most out of the language. You’ll explore its full functionality, along with niche features and real-world use cases that illustrate how you can start applying your new skills.