Software's The Bottleneck...

Hardware and software advances go hand in
hand of course, but it’s generally accepted (and natural) that software lags
hardware. In particular, current software (tools, frameworks, infrastructure,
etc) is lagging somewhat in its ability to fully leverage the advances in hardware
capabilities.

A case in point is the recent advances
using hyper-threading and multi-core CPU architectures. This has big
implications for software development since concurrency is no longer a
nice-to-have, it’s actually required so the software can keep up. Who’d
want to use software that only uses 10% of your available CPU power?

Herb Sutter’s excellent article is
well worth a read - “Concurrency is the next major revolution in how we
write software”

www.gotw.ca/publications/concurrency-ddj.htm