starsbooksproductsmore

What are reddit's favorite books to learn about programming?

From 3.5 billion comments

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

Popularity Score: 1764

This book was mentioned in 2751 comments, with an average of 4.18 upvotes.

Popularity since 2010

Best Comments

592 points

I recommend reading a book called "Clean Code", it helped me a lot. It's impossible to work with people that have different coding practices, and this book introduces you to everything you need to know.

244 points

No problem. It's a really good exercise to write something small like this, then spend time refactoring it based on best practices. I always recommend reading Clean Code by Robert C. Martin. You can find pdfs of it online. Excellent read. Would definitely help you out.

"Clean Code". Your future self will thank me later. Honestly I had learned such bad practices in college when it comes to structuring code, methods, classes, etc. People will always love to debate which style is "good" but you can't go wrong with starting from this book's tips and then branching into your own comfort zone someday.

expand_more More comments
Steve McConnell
Code Complete: A Practical Handbook of Software Construction, Second Edition cover

Popularity Score: 1251

This book was mentioned in 1889 comments, with an average of 3.45 upvotes.

Popularity since 2010

Best Comments

68 points

Complexity management.

Everyone can make software development, but the key to sustainable support, quality and extensibility is the complexity management. I recommend you the book "Code Complete: A Practical Handbook of Software".

On speed: "You save time when you don’t need to have an awards ceremony every time a C statement does what it’s supposed to."

-- Code Complete, Steve McConnell

12 points

I really enjoyed Code Complete if you haven't read that already, it's not dry at all and I've made use of/incorporated the concepts I've read from it.

expand_more More comments
Kathy Sierra, Bert Bates
Head First Java, 2nd Edition cover

Popularity Score: 1120

This book was mentioned in 1740 comments, with an average of 2.54 upvotes.

Popularity since 2010

Best Comments

24 points

The Head First series is great cause it makes dense subject matter very easy to read. I use Head First Java and Head First Design Patterns in a class and they're great. They are not a reference book, but rather a engineering/OO/pattern book.

13 points

O'Reilly "Head First Java" (2nd Edition, Dec.2007) is the book that gave me my "Ah-ha" moment with OOP. Simple to follow, written humorously. I flicked between that and Ivor Horton's "Beginning Java" (2011). Best of luck.

10 points

Once you read Head First Java from cover to cover you're qualified for the position of Java Programmer at the programming company of your choice

Brian W. Kernighan, Dennis M. Ritchie
C Programming Language, 2nd Edition cover

Popularity Score: 1028

This book was mentioned in 1536 comments, with an average of 7.22 upvotes.

Popularity since 2010

Best Comments

57 points

The C Programming Language, 2nd Edition. It's the most readable, informative book I've ever read for any programming language.

27 points

When I was in Grade 8, my Dad gave me his copy of The C Programming Language by K&R and said: "learn this now and you will thank me later."

18 points

"The C Programming Language", by Kernighan and Ritchie, is an excellent book, both as a tutorial and as a reference.

Joshua Bloch
Effective Java (3rd Edition) cover

Popularity Score: 982

This book was mentioned in 1478 comments, with an average of 3.82 upvotes.

Popularity since 2010

Best Comments

60 points

Effective Java, by Joshua Bloch. That and Clean Code, which someone has already mentioned, will put you far beyond your 700-line method colleagues whose if-else statements career from one end of the monitor to the other.

First, the book Effective Java 2nd Edition is great, and worth the read 10000%.

Second, my favorite OS Java project as far as code cleanliness goes is ElasticSearch. It's pretty complicated, but isn't that difficult to read:

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Introduction to Algorithms, 3rd Edition (MIT Press) cover

Popularity Score: 980

This book was mentioned in 1283 comments, with an average of 3.52 upvotes.

Popularity since 2010

Best Comments

Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (referred to as "CLRS") is a good choice for a first course in algorithms.

17 points

Computer Science: Algorithms

Introduction to Algorithms AKA CLRS by Cormen, Leiserson, Rivest and Stein

It covers everything an undergrad to graduate level.

13 points

I'd recommend The Algorithm Design Manual instead of Introduction to Algorithms. CLRS is really theoretical, the Design Manual is full with real-world examples and exercises.

expand_more More comments
Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
C++ Primer (5th Edition) cover

Popularity Score: 851

This book was mentioned in 1755 comments, with an average of 2.72 upvotes.

Popularity since 2010

Best Comments

13 points

If you'll be working with C++11 then I'd recommend "C++ Primer" (not C++ Primer Plus!). That book explains most of the relevant C++11 features throughout the text, unlike some other books which simply have most of the text unchanged and a chapter added to the end about C++11.

It's very large however, so you might have to skim through some of it.

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) cover

Popularity Score: 672

This book was mentioned in 906 comments, with an average of 4.25 upvotes.

Popularity since 2010

Best Comments

23 points

To anyone not sure of what this stands for, it is Structure and Interpretation of Computer Programs and is a very good read for those looking to learn about comp sci. It does require commitment in that it is not a book you rush through, rather you take your time and make sure you understand it bit by bit.

10 points

Structure and Interpretation of Computer Programs is nice to read and gives you a good perspective of what goes on behind the execution of code, and explains its structures and concepts well.

Andrew Hunt, David Thomas
The Pragmatic Programmer: From Journeyman to Master cover

Popularity Score: 610

This book was mentioned in 935 comments, with an average of 4.30 upvotes.

Popularity since 2010

Best Comments

In my opinion, The Pragmatic Programmer should be mandatory reading for all software development professionals. The lessons learned from that book are simply invaluable. Algorithms aren't the only prerequisite to writing successful software...

20 points

The Pragmatic Programmer - one of the best books on software development I've ever read. The book is about the tools, techniques and mindset you can use to become a better programmer, none of which require being in front of a computer.

It's also relatively short, clocking in at about 300 pages, so it's not heavy. Easy on the wallet, too!

12 points

I am currently reading The Pragmatic Programmer, which I'm sure many of you have heard of. For those that don't know, however, it's about essential practices, techniques, and methodologies in a production environment.

A great book, one that everyone who's not already a professional software engineer with years of experience should read.

The Art of Computer Programming, Volumes 1-4A Boxed Set cover

Popularity Score: 601

This book was mentioned in 744 comments, with an average of 6.93 upvotes.

Popularity since 2010

Best Comments

38 points

I always liked The Art of Computer Programming which, in an effort to establish the scale of problem difficulty and to discourage people from trying to do all the exercises, has the third exercise be (paraphrased) "Show that there are no positive integer solutions to a^n + b^n = c^n for n ≥3."

36 points

The first volumes of The Art of Computer Programming by Donald Knuth has an extensive overview of many of the algorithms that are part of a CS curriculum.

arrow_drop_down_circle More programming