AnyBook4Less.com | Order from a Major Online Bookstore |
![]() |
Home |  Store List |  FAQ |  Contact Us |   | ||
Ultimate Book Price Comparison Engine Save Your Time And Money |
![]() |
Title: The Art of Computer Programming, Volumes 1-3 Boxed Set by Donald E. Knuth ISBN: 0-201-48541-9 Publisher: Addison-Wesley Pub Co Pub. Date: October, 1998 Format: Hardcover Volumes: 1 List Price(USD): $164.99 |
Average Customer Rating: 4.49 (41 reviews)
Rating: 5
Summary: Knuth's words on why assembly language
Comment: Many readers are no doubt thinking, ``Why does Knuth replace MIX by another machine instead of just sticking to a high-level programming language? Hardly anybody uses assemblers these days.''
Such people are entitled to their opinions, and they need not bother reading the machine-language parts of my books. But the reasons for machine language that I gave in the preface to Volume 1, written in the early 1960s, remain valid today:
One of the principal goals of my books is to show how high-level constructions are actually implemented in machines, not simply to show how they are applied. I explain coroutine linkage, tree structures, random number generation, high-precision arithmetic, radix conversion, packing of data, combinatorial searching, recursion, etc., from the ground up.
The programs needed in my books are generally so short that their main points can be grasped easily.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird.
Machine language is necessary in any case, as output of many of the software programs I describe.
Expressing basic methods like algorithms for sorting and searching in machine language makes it possible to carry out meaningful studies of the effects of cache and RAM size and other hardware characteristics (memory speed, pipelining, multiple issue, lookaside buffers, the size of cache blocks, etc.) when comparing different schemes.
Moreover, if I did use a high-level language, what language should it be? In the 1960s I would probably have chosen Algol W; in the 1970s, I would then have had to rewrite my books using Pascal; in the 1980s, I would surely have changed everything to C; in the 1990s, I would have had to switch to C++ and then probably to Java. In the 2000s, yet another language will no doubt be de rigueur. I cannot afford the time to rewrite my books as languages go in and out of fashion; languages aren't the point of my books, the point is rather what you can do in your favorite language. My books focus on timeless truths.
Therefore I will continue to use English as the high-level language in TAOCP, and I will continue to use a low-level language to indicate how machines actually compute. Readers who only want to see algorithms that are already packaged in a plug-in way, using a trendy language, should buy other people's books.
Rating: 5
Summary: Definitive
Comment: As Knuth himself says, it is impossible for any one person to keep up with all the research in computer science, but these 3 volumes do a remarkably good job of distilling the most important results and explaining them with mathematical rigor.
Each volume contains 2 chapters. Ch. 1, Basic Concepts: mathematical foundations and a description of MIX, a hypothetical machine (now available in software emulations). Ch. 2, Information Structures: lists, trees, memory allocation, garbage collection. Ch. 3, Random Numbers: how to produce series of "random" numbers and test their statistical properties. Ch. 4, Arithmetic: algorithms for integer and floating-point arithmetic. Ch. 5, Sorting: both in memory and on disks or tapes. Ch. 6, Searching: sequential, binary, hashing.
Despite the detailed coverage of the topics, which often involves esoteric mathematical notation, the author's lively style makes the algorithms and the main theoretical results relatively easy to grasp. If all you care about is getting a program to run, buy another book; but if you really want to understand how and why software works, there's nothing quite like this.
Rating: 3
Summary: Precisely, but let us keep our logic straight.
Comment: From the review by Ekalavya Nishada: "It is true it uses MIX and does not cover the last 20 years of advances in computer science yet but if you cant understand MIX you have no hope of understanding the mathemtical analysis of algorithms in these books nor appreciate a quality book like this."
But this is precisely the point! Indeed, w/o MIX you won't be able to really read TAoCP, right, but let us keep our logic straight. Do you need MIX for anything other than reading this book? Nope. Does it add anything to the subject matter? Nope (in fact, it detracts from it; C would be more illustrative and realistic.) Is learning it so easy as to make the issue unworthy of bringing it up? No, learning it will take quite a bit of effort. Yet it *is* a precondition to being able to read TAoCP. And, btw, it's not that MIX "doesn't cover the advances of the last 20 years" -- I suspect, it simply has nothing in common with reality, whether today or 20 years ago. Is it worth your time to dig into this piece of gratuitous esoterica simply in order to be able to read the book? Is TAoCP *that* great and indispensable? Everyone will decide on one's own, but personally I think not, not today -- there are now quite adequate alternatives that do not tax the reader unnecessarily. Life is short; its demands are many; not everyone's a tenured professor...
(And to propose that the only alternative to TAoCP is "O'Reilly cookbooks" is a wild exaggeration: there are just as in-depth *yet readable* books to choose from. Twenty years ago, maybe this wasn't the case, but life didn't stop then -- our then-beloved books and us, we all have to face a threat of obsolescence Thank you for visiting www.AnyBook4Less.com and enjoy your savings!
Copyright� 2001-2021 Send your comments
Similar Books:
Title: Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
by Ronald L. Graham, Donald E. Knuth, Oren Patashnik
ISBN: 0201558025
Publisher: Addison-Wesley Pub Co
Pub. Date: 28 February, 1994
List Price(USD): $59.99
Title: Introduction to Algorithms, Second Edition
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
ISBN: 0262032937
Publisher: MIT Press
Pub. Date: 01 September, 2001
List Price(USD): $79.95
Title: Design Patterns
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
ISBN: 0201633612
Publisher: Addison-Wesley Pub Co
Pub. Date: 15 January, 1995
List Price(USD): $54.99
Title: Programming Pearls (2nd Edition)
by Jon Bentley
ISBN: 0201657880
Publisher: Addison-Wesley Pub Co
Pub. Date: 27 September, 1999
List Price(USD): $29.99
Title: The Practice of Programming
by Brian W. Kernighan, Rob Pike
ISBN: 020161586X
Publisher: Addison-Wesley Pub Co
Pub. Date: 04 February, 1999
List Price(USD): $29.99