There are so many amazing programming books and computer science books out there.
Many of the best coding books are used by universities and professional developers to improve their skills. If you’re learning how to code on your own, there’s nothing to say you can’t independently pick up some books on programming and do the same.
You might look at this list and think “How do you learn programming from books?” Actually, this method can be just as fun and helpful as a course. Many of the best programming books have hands-on challenges and projects to help you implement what you’ve learned. Plus, at least reading a book gives you a break from staring at a screen!
The best books to learn coding can vary based on what language you’re pursuing, so the sections below are divided accordingly. Without further ado, here are some of the books every programmer should read.
Disclosure: I’m a proud affiliate for the books mentioned in this article. If you buy a product through my links on this page, I may get a small commission for referring you. Thanks!
Table of Contents
Coding Fundamentals: The Best General Programming Books
Author: Jon Stokes
The central processing unit, or microprocessor, is at the heart of programming, as it’s responsible for executing the instructions of a computer program.
This book will help you understand the basics of modern computing by learning the different parts of computer architecture and what goes on behind the scenes of programming. It starts with fundamental concepts and covers all the way up to advanced.
Inside the Machine by Jon Stokes is the best intro-to-modern CPUs book I have ever read. I think all software devs would benefit from it.— Len Sassaman (@lensassaman) June 19, 2010
Authors: Harold Abelson, Gerald Jay Sussman, Julie Sussman
This book was written by the faculty of Electrical Engineering and Computer Science Department at MIT, and it’s based on the curriculum they teach.
As you might expect from prestigious academic authors, it’s fairly dense content that you’ll need to dedicate some brainpower to! If you do, you’ll gain deep and valuable knowledge of programming systems and procedures.
SICP is Structure and Interpretation of Computer Programs, a brilliant book that introduces you to functional programming via a language called Scheme. The book has the capacity to radically change the way you look at programming! :)— Srirang (@srirangr) September 12, 2019
Author: Charles Petzold
You might know how to code and still struggle to explain what exactly code is. That’s what Petzold is demystifying in this book. He uses familiar examples to pull you in and write a narrative that’s both educational and pleasant to read.
I’m reading Code: The hidden language of computer hardware and software and it’s completely changed things for me. I wish I read it earlier. Def points to communication for other examples of code.— Ayodele (eye-ya-deli) she/her (@data_bayes) November 8, 2019
Author: Steve McConnell
This book is a highly popular guide to programming and software thanks to its clear, pragmatic writing style. It covers coding, debugging, design, testing, and more.
Code Complete by Steve McConnell. It’s a foundational work that should be in every programmers library. https://t.co/ONjFKsnh8p— Roger Pence (@rogerpence) November 1, 2019
Author: Andrew Hunt, David Thomas
This book combines useful information with entertaining anecdotes and examples, divided into easy-to-follow self-contained sections. You’ll learn core processes that enable you to be a better programmer and produce flexible, efficient code. And you’ll get tips for honing your career skills in other ways, from work ethic to common pitfalls to avoid.
Favorite Technical Book:— Alexandria Heston 🔜 MIT Reality Hack (@ali_heston) December 21, 2019
The Pragmatic Programmer, mostly just because it has a lot of amazing technical and professional advice.
It has a very philosophical view to automating unnecessary tasks, maintaining a good work ethic with code, and understanding when enough is enough.
Author: Max Kanat-Alexander
This book is the “KISS” of coding—going over principles you can follow to make your code simple and efficient no matter what language you’re using.
Good software development results in simple code.
Just finished reading Code Simplicity: The Fundamentals of Software by Max Kanat-Alexander, excellent read, a lot of goodies, but not enough new content for long-term developers. If you new, give it a shot!— Georgios Zachariadis (@gzachariadis1) December 6, 2019
Author: Robert C. Martin
With case studies and examples in Java, this book challenges you to make your code as clean as possible, and explains the principles and best practices you can use to accomplish that.
If you want to really learn, the best thing you could do to learn well-written code is to read Clean Code by Robert C Martin. It’s basically universally recommended to new hires at Amazon.— 🅘🅐🅝 💻👨👩👧 (@ian__stephenson) March 2, 2019
Clean Code: A Handbook of Agile Software Craftsmanship https://t.co/MrchiNtsOC
Author: V. Anton Spraul
Programming is more than memorizing principles of coding languages; it’s learning to think outside the box and solve problems creatively. That’s the focus of this book, which goes over one programming concept in each chapter. Along the way, it gives open-ended exercises for you to try yourself and implement what you’ve learned. While you can apply what you’ve learned in any language, examples are in C++.
I bought “Think like a programmer”, by V. Anton Spraul about 2 years ago, shaped my career!— Daniel Ashcraft (@D_ofashandfire) January 3, 2017
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Algorithms are ways of efficiently solving problems, and they’re absolutely key to a developer’s day-to-day tasks. This book is accessible to all levels and covers many different types of algorithms. You’ll be going through the same book used by universities and working professionals.
Careers in Tech: Books Every Career Techie Must Read
Authors: Tom DeMarco, Tim Lister
Some of the major difficulties that software engineers face aren’t about tech at all—it’s human decisions and communication! This book is great for both engineers and managers who want their team to run smoothly and be productive.
First time reading Peopleware. I can understand why it's considered a timeless classic; it's as relevant today as it ever was. Very entertaining too!— jub0bs (@jub0bs) December 8, 2017
Author: Steve McConnell
This book focuses on time-management aspects of software development. It goes over efficient strategies and best practices you can use for an efficient workflow.
+100 for Steve McConnell. His research on modern day software development practices are solid, and his book on Rapid Development still resonates with me two decades later— Philip Laureano 🇭🇲 (@philiplaureano) July 13, 2019
Author: Steve Krug
In a funny and down-to-earth way, this book covers how to design websites so they’re easy and pleasant for users to navigate. It contains illustrations to help you visualize concepts.
Steve Krug's book was a life-changer for me (“Don't Make Me Think”)— Peter Keane (@PeterKeaneMusic) January 3, 2020
Author: Michael Feathers
Legacy code can be frustrating to work with if it’s clunky and difficult to change. This book goes over strategies for working with legacy code and make changes as necessary so you can focus on what matters instead of getting bogged down.
I really love @mfeathers’s Working Effectively With Legacy Code.— Joel 🌧 (@jhooks) December 20, 2019
Read it cover to cover, which is off norm. It’s filled with so much gold technical advice.
Author: Cory Althoff
What are other coding books and courses not telling you? That’s what this book aims to cover. It starts with teaching you how to code Python, use various tools, learn CS fundamentals, etc. At the end, it goes beyond tech knowledge to cover job-search/interview tips and advice for working with a team.
I do like “The Self-Taught Programmer” by Cory Althoff. It has exercises at the end of each chapter and focuses on Python 3. https://t.co/4gMDrjLVPq— Adrianne :: #SwagSHIN (@AdriCULOUS) June 21, 2018
Author: Frederick P. Brooks Jr.
Originally published 20+ years ago, this influential book is updated with new insights on project management within software engineering. It covers how to structure work groups, communication tips, and more.
If you work in tech and have not read Fred Brooks’ ‘Mythical Man-Month’, take a day to read it instead of going in to work— Jonathan Korman (@miniver) December 21, 2019
HTML and CSS: The Best Books to Learn HTML and CSS
These are a few of the best books to learn HTML and CSS.
Author: Jon Duckett
Reading about code can be boring, but not with this book! Illustrations, photography, and an accessible writing style make this easy for anyone who wants to learn HTML and CSS. It’s one of the best programming books for beginners to coding.
This is one of the best books I ever purchased.— Chris Short (@devcshort) August 18, 2019
HTML and CSS: Design and Build Websites https://t.co/QdPw9RJvJ0
Author: Jennifer Robbins
Combining information with exercises and quizzes, this book lets you immediately practice the skills you’re learning. You’ll start by learning foundational skills like how the web works. By the end, you’ll be able to create your own mobile-friendly website.
To quote Jen Simmons:— Leslie King (@zoliky) December 9, 2019
“When people ask me for a book recommendation, I have only one answer. Learning Web Design by Jennifer Robbins.”
Author: Marijn Haverbeke
Author: Kyle Simpson
Java: Java Programming Books You Need in Your Library
Next, we’ll look at the best Java programming books, which take a variety of approaches to help you learn Java thoroughly.
20. Effective Java
Author: Joshua Bloch
Learn the subtleties and best practices of Java with this book nicknamed the “Bible of Java programming.” You’ll learn what to do, what not to do, and explanations of why.
One of my favorites is “Effective Java” by Joshua Bloch. There's a lot of concrete, specific advice in there that improved my code in non-Java languages as well.— Joshua Carmody (@JoshuaCarmody) November 3, 2019
21. Head First Java
Authors: Kathy Sierra, Bert Bates
This book uses several forms of gamification to keep you engaged with learning Java objects for object-oriented programming. Puzzles, mysteries, illustrations, and interview-style info combined with key concepts to help you learn quickly and have fun.
Head first java is one of the best technical books I've ever read, strongly recommend it for anyone wants to learn how to write #Java code.— Mohamed Waleed (@mohamedwaleed91) February 4, 2014
Author: Brian Goetz
Concurrency, or multi-threading, is the ability to run several tasks or programs at the same time, and it’s something that Java programmers should know. This book goes over techniques and patterns to help you build great concurrent programs.
“Java Concurrency in Practice” by @BrianGoetz is hands down the best programming book I’ve ever read. Its concepts are applicable across almost all languages.— Benjamin Fry🦀👾⚙️ (@benj_fry) January 8, 2018
PHP: The Top Books to Learn PHP
PHP is alive and well in the modern world! Learn it with these PHP books on programming.
23. Modern PHP
Author: Josh Lockhart
Best for those who have a beginner understanding of PHP, this book takes you further into all the features and techniques to use for PHP application architecture and planning, databases, security, testing, debugging, and deployment.
Modern PHP by Josh Lockhart is by far the best book I've read on the subject. Thanks @tw2113 for the recommendation.— Henry Wright (@henrywright) December 17, 2015
Author: Lynn Beighley, Michael Morrison
You’ll learn all the essentials of server-side programming with PHP and MySQL so you can build dynamic websites. The book engages you with puzzles, exercises, quizzes, and other interactive elements.
Head First PHP & MySQL by @LynnBeighley and @mwmorrison did it for me, can't stress enough how simple and pragmatic the book is for beginners. After getting comfortable enough implementing the exercises in the book, I came across Laravel and began building a project with it.— Leonel Elimpe (@leonelngande) August 10, 2019
Ruby: Become a Ruby Master with These Guides
These are some of the best web development books for those coding with Ruby.
25. Eloquent Ruby
Author: Russ Olsen
This book teaches you how to think in Ruby, which will enable you to write elegant, expressive Ruby code and intuitively solve problems.
Eloquent Ruby by @russolsen is a book I wish I would've started reading a lot sooner in my Ruby developer career. Highly recommend.— 𝖉𝖔𝖜𝖓 𝖙𝖔 𝖒𝖆𝖗𝖝 𝖌𝖎𝖗𝖑 (@meaganewaller) January 20, 2014
Author: David A. Black
Whether you’re a newcomer or you’ve worked with Ruby before, this book explores topics from foundational to sophisticated. The tutorial will take you through your first Ruby program.
I'm a big fan of “the Well Grounded Rubyist”— An Irate Waterfowl (@armahillo) November 18, 2019
Python: The Python Programming Books Every Coder Should Read
Check out these Python programming books to start coding quickly.
Author: Eric Matthes
This book is written to get you programming in Python quickly, teaching programming basics before introducing real projects. You’ll build graphs, charts, an interactive web app, and even a simple video game.
Python Crash Course is the first book that I actually ‘got’ in terms of programming books. The use of examples, and the exercises, are excellent.— sol is job hunting 🏳️🌈 (@g_solaria) June 28, 2019
Author: Paul Barry
This book is great for visual learners, thanks to its illustrative format. You’ll quickly grasp Python concepts and build your own web application.
Highly recommend the book Head First Python if you are interested in learning, it's very hands on and fun!— Francis 👉 Happy Advent of Code! 🎄💻 (@FrancisVeeGee) August 24, 2019
29. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code
Author: Zed A. Shaw
Think of this less as the “hard way” and more as throwing yourself in the deep end of the “hands-on” way. It’s a book to work on more than just sit down and read through, with 52 exercises driving concepts home.
For those who want to learn how to code I recommend Learn Python 3 The Hard Way. A fantastic book for beginner coders and people who have no background in coding. It's also the book I started with that lead me to a career related to software engineering.— CheeWoei (@cheewoei) August 21, 2019
C#: Books to Help You Learn C#
These C# programming books will help you master key functions.
30. C# in Depth
Author: Jon Skeet
Learn core C# coding components, including asynchronous functions, expression-bodied members, interpolated strings, tuples, and more, with real-world examples to bring them alive.
Been coding in C# for 10 years. I'm surprised how much I've learned from Skeet's book. C# In Depth 3rd Ed. It's a great read. #manningbooks— Eric Potter (@pottereric) October 22, 2013
Authors: Joseph Albahari, Ben Albahari
This is correctly labeled a “definitive reference,” going from basics to advanced topics. It’s written for readers with some prior programming experience who want to learn or improve at C#.
C: The Best C Programming Books Around
Read the best C programming books below, including content from the inventors of the language.
Author: Brian W. Kernighan, Dennis M. Ritchie
This book was written by the developers of C, so it’s straight from the source! You’ll need some prior programming knowledge of basics like loops, variables, and functions. The book has a reference manual you can glance at when you need help as you code with C.
Started with C++, didn't understand Jack. Then I came across the C programming Language book by Kernighan and Ritchie. That book made me understand programming.— ‘Abdulrahman (@Sarkk_) August 23, 2019
Author: Steve Oualline
A clear, practical approach with no fluff teaches you how to program with C in a way that’s easy to read and debug.
Practical C Programming, 3rd Edition – Book Review— Ssuching Yu (@siqing_yu) January 9, 2018
The advanced chapters are well addressed.
Although the sample code is largely outdated, the practice principles are still very useful today.https://t.co/LznQoiWbdC#Programming
Objective C: Don't Miss These Objective C Resources
These books help you improve your Objective-C programming in an actionable way.
Authors: Aaron Hillegass, Mikey Ward
This book is based on the popular Objective-C Bootcamp from Big Nerd Ranch. It has an engaging style while covering C, Objective-C, and tips to work with Apple technologies.
Highly recommend Objective-C Programming book from Big Nerd Ranch! Awesome Book! @bignerdranch— Paul (@Salcoder) April 16, 2013
Author: Matt Galloway
Divided into 52 sets of scenarios, tips, and shortcuts for Objective-C, this book is concise and practical. You’ll learn how to avoid little-known pitfalls and always choose the best, most efficient option possible.
@mattjgalloway Effective Objective-C is beyond useful. This book is making me a better programmer. Thank you.— Nate Birkholz (@nbirkholz) April 11, 2015
C++: C++ Programming Books for Everyone
Even if you’re new to the language, these C++ programming books will get you coding in no time.
36. C++ Primer
Authors: Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
This primer will help you learn C++ fast and start using it to write powerful code for modern applications.
Lippman’s “C++ Primer” is excellent, and starts with modern C++. I highly recommend it.— molecule61 (@molecule61) April 10, 2018
Author: Bjarne Stroustrup
Written by the inventor of C++, this book provides an introduction to programming in general and C++ in specific. The target audience is beginner programmers, and it’s often used for computer science freshmen.
Programming Principles and Practice Using C++ by Bjarne Stroustrup. His writing made C++ one of the easiest languages I have learned.— Clay Dowling (@ClayDowling) May 21, 2019
R: The Best R Programming Books on the Market
These best R programming books teach you how to use the language to analyze data and build software.
38. Learning R
Author: Richard Cotton
Even coding newbies can learn how to start analyzing data with R. At the end of each chapter, you can test yourself with a quiz and work on hands-on exercises. It also teaches you what to do with data after analyzing, e.g. publishing your results.
So a new favorite book on R is Learning R by Richard Cotton published by O'Reilly. Just very nicely explained and good level of detail.— Bryan Cafferky (@BryanCafferky) March 14, 2016
39. R Cookbook
Author: Paul Teetor
There are over 200 practical R “recipes” in this “cookbook” for you to experiment with! You’ll do simple tasks like input and output, work with statistics, and more as you analyze data.
My advisor is big on R and swears by the R Cookbook as a resource.— Alex Neal (@OctopusQueen13) November 6, 2019
Author: Norman Matloff
You can also use R for software development, which is the focus of this book. It’s accessible for hobbyist programmers, covering functional and object-oriented programming with R and going from beginner to advanced topics.
I taught from The Art of R programming by @nostarch , and it really helped me gain a deeper understanding of some of the structure of R and how it works.— Chelsea Parlett-Pelleriti (@ChelseaParlett) June 13, 2018
😻 highly recommend
SQL: Handy SQL Guides
These are some of the top programming books for the popular database language SQL.
Author: Ben Forta
This is a short-and-sweet book containing 22 ten-minute lessons, so it’s ideal for those who want to complete tasks in SQL quickly and methodically. From basic data retrieval to more in-depth topics like subqueries, table constraints, etc.
Authors: John L. Viescas, Michael J. Hernandez
This book provides a clear, simple tutorial on creating reliable SQL queries for modern databases. It goes over every aspect of query writing so you can write effective ones of all types.
Huge fan of getting beginners going with SQL Queries for Mere Mortals.https://t.co/o7JyPTvpJR— Chipadeedoodah (@chipadeedoodah) December 19, 2019
Android: The Top Android Programming Books
Pick up an Android programming book to turn yourself into a pro app builder!
Author: Barry Burd
This comprehensive guide is written to get you started developing Android apps. It goes over the key programming concepts you need to do things like program phone features, build and refine your apps, manage data, use the Android native development kit, and more.
#NR “Android Application Development All In One for Dummies”.— #CertifiedHustler (@charlyscott237) November 15, 2015
The Writer is so funny 😅😅. If I ever write a book I'll do it that way. 😂😂😂
Authors: Dawn Griffiths, David Griffiths
This is another “brain-friendly” guide with plenty of visual illustrations to help you learn and keep you engaged. The guide will help you quickly build a working app and improve it with interactive design, cross-device functionality, and more.
Head First Android Development- this book will help you build your first working application in a jiffy.— omkar bhalerao (@omkarb649) April 19, 2016
iOS / Swift: Become an iOS Pro With These Books
Last but not least, these are some of the best coding books for aspiring Apple developers.
Authors: Christian Keur, Aaron Hillegass
This guide teaches you the foundations of iOS development and the tools and techniques you need to develop apps with awesome features yourself.
I highly recommend “The Big Nerd Ranch Guide” for learning or re-learning iOS. #ios— Slobodan Stanić (@slobbba) February 21, 2013
Authors: Matthew Mathias, John Gallagher
Swift is the language of Apple, and this guide will help you understand and use it effectively. From the hows and whys to the grammar and style of Swift, you’ll gain the knowledge and confidence to crush coding challenges and build better apps.
With the help of these awesome computer science books, you’ll be able to conquer any coding challenge ahead of you.
Do you have any other programming books that you love, but aren’t featured on the list? Let us know in the comments below!