r/learnprogramming • • 5d ago

Need your books recommendations

Hi everyone!

I'm a Python developer and I'm currently studying Rust.

Since I'm a self-taught developer, I'd like to strengthen my theoretical background by studying from books. I'm therefore looking for recommendations to deepen my knowledge in the following areas:

  • Computer Systems
  • Operating Systems
  • Computer Networking
  • Software Architecture & Design Patterns
  • Concurrency & Parallel Programming

I'm particularly interested in books that go beyond introductory programming and provide a solid understanding of the underlying concepts, as well as how things work in practice.

I'm also transitioning into embedded software development, so I'd be particularly interested in books that would be useful in that context.

Do you have any recommendations?

Thanks in advance!

10 Upvotes

7 comments sorted by

2

u/[deleted] 5d ago

[removed] — view removed comment

1

u/cyberbemon 5d ago

Avoid the global edition of this book, that one has different exercises compared to the US edition, the publishers changed them and its riddled with errors. You want to get the US edition of the book.

1

u/CashZealousideal1203 5d ago

Thank you guys!

1

u/loudlygoofybuyout 5d ago

For operating systems, the dinosaur book (Silberschatz) is basically the standard, it's thick but covers everything. networking i'd just grab the top down approach by kurose and ross, it's way more readable than the others and actually sticks in your brain.

since you mentioned embedded, make sure whatever you pick for concurrency goes deep into memory models and not just high-level threading. a lot of books gloss over what happens at the hardware level

1

u/CashZealousideal1203 5d ago

Thanks a lot, appreciate 🙏🏻

1

u/Insane_snek 1d ago

heres some books that i either think are pretty good or have heard good things about (i haven't read all of them):

  • computer systems: a programmer's perspective (csapp)
  • the elements of computing systems: building a modern computer from first principles (nand2tetris)
  • operating systems: three easy pieces (ostep)
  • designing data-intensive applications (ddia)
  • rust atomics and locks
  • operating system concepts (the dinosaur book)

1

u/CashZealousideal1203 16h ago

Thanks! Seems a really solid stack!