< !-- Digital window verification 001 -->

46 Best Programming Books for Every Coder in 2020

| Get awesome (and free) stuff here


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


1. Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture

Author: Jon Stokes

Inside the Machine

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.

2. Structure and Interpretation of Computer Programs

Authors: Harold Abelson, Gerald Jay Sussman, Julie Sussman

Structure and Interpretation

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.

3. Code: The Hidden Language of Computer Hardware and Software

Author: Charles Petzold 

Code

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.

4. Code Complete: A Practical Handbook of Software Construction

Author: Steve McConnell

Code Complete

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.

5. The Pragmatic Programmer: From Journeyman to Master

Author: Andrew Hunt, David Thomas

The Pragmatic Programmer

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.

Head back to the table of contents »

6. Code Simplicity: The Fundamentals of Software

Author: Max Kanat-Alexander

Code Simplicity

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. 

7. Clean Code: A Handbook of Agile Software Craftsmanship

Author: Robert C. Martin

Clean Code

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.

8. Think Like a Programmer: An Introduction to Creative Problem Solving

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++.

9. Introduction to Algorithms

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


10. Peopleware: Productive Projects and Teams

Authors: Tom DeMarco, Tim Lister

Peopleware

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. 

Head back to the table of contents »

11. Rapid Development: Taming Wild Software Schedules

Author: Steve McConnell

Rapid Development

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. 

12. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability

Author: Steve Krug

Don't Make Me Think

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. 

13. Working Effectively with Legacy Code

Author: Michael Feathers

Working Effectively with Legacy Code

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.

14. The Self-Taught Programmer: The Definitive Guide to Programming Professionally

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.

Head back to the table of contents »

15. The Mythical Man-Month: Essays on Software Engineering

Author: Frederick P. Brooks Jr.

The Mythical Man-Month

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.

HTML and CSS: The Best Books to Learn HTML and CSS


These are a few of the best books to learn HTML and CSS.

16. HTML and CSS: Design and Build Websites

Author: Jon Duckett

HTML & CSS

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. 

17. Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics

Author: Jennifer Robbins

Learning Web Design

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. 

JavaScript: Top Rated JavaScript Books


These two are some of the best books on coding with JavaScript.

18. Eloquent JavaScript: A Modern Introduction to Programming

Author: Marijn Haverbeke

Eloquent JavaScript

With a very hands-on focus, this JavaScript introduction book shows you how to write real apps with clean code. While you study, you’ll see examples, do exercises, and build your own projects. 

19. You Don't Know Js: Up & Going

Author: Kyle Simpson

You Don't Know JS

Even experienced JavaScript developers don’t always know some of the trickier parts of the language! This book aims to provide a full picture of JavaScript, from essential building blocks to more niche things you can do with the code. 

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. 

Head back to the table of contents »

21. Head First Java

Authors: Kathy Sierra, Bert Bates

Head First Java

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.

22. Java Concurrency in Practice

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. 

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

Modern PHP

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.

24. Head First PHP & MySQL: A Brain-Friendly Guide

Author: Lynn Beighley, Michael Morrison

Head First PHP & MySQL

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.

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 

Eloquent Ruby

This book teaches you how to think in Ruby, which will enable you to write elegant, expressive Ruby code and intuitively solve problems. 

Head back to the table of contents »

26. The Well-Grounded Rubyist

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. 

Python: The Python Programming Books Every Coder Should Read


Check out these Python programming books to start coding quickly.

27. Python Crash Course: A Hands-On, Project-Based Introduction to Programming

Author: Eric Matthes

Python Crash Course

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. 

28. Head First Python: A Brain-Friendly Guide

Author: Paul Barry

Head First Python

This book is great for visual learners, thanks to its illustrative format. You’ll quickly grasp Python concepts and build your own web application. 

29. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code

Author: Zed A. Shaw 

Learn Python 3 the Hard Way

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. 

C#: Books to Help You Learn C#


These C# programming books will help you master key functions.

30. C# in Depth

Author: Jon Skeet

C# in Depth

Learn core C# coding components, including asynchronous functions, expression-bodied members, interpolated strings, tuples, and more, with real-world examples to bring them alive.

Head back to the table of contents »

31. C# 7.0 in a Nutshell: The Definitive Reference

Authors: Joseph Albahari, Ben Albahari 

C# in a Nutshell

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.

32. C Programming Language

Author: Brian W. Kernighan, Dennis M. Ritchie 

C Programming Language

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.

33. Practical C Programming: Why Does 2+2 = 5986?

Author: Steve Oualline

Practical C Programming

A clear, practical approach with no fluff teaches you how to program with C in a way that’s easy to read and debug.

Objective C: Don't Miss These Objective C Resources


These books help you improve your Objective-C programming in an actionable way.

34. Objective-C Programming: The Big Nerd Ranch Guide

Authors:  Aaron Hillegass, Mikey Ward

Objective-C Programming

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.

35. Effective Objective-C 2.0: 52 Specific Ways to Improve Your IOS and OS X Programs

Author: Matt Galloway

Effective Objective-C

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.  

Head back to the table of contents »

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

C++ Primer

This primer will help you learn C++ fast and start using it to write powerful code for modern applications. 

37. Programming: Principles and Practice Using C++

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. 

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

Learning R

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.

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. 

40. The Art of R Programming: A Tour of Statistical Software Design

Author: Norman Matloff

The Art of R Programming

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.

Head back to the table of contents »

SQL: Handy SQL Guides


These are some of the top programming books for the popular database language SQL.

41. SQL in 10 Minutes, Sams Teach Yourself

Author: Ben Forta

SQL in 10 Minutes

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.

42. SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL

Authors: John L. Viescas, Michael J. Hernandez 

SQL Queries for Mere Mortals

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.

Android: The Top Android Programming Books


Pick up an Android programming book to turn yourself into a pro app builder!

43. Android Application Development All-in-One For Dummies

Author: Barry Burd 

Android Application Development All-in-One For Dummies

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.

44. Head First Android Development: A Brain-Friendly Guide

Head First Android Development

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.

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.

45. iOS Programming: The Big Nerd Ranch Guide

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. 

46. Swift Programming: The Big Nerd Ranch Guide

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.

Head back to the table of contents »

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! 


Pin It on Pinterest