Welcome to my official repository for resources to get started with C++ software development. Below is a list of book, video, and website recommendations of useful information to get started. They are ordered roughly by level of complexity within their respective categories. Prefer to read through the written content thoroughly and use the videos as content primers.Β Take notes! No AI summaries around here... Be sure to stretch your brain and think of ways to apply what you have learned to meaningful projects. Happy learning!
NOTE: For university students, most of the books I have listed are accessible for free through the O'Reilly Learning Platform. Try logging in with your student ID!
π Modern C++ Programming by Federico Busato
π Learn C++ by Example by Frances Buontempo [O'Reilly]
π C++ Concurrency in Action by Anthony Wiliams [O'Reilly]
π₯ CppCon YouTube Playlists | Start with Back to Basics!
π Rainer Grimm's Modernes C++ Blog (RIP to an icon!)
π₯ Meeting Cpp Conference YouTube Playlists
π Introduction to Bash Scripting GitHub Repo
π The Linux Command Line by William Shotts
π Learn Git Branching | Game to Learn Basic Git Commands
π Version Control with Git, 3rd Edition by Prem Kumar Ponuthorai and Jon Loeliger
π Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization by Kaiwan N. Billimori
π Learning SQL, 3rd Edition by Alan Beaulieu
π Database Management Systems by Raghu Ramakrishnan and Johannes Gehrke
π₯ Boost Libraries | Utah Cpp Programmers
π Algorithms for Competitive Programming
π Data Structures in Depth Using C++: A Comprehensive Guide to Data Structure Implementation and Optimization in C++ by Mahmmoud Mahdi [O'Reilly]
π Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
π Computer Systems: A Programmerβs Perspective, Third Edition by Randal E. Bryant and David R. OβHallaron.
π₯ Network Programming | Utah Cpp Programmers
π TCP/IP Illustrated, Volume 1: The Protocols by Kevin R. Fall and W. Richard Stevens [O'Reilly]
π Design Patterns | Refactoring Guru by Alexander Shvets
π Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code by J. Guy Davidson & Kate Gregory [O'Reilly]
π C++ Software Design by Klaus Iglberger [O'Reilly]
π Designing Data-Intensive Applications by Martin Kleppmann & Chris Riccomini [O'Reilly]
π 100 C++ Mistakes and How to Avoid Them by Rich Yonts [O'Reilly]
π C++ Best Practices + 7 Puzzler Books by Jason Turner
- C++ Best Practices
- Object Lifetime Puzzlers Book 1-3
- Copy and Reference Puzzlers Book 1-3
- Opcode Puzzlers Book 1
π Digital Design and Computer Architecture by David M. Harris and Sarah L. Harris
π Digital Design Principles and Practices by John F. Wakerly
π Contemporary Logic Design by Randy Katz
π Computer Architecture: A Quantitative Approach, Third Edition by John L. Hennessy and David A. Patterson
π Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Monica S. Lam, Ravi Sethi, & Jeffrey D. Ullman
π Advanced Compiler Design and Implementation by Steven Muchnick
π C++ High Performance: Master the art of optimizing the functioning of your C++ code, Second Edition by BjΓΆrn Andrist and Viktor Sehr
π₯ Distributed Systems Lecture Series Youtube Playlist | Martin Kleppmann
π Think Distributed Systems by Dominic Tornow [O'Reilly]
π Patterns of Distributed Systems by Umesh Joshi [O'Reilly]
π Learning Modern C++ for Finance by Daniel Hanson
π Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading, 2nd Edition by Rishi K. Narang
π Options and Derivatives Programming in C++20: Algorithms and Programming Techniques for the Financial Industry by Carlos Oliveira
π Building Low Latency Applications with C++ by Saurov Ghosh
π Developing High-Frequency Trading Systems by Sebastien Donadio, Saurov Ghosh, and Romain Rossier