Blog Archives

← 2013 →
Months
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec

Links

Kevin
Charles
Thatcher
Aaron
Ryan
Ignacio

Large-Scale C++ Software Design: John Lakos

spacer
[Amazon | Powell's]

Nick Wheeler, one of my favorite professors, liked to say that the best books about physics and mathematics were "short works by masters." Ideally, a book should be about a big idea, written by someone with a virtuoso's grasp of the subject and the talent to pare it down to its simplest form. This is a huge book about a medium-sized idea.

To be fair, this book plugs a gap in the literature on software design. When you read, say, Booch or Meyers, when they say "design", they mean exclusively logical design. They're entirely concerned with the relationships between the modules and classes you're working with. This book is the only one I know of that comprehensively deals with physical design: how those classes are physically laid out in source files, and the consequences for development efficiency. Anyone who has ever spent 5 hours of an 8 hour day actually programming, and the other 3 hours waiting for the program to compile knows that those consequences can be huge.

Unfortunately Lakos spends endless pages devoted to subjects that anyone who's ever written code for a living should either a) already know or b) instantly grasp in a sentence or two. At 800+ pages, the only non-reference books on my shelf that compare to it in length are McConnell's phone books and the three volumes of Knuth. If we were to assign elements to these to indicate information density, Lakos is lithium, McConnell iron, and Knuth is somewhere in the transuranic portion of the periodic table. As such, the book is probably best suited for someone who has done plenty of coding, but needs to work on their discipline a little bit, i.e. students taking their first professional job.

Luckily, the author has provided an out. If you turn to page 815 (!), you will find in Appendix D a list of all of the aphorism, principles, and tips from the main text. It's like a list of koans that distill the entire book down to a manageable length. If you squint at these 17 pages just right, this is a small book by a master. I promise you, reading these will give you 80+% of the value of the entire book. There are page references with each tip in case the meaning isn't instantly apparent.

Recommended if you are about to begin working on your first large software project, or if the compiles on your current project are taking more time than it takes to get to Starbucks and back. Make sure to buy a used copy though, Powell's will frequently have them in stock.

/books | permalink (2004/11/18 01:27)

Prime Obsession: John Derbyshire

spacer
[Amazon | Powell's]

I can say with confidence that this is the most interesting book for laymen about the Riemann Hypothesis ever written. Derbyshire has written a book that is roughly equal parts Men of Mathematics and introductory number theory. Since he's pitching at a general audience, the introduction to the complex plane and calculus can drag a bit if you've encountered them before, but eventually he's sketching results that you're not likely to have encountered unless you've taken analysis or number theory courses at an undergraduate level. The result is an extremely approachable introduction to the most famous outstanding problem in mathematics.

One area where I felt the book could have done better was in the annotations. As an example, on page 259, Derbyshire refers to two theorems that allow the number of zeta function zeros in the critical strip between two heights to be compared to the number of zeros on the critical line. This is a key component in verifying that there are no violations of the Hypothesis up to a given height above the real number line. It wouldn't be appropriate to his main text to give a detailed explanation, but even in the footnote for the section, he refers to the theorems only as "Theorem A" and "Theorem B". A Mathworld link or some other more detailed reference would have been ideal here.

At 350+ pages, Prime Obsession will keep you tied up for a while. I'd recommend it if you recognize at least 3 of the following 4 names: Euler, Ramanujan, Russell, Hilbert. You will really enjoy the book if you know what an Erdős number is, but don't have one. You will certainly be bored by it if you have an Erdős number less than 4.

/books | permalink (2004/11/17 00:52)

Imperial Hubris: Anonymous

spacer
[Amazon | Powell's]

I found this book to be something of a mixed bag. His analysis of the motives of Al Qaeda and related organizations is the most on-target, honest reporting on the men and their motives that I've seen anywhere in the American press. In particular, his discussion of the error in defining what we are facing as "terrorists" rather than "insurgents" is spot on. The "they hate freedom" rhetoric that comes from the current American administration has always been patently false, and the author gives us a good look at the strategic dangers of fighting against a misconception of the enemy. You do very different things when fighting a low-intensity, assymetrical war with a non-state opponent rather than a terrorist organization.

The analysis of the writings of Bin Laden is particularly refreshing. Bin Laden's case against the U.S. is laid out in explicit, itemized detail, and while I (obviously) can't agree with many of the points in Bin Laden's fatwas, it's clear that he could care less how easy it is to start a small business in America, or our porno industry; he would be just as pissed at a Stalinist dictatorship that executed the policies he's objecting to. The discussion of the true motives of Al Qaeda should have been up front and center in American political discussion, the "they hate freedom" sound bite notwithstanding. It doesn't take much reading or deep thought to see that this view of Bin Laden is ridiculous, but early discussions of what American policies caused the attacks on Sept. 11 were purposefully derailed by rhetoric confusing "caused" with "deserved". Immediately, this set any reevaluation of American foreign policies that have been causing mistrust and hatred of us outside the bounds of debate in any significant national forum. This has greatly hampered our ability to make reasoned judgements about whether the cost of, say, propping up repressive dictatorships in the Middle East is worth the increased enmity we earn through doing so.

The last bit of the book, where the author discusses potential remedies is where the book comes of the rails a bit for me. Most of his suggestions are good, but one of his points is that we cannot commit troops or treasure to the preventing of civil wars and genocides that don't directly bear on our national interest. "We must learn to bear with equanimity the death of others," is his way of putting it. His quote from John Quincy Adams to illustrate his point: "[America] is the well-wisher to the freedom and independence of all. She is the champion and vindicator only of her own," I find unconvincing post-Holocaust. There must be some middle ground between intervening to stop genocides in Darfur, and our current adventure in Iraq that would better serve our national self-image than blithely ignoring atrocities that don't affect people that can't harm us or buy things from us.

/books | permalink (2004/09/13 17:55)

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.