The Best Books to Learn Computer Programming

Computer programming can help people solve complex problems and make money by creating and selling solutions. Discover the best books about computer programming here.

Reading Time 11 mins

BooksToLearnComputerProgramming 092321 Cover

What does a computer programmer do?

Computer programming consists of technical aspects such as writing and testing codes that enable applications and software to run and operate without errors. Computer programmers use specific languages to communicate with computers, applications, software, networks, and other systems.

According to Richard Kenneth Eng, a former Project Team Leader at ATI Technologies, there should be at least one language that a computer programmer should be proficient in. Moving forward, there isn’t a set number of languages that a computer programmer should know—it is all based on the company’s demand.

For example, if you’re writing code for web applications, consider PHP, Java, Python, or Ruby to be the language you learn. If you’re interested in writing code for mobile applications, consider learning Java, Kotlin, or Swift. For video games, they recommend that you know C++ or C#. Finally, for data science, analytics, and machine learning, consider learning Python or R.

How do I become a computer programmer?

There are many routes to learn computer programming. The most common path is a computer programming degree from a four-year institute. This route can be long, tedious, and expensive, so many interested in computer programming do not choose this route. 

Many people choose to go to a tech bootcamp. Bootcamps are a faster method for learning hands-on tech experience in 3-9 months at about a quarter of the cost of four-year university tuition.

Besides a four-year degree and tech bootcamps, beginners can also learn coding and the fundamentals of programming with some solid beginner books.

Route to learning computer programming

There are many computer programming books out there for beginners, so finding the right book for you might seem complicated, but we can help you choose the book you should start with!

The best general programming books 

Books To Learn Computer Programming 092321 Coding Fundamentals

Coding Fundamentals: The Best General Programming Books

Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture – Jon Stokes

Rating: 4.2/5 stars

Inside the Machine is a book that teaches about the fundamentals of computers—intended to fill the gap that exists between standard but more complex introductions to computer architecture. This book is meant for those that are pure beginners, but it is also knowledgeable to those who are already proficient in microprocessors and computer architecture.

Code: The Hidden Language of Computer Hardware and Software – Charles Petzold

Rating: 4.6/5 stars

In Code, they talk about the ways that computer programmers manipulate coding language and invent new ways of communicating with each other. We can also see how this ingenuity, creativity, and the will to communicate have driven the technological innovations of the past 200 years. Using common objects and familiar language systems, such as Braille and Morse code, the author, Charles Petzold, develops a narrative for anyone who’s ever wondered about the life of computers and other smart machines.

Structure and Interpretation of Computer Programs – Harold Abelson, Gerald Jay Sussman, and Julie Sussman

Rating: 4.7/5 stars

This book has had an impact on the computer science programs over the past several years. This revision of the original book has changes and new implementations about the more relevant programming systems in the world, such as interpreters and compilers. The author incorporates many changes within the book that reflect their experiences at MIT, teaching computer science courses when the first edition of the book was published.

Code Complete: A Practical Handbook of Software Construction – Steve McConnell

Rating: 4.6/5 stars

This book is considered to be one of the best practical guides when it comes to programming. The author, Steve McConnell, has helped developers write better software and be more proficient in software construction for more than a decade. This book has been updated to talk more about the leading-edge practices that are done in computer science fields.

The Pragmatic Programmer: Your Journey to Mastery – David Thomas and Andrew Hunt

Rating: 4.8/5 stars

This book, The Pragmatic Programmer, is one of the rarest tech books you’ll read in your career path as a programmer. Whether you’re a beginner in the field or an experienced practitioner, you’ll come out of this experience with fresh insight and new knowledge. The authors’ main goal is to better help their clients create software and discover the joy of coding.

Best Coding Books for Beginners

BooksToLearnComputerProgramming 092321 BooksForBeginners

The Self-Taught Programmer: The Definitive Guide to Programming Professionally – Cory Althoff

Rating: 4.5/5 stars

This book is not just about learning how to program, but it is also about learning the fundamentals of programming and its roots. The author dives deep into the information that you won’t retain from college classes and other books in the same field.

Managing Humans: Biting and Humorous Tales of a Software Engineer Manager – Michael Lopp

Rating: 4.4/5 stars

In the 2nd Edition of Managing Humans, the author takes a humorous approach to explain what software engineer managers go through on a day-to-day basis. The book talks about the experiences of working in a software engineering field while talking about the bigger companies that the author has managed in, along with telling stories based on companies in the Silicon Valley where people are known to yell at each other and very occasionally throw chairs.

Learning JavaScript Design Patterns – Addy Osmani

Rating: 4.5/5 stars

With the book, Learning JavaScript Design Patterns, you’ll learn how to write well-structured and maintainable JavaScript codes by applying the modern design patterns to the language that they sometimes gloss over in college programs. If you want to keep your code efficient, manageable, and fresh with the latest best practices, this book is for you.

Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin

Rating: 4.6/5 stars

The author, Robert C. Martin, shows a revolutionary paradigm of software craftsmanship with his book, Clean Code: A Handbook of Agile Software Craftsmanship. Martin teams up with his colleagues from his previous companies to ‘spill the beans’ on their best agile practice of cleaning code. In this book, you’ll gain the values of a software craftsman, and in the end, it’ll make you a better programmer, but only if you work for it.

JavaScript for Kids: A Playful Introduction to Programming – Nick Morgan

Rating: 4.5/5 stars

JavaScript for Kids is an introduction that teaches programming essentials through patient, step-by-step examples paired with simple and funny illustrations. Since this book is mainly targeted towards younger generations, you'll start with the basics, like working with strings, arrays, and loops, and then move on to more complex topics, like building with jQuery and drawing graphics with Canvas.

Language-Specific Programming Books

Based on a research survey done by LITSLINK, some of the most used programming languages in the world are JavaScript, HTML, CSS, SQL, Python, and Java. There are many programming books out there that discuss these coding languages. Still, if a book covered all programming languages, it would easily be over a few thousand pages.

Instead, here’s a list of the world’s popular coding languages, descriptions, and recommended language-specific beginner’s books.

BooksToLearnComputerProgramming 092321 JavaScript


JavaScript is a coding language that is lightweight and object-oriented with first-class functions. Some of the advantages of JavaScript are its speed, popularity, server load capacity, and extended functionality.

Beginning JavaScript – Jeremy McPeak

Rating: 4.3/5 stars

The book, Beginning JavaScript 5th Edition, shows you how to work more effectively with the frameworks, functions, and modern browsers and teaches effective coding practices using JavaScript-based languages and HTML5. This edition has been specifically updated to reflect the way that JavaScript is most commonly used today. This book will introduce you to the latest tools and strategy that’s available to JavaScript developers.

JavaScript Allongé – Reg Braithwaite

Rating: 4/5 stars

This book, JavaScript Allongé, solves many important problems for the curious JavaScript programmer. JavaScript Allongé gives you the tools that you will need to deal with JavaScript bugs, glitches, edge cases, and other potential pitfalls that might hinder your path in the JavaScript career.


HTML, hypertext markup language, is a widely-used programming language used to write pages for websites. HTML is a markup language, meaning you can use HTML to tell a web browser how to structure the display properly. Some of the advantages of using HTML are its support from all browsers, open-source usage, and integrability with other languages.

BooksToLearnComputerProgramming 092321 HTML

Learn HTML for Beginners: The Illustrated Guide to Coding – Jo Foster

Rating: 4.5/5 stars

In this book, techniques are illustrated step-by-step using full-color screen prints throughout the book with concise and easy-to-follow text from an expert in the field. This book breaks down into a comprehensive guide to HTML and CSS programming.

HTML5 in Easy Steps – Mike McGrath

Rating: 4.6/5 stars

In this book, you’ve guessed it—you learn HTML5 in easy steps that instruct you on how to employ the latest development for a web page design with HyperText Markup Language (HTML5). Web browsers have come together over the last few years to support exciting new features of the HTML5 standard that allows easy creation of easy-to-follow web pages and interactive applications.


CSS, cascading style sheet, is used primarily with HTML to format the layout of web pages. It can be used to define text styles, table sizes, and other aspects that could only be defined in a page’s HTML. Some of the advantages of CSS are device compatibility, lack of cross-browser issues, and improvability in page loading speed.

BooksToLearnComputerProgramming 092321 CSS

CSS Secrets: Better Solutions to Everyday Web Design Problems – Lea Verou

Rating: 4.6/5 stars

Rather than focusing on the design aspect, this book, CSS Secrets, shows you how to solve problems using codes. You'll learn how to apply the author’s, Lea Verou, analytical approach to practically every CSS problem that you will face to attain maintainable, flexible, lightweight, and standards-compliant results.

CSS Pocket Reference – Eric A. Meyer

Rating: 4.4/5 stars

This short book provides all of the fundamental information you need to implement CSS on the fly. While the book is ideal for intermediate to advanced web designers and developers, the fourth edition is specifically revised and updated for CSS3, which is the latest version of the Cascading Style Sheet specification. Along with a complete alphabetical reference to CSS3 selectors and properties, you'll also find a short introduction to the key concepts of CSS.


SQL, structured query language, is a coding language used to communicate with a database. According to ANSI (American National Standards Institute), it’s the standard language for relational database management systems. Some of the advantages of SQL are faster query processing, portability, and viewing of multiple data.

BooksToLearnComputerProgramming 092321 SQL

Sams Teach Yourself SQL in 10 Minutes – Ben Forta

Rating: 4.6/5 stars

Expert trainer Ben Forta teaches you just the parts of SQL that you will need to know in your path as a programmer–starting with simple data retrieval tools and quickly going on to more comprehensive topics including the use of joins, subqueries, stored procedures, cursors, triggers, and table constraints.

Learning SQL – Alan Beaulieu

Rating: 4.2/5 stars

Updated for the latest database management systems—MySQL 6.0, Oracle 11g, and Microsoft's SQL Server 2008—this beginner’s guide will get you up and running with SQL in no time at all. Whether you need to write database applications, perform administrative tasks, or generate reports, this book will help you easily master all the needed SQL fundamentals.

Python Programming

Python is a high-level programming language with dynamic semantics that’s easy to learn and use. Some of Python’s advantages are its versatility, open-source libraries, and vibrant community.

BooksToLearnComputerProgramming 092321 Python

Python Crash Course – Eric Matthes

Rating: 4.5/5 stars

In this helpful book, you'll learn about basic programming concepts of Python, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You'll also learn how to make your programs more interactive and how to properly test your code safely before adding it to a project.

Learn Python the Hard Way – Zed A. Shaw

Rating: 4.2/5 stars

In this book, you'll learn Python by working through many strategy-crafted exercises. Once you have read them, you type their code precisely without copying and pasting, fix your mistakes, and watch the programs run. As you do these steps for different approaches, you'll learn how the software works, what good programs look like, how to read, write, and think about code, and how to find and fix your mistakes using tricks professional programmers use.


Java is an object-oriented coding language used in most operating systems, such as Windows, Linux, and macOS. Some of its advantages are its simplicity, security, and multithreading abilities. Here are the best books for the Java programmer: 

BooksToLearnComputerProgramming 092321 Java

Beginning Programming With Java for Dummies – Barry Burd

Rating: 4.5/5 stars

This book, Beginning Programming with Java For Dummies, 4 Edition, is a complex yet easy-to-read guide to learning one of the most popular programming languages worldwide. This book will cover basic development concepts and techniques through the Java lens—written by a Java expert. You'll learn what goes into a program, how to put the pieces together, how to deal with challenges, and how to make it work.

Java: Programming Basics for Absolute Beginners – Nathan Clark

Rating: 4.2/5 stars

For beginners to Java, we look at what the language has to offer to programmers, its advantages and disadvantages, origin and design goals, features and capabilities, as well as the various Java editions, before stepping into more in-depth topics for moderate-to-advanced level experts.

Ready to get serious about learning computer programming? Check out a free lesson from Flatiron School or book a 10-minute chat with admissions to see if a coding bootcamp is right for you. 

Disclaimer: The information in this blog is current as of October 5, 2021. Current policies, offerings, procedures, and programs may differ.

About Kabeer Bhatia

More articles by Kabeer Bhatia