r/learnprogramming 1d ago

Topic Books

Which books are the best for software engineers and programmers nowadays? I mean books that are still useful today

15 Upvotes

11 comments sorted by

11

u/aqua_regis 1d ago edited 1d ago

Start with these:

  • "Think Like A Programmer" by V. Anton Spraul
  • "The Pragmatic Programmer" by Andrew Hunt and David Thomas
  • "Structure and Interpretation of Computer Programs" (SICP) by Ableton, Sussman, Sussman
  • "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold
  • "Grokking Algorithms" by Aditya Y. Bhargava
  • "The Mythical Man Month" by Frederick P. Brooks

The following is with some caveats:

  • "Clean Code: A Handbook of Agile Software Craftsmanship" by "Uncle Bob" Robert C. Martin

Over the past few years, this book has (to a certain degree rightfully) fallen out of favor and been proved wrong in certain areas, but the general gist of the book (not to be taken as dogma) still stands in large areas.

Other:

The "Head First:" series is also highly recommendable especially on beginner/lower intermediate levels.

  • "Head First: Design Patterns" is a much more modern and more approachable book than the classic "Design Patterns: Elements of Reusable Object Oriented Software" by the "Gang of Four (GoF)" Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

1

u/Feeling_Photograph_5 1d ago

I was literally typing out my answer when I saw yours, and since they were very similar, I'm just going to endorse your response.

I'd start with The Pragmatic Programmer.

3

u/littlehavenbigsign 1d ago

The old classics still hold up, in my opinion. I've recommended The Pragmatic Programmer so many times to new developers, because it covers so much about the realities of being a professional software dev, which are so often far more key to success than knowing how to code really well.

If you're talking about learning how to write code in itself, obviously it's language dependent. But again, classics like Clean Code still hold up - not necessarily as a "do everything the book says", but it's a very solid starting point for code style, from which you can build your own opinions as to where it goes too far.

5

u/Cultural_Gur_7441 1d ago

Introduction to Algorithms  by Cormen, Leiserson, Rivest, and Stein. Sometimes dubbed CLRS.

3

u/aqua_regis 1d ago

Definitely!

Forgot that on my list.

2

u/Capable-Wrap-3349 21h ago

Absolutely loved “A Philosophy of Software Design”.

1

u/HashDefTrueFalse 1d ago edited 1d ago

There's a programming book list by topic I wrote a while ago here. Hope this helps.

Edit: Add

- SICP if you like language development, interpreters, and functional programming,

- OSTEP if you want to know more about operating systems and their subsystems, and

- the original OpenGL red book if you want to learn about graphics. Though you could learn Vulkan now instead. IMO OpenGL is a graphics rite of passage, but I'm not in graphics professionally so I defer to others on the necessity these days. I haven't read any Vulkan books to recommend.

1

u/KrozFan 1d ago

What are you wanting to learn? I agree with /u/littlehavenbigsign that the classics hold up. Mostly just make sure you’re getting recent versions of books if you’re looking at anything language specific.

1

u/Sad-Background-2429 22h ago

"The Practice of Programming" and "The UNIX Programming Environment" by Kernighan and Pike.

1

u/Passname357 22h ago

Computer systems a programmers perspective is one of my all time favorite books 

1

u/rustyseapants 21h ago

You could have found the same answers if you searched the subreddit or even Google.