 |
Book Summary InformationAuthor: Henry S. Warren Edition: Hardcover Audio: English (Unknown); English (Original Language); English (Published) Published: 2002-07-27 ISBN: 0201914654 Number of pages: 306 Publisher: Addison-Wesley Professional
Book Reviews of Hacker's DelightBook Review: Magic Summary: 5 Stars
First of all, the book itself is incredible.
The title was poorly chosen, I think. The connotation of "hacker" in the public mind is somewhat different than the word's meaning forty years ago at MIT, and I found (and continue to find) this book shelved alongside ephemera about firewalls and internet security. Thinking it was about "1337 hacking", I picked it off the shelf for a quick sneer. Six hours later, the bookstore had to kick me out because they were closing.
Think of it as "The Art of Computer Programming, Volume 0: Bit Manipulation". Except without the annoying Knuth attitude.
"Hacker's Delight" is a timeless classic, a scholarly and exhaustive treatment of finite-word-length arithmetic and other bit-manipulation algorithms. The book is excellently written and the material lovingly presented. For some people (such as me), the mathematical beauty and cleverness of the solutions is reason enough to find the book fascinating. For other people (such as me), there are extensive practical applications.
However, the size of the latter group (or, perhaps, relative percentage) is dwindling with time. A programmer who thinks that the universe begins and ends with Oracle and PHP respectively is unlikely to need an 8-RISC-instruction algorithm for dividing integers by 7. The essence of programming is abstraction, and as computational resources become more abundant, the path of progress abstracts further and further away from the machine. For many modern programmers, there are no bits -- there are only "numbers" (double-precision floats, typically), and the hardware handles these floats just as gracefully as integers. In this world, one's complementing and shifting have no meaning.
Even for those working at a lower level, the caching and pipelining schemes of modern architectures can complicate some of the assumptions in this book. For example, branch performance is highly architecture-dependent, and the efficiency that can be gained through branch tuning can outweigh that of shaving off a few instructions. Warren is careful to provide and identify branch-free algorithms whenever possible, but it often is not. As another example, parallel instruction scheduling means that not only is a routine no longer the sum of its instructions' cycles, it's not even completely deterministic, at least from the programmer's perspective.
But I work in the embedded field, and my targets have ranged from 1 MHz 8-bit 6502s through 50 MHz 32-bit Coldfires to creatively-handicapped DSPs of various sorts. Not a FPU or branch predictor in sight. In such situations, the algorithms in "Hacker's Delight" can be lifesavers. Not to mention, so much fun! If you approach optimization as a puzzle, wherein the solution is its own reward, this book is indeed a compendium of delights.
Many descriptions of this book refer to it as a collection of programming "tricks". I dislike that word; it implies a casualness and triviality that does not befit a book of this rigor and scope. I prefer the subtitle of Johnson and Graham's text on high-speed digital design: "A Handbook of Black Magic".
If your magic dust is bits and cycles, this is your spellbook.
Summary of Hacker's DelightA collection useful programming advice the author has collected over the years; small algorithms that make the programmer's task easier. * At long last, proven short-cuts to mastering difficult aspects of computer programming * Learn to program at a more advanced level than is generally taught in schools and training courses, and much more advanced than can be learned through individual study/experience. * An instant cult classic for programmers! Computer programmers are often referred to as hackers -- solitary problem solvers engrossed in a world of code as they seek elegant solutions to building better software. While many view these unique individuals as "madmen," the truth is that much of the computer programmer's job involves a healthy mix of arithmetic and logic. In Hacker's Delight, veteran programmer Hank Warren shares the collected wisdom -- namely tips and tricks -- from his considerable experience in the world of application development. The resulting work is an irresistible collection that will help even the most seasoned programmers better their craft. Henry S. Warren Jr. has had a 40-year career with IBM, spanning the computer field from the IBM 704 to PowerPC. He has worked on various military command and control systems, and on the SETL project under Jack Schwartz at NYU. Since 1973 he has been in IBM's Research Division at Yorktown Heights, New York. Here he has done compiler and computer architecture work on the 801 computer and its several variants through PowerPC. Presently he is working on the Blue Gene petaflop computer project. He received his Ph.D. in Computer Science from the Courant Institute at New York University in 1980.
Hackers Books
|
 |
|
|
Cracking the Coding Interview: 150 Programming Questions and Solutionsby Gayle Laakmann McDowell CreateSpace; Published: 2011-08-22; Paperback; BookBest price: $34.48Price in other shops: $39.95
The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1by Donald E. Knuth Addison-Wesley Professional; Published: 2011-01-22; Hardcover; BookBest price: $51.93Price in other shops: $79.99
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)by Harold Abelson, Gerald Jay Sussman The MIT Press; Published: 1996-09-01; Paperback; BookBest price: $33.74Price in other shops: $46.00
Algorithms (4th Edition)by Robert Sedgewick, Kevin Wayne Addison-Wesley Professional; Published: 2011-03-19; Hardcover; BookBest price: $57.99Price in other shops: $79.99
The Algorithm Design Manualby Steven S. Skiena Springer; Published: 2008-07-26; Hardcover; BookBest price: $51.99Price in other shops: $89.95
The Art of Computer Programming, Volumes 1-4A Boxed Set (Box Set)by Donald E. Knuth Addison-Wesley Professional; Published: 2011-03-13; Hardcover; BookBest price: $196.49Price in other shops: $249.99
Programming Pearls (2nd Edition)by Jon Bentley Addison-Wesley Professional; Published: 1999-10-07; Paperback; BookBest price: $24.91Price in other shops: $39.99
Introduction to Algorithmsby Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein The MIT Press; Published: 2009-07-31; Hardcover; BookBest price: $48.99Price in other shops: $87.00
Cracking the Coding Interview: 150 Programming Questions and Solutionsby Gayle Laakmann McDowell CareerCup; Published: 2011-08-22; Paperback; BookBest price: $30.95Price in other shops: $39.95
Concrete Mathematics: A Foundation for Computer Science (2nd Edition)by Ronald L. Graham, Donald E. Knuth, Oren Patashnik Addison-Wesley Professional; Published: 1994-03-10; Hardcover; BookBest price: $42.99Price in other shops: $79.99
|