According to Amazon, the book will be available starting March 11.
Here are some chapter-by-chapter highlights:
- Ch. 2 (Data): After hearing many students saying ``It's too hard!'' we took a closer look and decided that the presentation could be improved by more clearly indicating which sections should be treated as informal discussion and which should be studied as formal derivations (and possibly skipped on first reading). Hopefully, these guideposts will help the students navigate the material, without us reducing the rigor of the presentation.
- Ch. 3 (Machine Programming): It's x86-64 all the way! The entire presentation of machine language is based on x86-64. Now that even cellphones run 64-bit processors, it seemed like it was time to make this change. Eliminating IA32 also freed up space to put floating-point machine code back in (it was present in the 1st edition and moved to the web for the 2nd edition). We generated a web aside describing IA32. Once students know x86-64, the step (back) to IA32 is fairly simple.
- Ch. 4 (Architecture): Welcome to Y86-64! We made the simple change of expanding all of the data widths to 64 bits. We also rewrote all of the machine code to use x86-64 procedure conventions.
- Ch. 5 (Optimization): We brought the machine-dependent performance optimization up to date based on more recent versions of x86 processors. The web aside on SIMD programming has been updated for AVX2. This material becomes even more relevant as industry looks to the SIMD instructions to juice up performance.
- Ch. 7 (Linking): Linking as been updated for x86-64. We expanded the discussion of position-independent code and introduce library inter positioning.
- Ch. 8 (Exceptional Control Flow): We have added a more rigorous treatment of signal handlers, including signal-safe functions.
- Ch. 11 (Network Programming): We have rewritten all of the code to use new libraries that support protocol-independent and thread-safe programming.
- Ch. 12 (Concurrent Programming): We have increased our coverage of thread-level parallelism to make programs run faster on multi-core processors.
I've been studying from the 1st edition of your book and have been looking forward to the 3rd edition. I have been thoroughly impressed by the book, and especially by the labs for self-study. I feel that the difficulty of the labs is perfect - easy enough to be doable in a reasonable amount of time, but difficult enough that you need to be creative to find an acceptable solution. Will you be updating them to 64 bits? Though the benefit will not be as great as the first time through (since I already know the tricks), I'd like to redo the first three labs as a quick hands-on way of introducing myself to x86-64. Thank you for the wonderful book, and for making such great labs available to all - can't wait to check out the 3rd edition!
ReplyDeleteYes. We're using the new edition at CMU this fall, and we'll get all of the labs updated in time for that.
DeleteSounds great!
ReplyDeleteWill there be an option to buy it in pdf format?
We're still trying to decide on that. The sales of PDF versions for the second edition were so small that it's not clear that there's a market for that format.
DeleteFor the 4th edition can you add some ARM material as well? I understand that the goal is to present a single architecture comprehensively, but I believe that the book would benefit from comparing and contrasting x86 with ARM. You don't need to spend a lot of pages on it, just don't ignore ARM altogether please.
ReplyDeleteWe're not ready to start thinking about a 4th edition yet, We'll take your idea under consideration, though.
DeleteProfessors Bryant and O'Hallaron,
ReplyDeleteI just wanted to say thank you very much producing such a wonderful text. I have just completed the second edition in it's entirety, although did find the small section given to GOT and PLT in chapter 7 could have been expanded on... which is why I'll be getting the third edition also!
Cheers.
You'll find more coverage of that in the 3rd edition.
DeleteWill there be a kindle edition available? Currently, only the hardcover copy is available on Amazon. I would love to have it on my kindle.
ReplyDeleteI don't think so. The Kindle version of the second edition was very disappointing to us and to many people who purchased it. Kindles provide a great way to read novels, but they don't do a good job with math notation or with illustrations.
DeleteDid you make any changes in chapter 6 of the textbook? I'm current using the second edition of the textbook and our class required the third edition now but there doesn't seem to be any changes at all for chapter 6. Am I right?
ReplyDeleteWe made some updates to reflect changes in memory technology. The overall structure of the chapter remained the same.
DeleteWill this textbook be introduced to China? The 2nd edition has been sold out for a long time.
ReplyDeleteThe translator is working on the book right now. She says the publisher plans to release the book in May or June, 2016.
DeleteOver the years, the Chinese edition has been our biggest seller. Hope the 3rd edition receives the same kind of audience as the other two.
In fact, this textbook has been one of the most significant guidance to we Chinese programmers!
DeleteGlad to hear it. The data definitely bear out this claim. Our Chinese language editions have been very successful. Both Dave & I have visited China several times and met lots of people who use CS:APP.
ReplyDelete