There are hundreds of great books and courses out there! Here are a few recommendations from me and my peers. You do not have to read these in order! Pick and choose the ones that fit your needs.
NOTE: I'll try to keep this up to date as I learn of more great resources. Consider it a living list.
All books and courses cost money, unless otherwise indicated.
Programming Culture
These books give you insight into how the software development industry actually works.
"Dreaming In Code" by Scott Rosenberg <-- Offers an excellent look at the nature of real-life projects through the story of one fated software project. Every programmer should read this!
"The Cathedral and the Bazaar" by Eric S. Raymond <-- The watershed essay that defined the entire Open Source movement, along with many other insightful essays about open source software development. [Free to read online.]
"The New Hacker's Dictionary" by Eric S. Raymond <-- A hilarious compendium of programmer culture slang, witticisms, and legend. [Also free to read online at The Jargon File.]
"Turing's Cathedral" by George Dyson <-- A fantastic journey through the origins of computer science.
"Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold
General Knowledge
"Computational Fairy Tales" by Jeremy Kubrica <-- a whimsical and memorable look at data structures, algorithms, and the concepts behind algorithmic efficiency. Also a TON of fun! [Free to read online]
"Game Programming Patterns" by Robert Nystrom <-- A hilarious and insightful must-read for any language. [Free to read online.]
"Think Like A Programmer" by V. Anton Spraul <-- Uses C++, but good for any language!
"Hacker's Delight" by Hank Warren <-- Especially for the math nuts. Contains many nerdfully delightful algorithms written in machine code. Surprisingly, this is actually a great "deep dive" style entry into machine-level programming.)
Python
C++ and C
"C++ Primer" by Stanley B. Lippman <-- I haven't personally read this, but many C++ devs highly recommend it. DO NOT GET PRIMER PLUS...that's a different book, and not a trustworthy one.
"Learn C The Hard Way" by Zed Shaw <-- Great once you've learned at least one other language.
Linux
"The Linux Command Line" by William Shotts [Free to read online.]
Top comments (1)
I have learn alot, thank you for the write-up