DDJ, April 2008
Algorithms



FEATURES

Dr. Dobb's Excellence in Programming Award
Michael Swaine
The recipient of this year's Dr. Dobb's award is Bjarne Stroustrup, for his work on developing C++.

Fast String Search on Multicore Processors
Daniele Paolo Scarpazza, Oreste Villa, and Fabrizio Petrini
Multicores are the future, and you need to start mapping basic algorithms onto this new hardware.

The Byzantine Generals Problem
Mark Nelson
The Byzantine Generals Problem is an agreement protocol that's built around an imaginary General who makes a decision to attack or retreat, and who must communicate his decision to his lieutenants.

Optimizing Math-Intensive Applications with Fixed-Point Arithmetic
Anthony Williams
Understanding and using fixed-point math can result in real performance gains.

Random Numbers in a Range Using Generic Programming
Michael Orlov
The Greatest Common Divisor algorithm computes the maximal number that divides its two arguments—and can be used as an efficient random-number generator.


COLUMNS

The Agile Edge
Scott W. Ambler
Most articles focus on the success stories and few on the failures, a wrong that Scott hopes to right this month.

Effective Concurrency
Herb Sutter
Herb considers how to set superlinear speedups by harnessing more resources.


DEPARTMENTS

Hmmmm
Jonathan Erickson
Does geography matter anymore?

Alia Vox
Stephen Beneteau
The value of SOA is clear. But will it succeed in the long run?

Developer Diaries
edited by Michael Swaine
Profiles of programmers, descriptions of developers.

Conversations
Deirdre Blake
Jon Bentley talks about one of his favorite topics—algorithms.

Swaine's Flames
Michael Swaine
Some things change, but Macworld remains the same. It's just the devices that change.