Hacker's Delight
Hacker's Delight is an impressive compendium of clever tricks for programmers. Warren concentrates on micro-optimizations -- few of the tricks in this book operate on more than 3 or 4 words of memory -- and he displays an impressive knowledge of diverse computer systems in the process.
Who Should Read This Book
Hacker's Delight is hardcore in its presentation and subject matter. I would not recommend this for a beginning programmer -- to fully understand the material requires at least some knowledge of concepts such as Assembly and Machine languages. However, anyone who writes performance-critical software should read this book, even if they do not plan to write Assembly code, both to learn the tricks given, and to learn the concepts behind them.
What's Good
The book is organized into chapters where Warren presents related tricks. In each chapter, he presents a few tricks which perform related tasks -- for example, in Chapter 3, he presents tricks for rounding (up or down) to the next power of 2, rounding to a multiple of a known power of 2, and detecting power-of-2 boundary crossings (i.e., checking for page faults). For each trick, he discusses why it works, whether the technique is generally applicable, related tricks which might be better in specific situations, and where a trick might be used in the real world.
Warren keeps his discussion architecture-neutral, while noting optimizations and problems for specific architectures for specific tricks -- in the process, he displays a vast array of knowledge about specific processors, from 1960's mainframes to x86, MIPS, PPC, Alpha, and others. He also skims the surface of hardware-design issues in a few places -- for example, he devotes a page or two to explaining why computers use base 2 for arithmetic, and why this is the most efficient choice.
What's Bad
This is an extremely dense book, and there are sections which are difficult to understand. Furthermore, there are many tricks which, while interesting, would be difficult to apply to real-world applications, and use of these tricks does violate the Keep It Simple, Clock Cycles Are Cheap And Someone May Have To Understand Your Code philosophy which is harped upon so heavily (not without reason) in modern software design. However, someone writing a compiler or high-performance code may feel that the benefit outweighs the potential risk.
The Summary
If you want a better understanding of the hardware on which your code runs, or you need to squeeze clock cycles, or you just enjoy seeing clever tricks, this is an excellent book. If you primarily use high-level languages such as VB, perl, python, etc., this may not be the right book for you. Be prepared for very dense material.
You can purchase Hacker's Delight from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Bite me all of you !
fp
Don't be such an idiot. You obviously have no idea of what you're talking about. Try doing some research next time before exposing your ignorance in public.
But in SOVIET RUSSIA hackers ARE delight!
That was worth posting logged in. Your post is the best I've seen on Slashdot in about two years.
It was as well. I think I'm onto something.
How are you gentlemen!! I send you these shoes to have your advice. Do you want some shoes?
Want some shoes?
Please support the movement to destroy Univ. of Michigan's admissions process, which is based on racist policy.
Ha-aa-aackers Delight
1970s flashback, man.
I cannot believe how quickly that was modded down to -1. What a waste of mod points. I've got more karma than I know what to do with.
Offtopic? I think not. You can't review a book called "Hacker's Delight" and not have somebody do a bad parody of "Rapper's Delight." It's a given.
But I suppose I can't expect your average slashdot moderator to understand the great works of old school hip hop.
Hey freaks: now you're ju
i said a hack crack the server the server
to the hack hack crack, a you dont stop
the rock it to the root root account say up jumped the server
to the rhythm of the server, the beat
My company hired this guy who said he had a lot of computer expierence. He confessed to me that he had written viruses and hacked into other people's computers in his spare time. Suffice to say, the guy was a complete tool. He could not program for sh*t, and was constantly bothering me to give him work. I gave him nothing because;
I did not trust him
He had no foundation, everything he did was a kludge.
Also there is no real-world application for hacking. Anyone who says that deserves to be butt-raped in jail.
Whoever you are, you sure get around.
"Lawyers are for sucks."
- Doug McKenzie