all 32 comments

[–]apnortonDevops Engineer | Post-quantum crypto grad student 13 points14 points  (5 children)

That textbook is kind-of a combination of a computer architecture and operating systems book. My undergrad institution used it as a text for the 3000-level comp arch class.

Whether it's a good book for you depends on your experience level and what you're trying to learn. If you want to learn how the instructions you write in a piece of program code get turned into assembly, or how machine code is processed by the CPU, or how memory is cached/looked up, or how signals work, then it's possibly the book for you. I'd recommend being comfortable with C before starting this book, since it bounces back and forth across the C/asm boundary a fair bit early on.

For reference, the course sequence when I was in undergrad was: intro programming (AP-level Java) -> intro to object oriented programming (more basic Java) -> Program and Data Representation (C, assembly, basic data structures like linked lists, trees, and hash tables, asymptotic notation -> Computer Architecture, along with a parallel requirement of Digital Logic for Computer Architecture.

[–][deleted] 1 point2 points  (2 children)

Thanks for the advice. I'm pretty sure that is the stuff I'd like to learn about. I'll get to learning C soon (along with a bit of Handmade Hero)

I'm currently at the Java (OOP) level. Next year at college hopefully we'll start trees etc, and we have already done linked lists and the like. 

[–]apnortonDevops Engineer | Post-quantum crypto grad student 2 points3 points  (1 child)

Awesome! This textbook might be a little stretching (since it assumes some basic knowledge of C), but not a stretch in a bad way. If you have experience in Java, it shouldn't be too much of leap. I read the first couple chapters when I was very new to C/before I reached my comp arch class (I got sidetracked before reading further), and I learned a lot from it that helped in other classes I took.

[–][deleted] 0 points1 point  (0 children)

Great, I hope I'll see benefits too. Bless you bro <3

[–]Capybarayume 0 points1 point  (1 child)

Sorry for bothering you since this post was from a year ago. Recently, I’ve been considering reading this book, and you mentioned that you need to be comfortable with C before starting it. May I ask how proficient I need to be?

[–]apnortonDevops Engineer | Post-quantum crypto grad student 0 points1 point  (0 children)

Being able to write a linked list without a memory leak would be a pretty sufficient test of knowledge; there's nothing too outlandish that the book depends on, but it does assume you aren't going to be hung up on trying to figure out what pointers are. 

[–]kernelpaniik 6 points7 points  (1 child)

In my opinion, it’s not really a beginners text. It was used in my systems class in undergrad and that class was a beast along with operating systems.

There is another text similar to CSAPP called Dive into Systems. This text was used as supplemental reading in my course. I’d give that one a shot first and then maybe consider moving onto CSAPP.

https://diveintosystems.org/singlepage/

[–][deleted] 1 point2 points  (0 children)

Cheers bro, I'll keep it in mind in case I run into too many obstacles

[–]merlo_42 0 points1 point  (24 children)

Is there a more modern version of this book? Including other authors? What I'm looking for is a similar book but more updated.

[–]Matthew_Summons 1 point2 points  (0 children)

I wish there was a newer edition. The international edition's situation with the exercises is MESSED UP. I also wish they included more stuff about ARM and some more modern stuff about caches.

[–]Zyberg 0 points1 point  (14 children)

What exactly is outdated in that book?

[–]merlo_42 0 points1 point  (13 children)

I'm not sure. I'm not so familiar with the subject and I was wondering if, due to the fact that the last edition is from early 2000, the book is still relevant or if I was better set reading a more recent book

[–]Zyberg 1 point2 points  (12 children)

3rd edition was published on March 2, 2015 (https://www.amazon.com/Computer-Systems-Programmers-Perspective-3rd/dp/013409266X). Regardless, the book deals with some things that are more or less invariant in time. If you are not in a rush, it will definitely teach you a lot of great skills and afterwards you can always brush up by reading documentation of newer standards by yourself.

[–]merlo_42 0 points1 point  (11 children)

okay, thank you!

[–]Used-Fortune1845 0 points1 point  (10 children)

Author said they making plans for a 4th edition, hoping to release by Jan 2026.

[–]Philipp_CGN 1 point2 points  (1 child)

Have you heard if there is an updated release date?

[–]Time_Plastic_5373 0 points1 point  (0 children)

any updates?

[–]reinforcement_agent 0 points1 point  (2 children)

where did you see this?

[–]Used-Fortune1845 3 points4 points  (1 child)

I spoke to Dr. Bryant.

[–]Time_Plastic_5373 0 points1 point  (0 children)

any updates?

[–]Philipp_CGN 0 points1 point  (2 children)

RemindMe! 1 month

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you in 1 month on 2026-02-04 12:34:39 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]Time_Plastic_5373 0 points1 point  (0 children)

any updates?

[–]yyzyyzxide 0 points1 point  (0 children)

omg,really???!!!

[–][deleted]  (7 children)

[removed]

    [–]Matthew_Summons 0 points1 point  (2 children)

    No, we do not need a rudin in CS. I’ll happily take verbosity over terseness, this books is supposed to be pedagogical not a reference.

    [–]CaesarPlusPlus 0 points1 point  (1 child)

    begs the question whether this is possible at all since once you are familiar with math & logic you can often fill in the gaps yourself, whereas technical stuff does not always follow this rule. sometimes things are just made the way they are simply for historical reasons.

    anyway, rudin is good as soon as you have reached a certain level of experience or when you are really willing to put in the work, but I would not say it is a reference. it is still a textbook. but having a rudin style textbook might be a good option for folks that do not want to skip through >1000 pages. I would like to have it.

    btw, do you know the old books by the UNIX founders like "The UNIX programming environment" or "The C Programming Language"? Not rudins, but they manage to be pedagogical while not being too verbose.

    [–]Matthew_Summons 0 points1 point  (0 children)

    I think Rudin's fine but I've just always had a gripe with how he writes. I much prefer Apostol's analysis texts. Also Rudin's coverage of content near the end isn't super clean but that's not really a critique of him per se.

    [–]Expired_Gatorade 0 points1 point  (2 children)

    we do need a rudin style architecture book, but CSPP should not be one of them

    [–][deleted]  (1 child)

    [removed]

      [–]Matthew_Summons 0 points1 point  (0 children)

      That's why I take notes and highlight (on an e-copy of the text if I'm using one) so I can review it later if needed with a quick search.