We may earn an affiliate commission when you visit our partners.

C/C++

Save
May 1, 2024 Updated May 12, 2025 19 minute read

C and C++ are powerful, high-performance programming languages that have been instrumental in shaping the digital world as we know it. C, developed in the early 1970s by Dennis Ritchie at Bell Labs, laid the groundwork for modern programming with its efficiency and low-level capabilities. C++, conceived by Bjarne Stroustrup in the late 1970s and early 1980s, also at Bell Labs, was built upon C's foundation, adding object-oriented features and other enhancements. These languages empower developers to create software that interacts closely with hardware, making them indispensable for systems programming, game development, and high-performance applications.

Path to C/C++

Take the first step.
We've curated 16 courses to help you on your path to C/C++. Use these to develop your skills, build background knowledge, and put what you learn to practice.
Sorted from most relevant to least relevant:

Share

Help others find this page about C/C++: by sharing it with your friends and followers:

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in C/C++.
This classic C++ textbook provides a comprehensive overview of the language, covering fundamental concepts to advanced topics. Highly recommended for both beginners and experienced programmers looking to deepen their understanding.
A comprehensive guide to C++ template programming, covering both fundamental and advanced concepts. Recommended for programmers who want to master the power of C++ templates for code reusability and efficiency.
A practical guide to developing concurrent and parallel code in C++. Williams provides clear explanations and practical examples for writing efficient and scalable multithreaded applications.
A comprehensive resource for understanding and applying design patterns in C++ development. Schmidt and Stal offer valuable insights into best practices for creating robust and reusable software.
This Chinese-language book focuses on C and pointers, which are fundamental concepts in C/C++ programming. It provides a clear and detailed explanation of pointer operations and memory management.
Although written in Chinese, this book provides a comprehensive overview of computer systems, including low-level concepts and assembly language programming. Understanding these concepts is foundational for C/C++ programmers.
Although not directly related to C++, Rust modern systems programming language that shares some similarities and offers insights into alternative approaches. Exploring Rust can provide valuable perspectives for C++ programmers.
This Chinese-language book provides an in-depth analysis of the Linux kernel, which is written in C. Studying the Linux kernel can provide valuable insights into low-level system programming and operating system design.
Similar to Rust, Go is another modern systems programming language. Comparing and contrasting Go with C++ can provide valuable insights into different design choices and programming paradigms.
Table of Contents
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser