DEV Community

Cover image for The 25 most recommended programming books of all-time.

The 25 most recommended programming books of all-time.

Pierre on February 18, 2020

This article is a follow up of the one I did about the the most recommended startup books of all-time. If you've read this one recently. I guess y...
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

I always like to add "Dreaming in Code" by Scott Rosenberg.

In any case, I just added several more books to my list of things to read! Thanks for compiling this list.

(Side note: Not sure I'd take John Sonmez's or Robert Martin's word for anything, especially after some of the recent fallout.)

Collapse
 
elmuerte profile image
Michiel Hendriks • Edited

Dreaming in Code isn't really about the act of programming though. It's a chronicling of how a project, and business, failed.

But I do recommend it too. It's a really good and interesting read. And for the younger people it's also a nice dip in the history of software development in late 90s/early 2000.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Ah, but it is about programming, specifically how unpredictable programming is. It's helped me time and again with checking my assumptions and cognitive biases as a software developer.

Collapse
 
richstoneio profile image
Rich Steinmetz

In this case we should also mention The Phoenix Project ;)

Collapse
 
aschwin profile image
Aschwin Wesselius

Not sure I'd take John Sonmez's or Robert Martin's word for anything, especially after some of the recent fallout.

Sorry, I must not have been in the loop somehow. What is this about?

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Here's the best summary. (Read Ben's comment there; the bulk of information is there.)

There's also this, which gives the entire timeline:

medium.com/@cherp/propaganda-other...

Collapse
 
rodiongork profile image
Rodion Gorkovenko

Well :) Some of these books are really important for developers nowadays (e.g. first third part of "Clean Code").

On the other hand there is no practical sense in reading some others, e.g. "Structure and Interpretation of Computer Programs" or "Art of Computer Programming". Really many people recommend them, but very few really read. They use very specific languages for examples and cover many concepts nowadays either outdated or unnecessary. They were hits decades ago, but now more of historical interest, and, being quite tough, would be real waste of time, moreover that what is useful in them is mainly covered in other, more modern books.

The same may be told about most books on algorithms. I really like algorithms (they are my passion), but unless one is looking for CS degree and scientific work, one needs only shallow understanding of time/space complexity nowadays and brief acquaintance with most popular data structures and sort methods. Both of those aren't usually needed for practical tasks in industry (especially in frontend / webdev), but could be easily asked at interviews.

Collapse
 
aschwin profile image
Aschwin Wesselius

I always have a hard time making reviews or the opinion of the collective the main measure of quality. As in, I don't care about votes, I care about a good review with arguments on why something is good or something is not that good.

Even when a book is not read that often, it doesn't mean it's a book of less quality or less important information.

I discovered some books, that are most well worth reading for developers and many people will never find them, because these don't appear on lists like these.

For example:

  • The psychology of computer programming - Gerald Weinberg
  • Exploring requirements - Gerald Weinberg

Yes, both by Gerald Weinberg, but he has written more quality books than Fowler and Martin together.

Another great author is Juval Löwy for which I would recommend all his books. Especially his latest:

  • Righting Software - Juval Löwy

I would not be surprised if the latter will be hitting the next top 25 list.

Collapse
 
kamranayub profile image
Kamran Ayub

Adding some of these to my Goodreads. Have you considered making a shared list on there? Makes it easy to add to your Want to Read list 👍

I have read a handful of these, I'm in the middle of Code Complete. Pragmatic Programmer was already on my list at the recommendation from a friend as well.

Collapse
 
memitaru profile image
Ami Scott (they/them)

I have a handful off of this list. Cracking the Coding Interview is obviously great for trying to get a handle on those kinds of questions. The Pragmatic Programmer has been a great read so far!

My copy of "Don't Make Me Think" arrived today and I'm excited to get started with it.

Collapse
 
corgidevs profile image
Not MyRealName • Edited

I would also like to promote this tiny book. It provides many real world examples of computer programming by devs that were engaged in tech leading companies. Furthermore it provides insights you can‘t learn from theoretic approached books/sources.

shop.oreilly.com/product/978059680...

Collapse
 
hugoliconv profile image
Hugo

I'm reading Code Complete by Steve McConnell and I have to say it's pretty good. It covers OOP concepts that I haven't be able to understand until now and even though I'm a JavaScript developer I'm glad that I now understand the basics of OOP.

Collapse
 
dangoslen profile image
Dan Goslen

I'm surprised that The Phoenix Project isn't on here - maybe still too early?

Thanks for providing the list!

Collapse
 
martinezpeck profile image
Mariano Martinez Peck

Nice list. I can't just believe you did not include "Smalltalk Best Practice Patterns" from Kent Beck. It's an incredible book and it does not apply only to Smalltalk. I can only recommend this to everyone.

Collapse
 
pamprog profile image
PamProg

Thank you !
Didn't Robert C. Martin wrote 2 books of the list ? So he would be the third author after Marting Fowler and Steve McConnell to have multiple books no ?

Collapse
 
daolf profile image
Pierre

You are correct.

I missed it!

Corrected now.

Collapse
 
murrayvarey profile image
MurrayVarey

Awesome work!

I'd definitely recommend The Pragmatic Programmer to anyone who hasn't read it. The first technical book I read, and still my favourite.

Collapse
 
daolf profile image
Pierre

Thank you, will do it asap :)

Collapse
 
sivaraam profile image
Kaartic Sivaraam

Just wanted to point out a typo in the conclusion:

s/Marting/Martin

Also, thanks for the wonderful collection!

Collapse
 
julianogtz profile image
Juliano Pereira Lima

Pragmatic Programmer is amazing o/

Great list.

Collapse
 
osde8info profile image
Clive Da

i feel such an idiot now :( ive only read 'dont make me think'

Collapse
 
daolf profile image
Pierre • Edited

Can I tell you a secret? I did not even know about the first one.

Collapse
 
realtrevorfaux profile image
Trevor Fox

I feel like I just walked through the Computer Programming section of Powells Books

Collapse
 
rcneupane profile image
Ram Chandra Neupane

"Getting Real" is also a fantastic read.

Collapse
 
lshanel profile image
Shane Hamilton

I really like this list, Id like to add Category Theory for Programmers as a really good book for programmers. It also has an accompanying lecture series on youtube. I think most programmers will put Category Theory in the functional paradigm box but I found learning and understanding mathematical concepts like Group and Category theory is better understood as understanding abstraction and I found it really helped all my coding OOP and Functional.

Collapse
 
domas profile image
Domas Juodele

Well.. it always a much easier to work with the devs and their code who actually read at least clean code and pragmatic programming or at least knows what is the message there.

Collapse
 
moomooya profile image
moomooya • Edited

Great list.
May I summarize and introduce in Japanese?

Collapse
 
lytecyde profile image
Mik Seljamaa 🇪🇪

any links in japanese ?

Collapse
 
edgardbraz profile image
edgardbraz

Thank you for the post! I'll read some of them and probably contribute here at deve.to after I improve myself with these delicious books xD

Collapse
 
techread_dev profile image
techread

I created a website for this purpose. You can check at techread.dev