Best books for programming beginners

by Bradley Nice, Content Manager at — online documentation tool

It’s the 21st century, fellas. And whether you like it or not, advanced technologies reach more and more areas of our lives every day. More and more things run on software or with the help of some sort of software. And you surely know that programs don’t just appear, they are created (programmed, duh) by… well, programmers!

There is a vast variety of all kinds of programs — to-do apps on your phone, audio player on your desktop, software that runs on ATMs, and even games (yes, they can also be called programs)!

There is also a vast variety of programming languages. C++, C#, JavaScript, Java (no, they are not the same), Swift, Python… When I say there’s a lot of them, I mean it — just look at this huge list. But we’ll deal with the most popular languages here, for obvious reasons.

I’ll probably write a whole ‘nother article about which language to choose to start learning, if you are at the deciding stage, and include the link here.

But right now, let’s say you’ve already decided the language you want to learn. Where to start? You can always dive right in and start coding something, looking up tutorials at the same time. But some theoretical background never hurts.

Clean Code by Robert C. Martin

This book does not cover any particular language but tells you a few things in general. How to tell if your code is bad or good, how to write good code and how to refactor bad code into a good one, how to create proper names, functions, objects, classes… the list goes on. With this book, you will develop a better understanding of how programming works and how to be good at it.

C Programming Language by Brian W. Kernighan

Nobody will teach you better what C is than developers of this language, who wrote this book. This book includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, and everything in between. This one is a classic that is still very helpful to those using C or even C++.

Head First Java by by Kathy Sierra

This one is perfect for anyone sick and tired of plain text paragraphs. It presents most of the information in a visual format. While reading this, you’ll get a feeling it is written by your more experienced friend. The book includes all the basic theory, as well as plenty of exercises and tests.

Head First C# by Andrew Stellman

Yep, another O’Reilly Head First book. And not without reason — it’s written pretty much like the previous one, in a very light and fun manner, and has tests and exercises for you. It will give you not only the basics but some advanced stuff as well. If you’re just starting out — this one is perfect.

Python Cookbook by David Beazley and Brian K. Jones

If you asked me to choose a single book on Python, it’d be this one. It covers all of the bases, as well as advanced stuff, leading to teaching you to write production-grade Python code. It’s a hefty, comprehensive guide on this programming language. Just pick this one, you can’t go wrong.

A Smarter Way to Learn JavaScript by Mark Myers

What I really love about this book, is that it’s a hundred percent project-based. It’s broken into many easy to understand examples, which makes it really approachable. So if you want to learn JS, do it while practicing — and this book will be your guide.

Swift Programming: The Big Nerd Ranch Guide by Matthew Mathias and John Gallagher

If you’re willing to develop for iOS, you will need Swift. And if you want Swift, you will need this book. It comes with everything to get you started and even more. It has plenty of quality practice demos and tutorials.

Of course, there are tons of other programming languages, but some of them may not be suitable for beginners or are just too narrow-focused. I’ll tell you what: if you decide to learn something from this list, you will discover (as I once did), that you understand pretty much any language (except those with bizarre syntax). And after this, learning most other languages will be a breeze.

In the next article, I’ll tell you where to start and which language to learn if you still haven’t decided. See you.