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.
qzbwez|
Find a path to becoming a C/C++. Learn more at:
OpenCourser.com/topic/qzbwez/c
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++.
Written by the creator of C++, this definitive reference provides an authoritative and in-depth exploration of the language's fundamental principles and advanced features. Essential for serious C++ programmers.
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 practical guide to writing efficient, maintainable, and reusable C++ code. Meyers' insights and best practices are highly valuable for experienced programmers seeking to enhance their coding skills.
A collection of practical recipes and code examples that showcase the latest C++ features and best practices. Ideal for programmers wanting to stay up-to-date with modern C++ development techniques.
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.
While not specific to C++, Martin's principles of clean coding are highly applicable to C++ development. emphasizes the importance of writing readable, maintainable, and extensible code.
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.
For more information about how these books relate to this course, visit:
OpenCourser.com/topic/qzbwez/c