Sign in/joinLanguage: English [ others ]
Over forty million books on members' bookshelves.
Hide this

Results from Google Books

Click on a thumbnail to go to Google Books.

Hacker's Delight by Henry S. Warren Jr.
Loading...

Hacker's Delight

by Henry S. Warren Jr.

MembersReviewsPopularityAverage ratingConversations
137139,049 (4.08)None
Loading...
won't like will probably not like will probably like will like will love

Sign up for LibraryThing to find out whether you'll like this book.

First of all, the book itself is incredible.

The title was poorly chosen, unfortunately. 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. ( )
worrydream | Dec 31, 2006 |  
0.004 seconds to build listing
no reviews | add a review
You must log in to edit Common Knowledge data.
For more help see the Common Knowledge help page.
Series (with order)
Canonical Title
Original publication date
People/Characters
Important places
Important events
Awards and honors
Epigraph
Dedication
First words
Quotations
Last words
Disambiguation notice
Publisher's editors
Blurbers
Book description

No descriptions found.

The first test round has been closed. Visit the Open Shelves Classification group for details.

Popular covers

 

Help/FAQs | About | Privacy/Terms | Blog | Contact | LibraryThing.com | APIs | WikiThing | Common Knowledge | 41,228,381 books!