{logo}

October 2003
Volume 21 Number 10

The Development Process

Lean Software Development

Mary Poppendieck
You'll be pleased to know that there is a certain type of laziness that accelerates project success. Eliminating waste and knowing when to commit makes all the difference.

FEATURES

Instantiator: A (Mostly) Portable Framework for Separate Compilation of Templates

Eric Neibler
All the benefits of explicit instantiation without the limitations.

Non-Intrusive Container Initialization

Thorsten Ottosen
If you thought overloading operator was a waste of time, this technique for populating containers may change your mind.

Starting Threads in a C++ Compatible Fashion

Wolfgang Bangerth
Spawn threads the Modern C++ way.

BuildConfig: Making Build Configuration Information Available at Runtime

Drew Hall
Embed configuration information into your software the painless way.

Identity and Equality: Syntax and Semantics

Matthew Wilson
A tale of two terms and the languages that use them differently.

.NET SECTION

A .NET Bridge to a Java Virtual Machine

Jean-Yves Mengant
Java and .NET interoperability, with a little help from C++.

Threading from Managed C++

Rex Jaeschke
A thorough introduction to multithreading in a managed world.

CONTRIBUTING EDITORS

The Embedded Angle — Patterns of Thinking

Miro Samek
Names, metaphors, better programming, and the politics of language.

C++ Made Easier — Two Kinds of Performance

Andrew Koenig and Barbara E. Moo
Despite all the wondrous hardware, algorithms still matter.

Conversations — Self-Sufficient Headers

Jim Hyslop and Herb Sutter
A good C++ (and C) coding standard is that every header file should be self-sufficient. But is it always so?

DEPARTMENTS

Editor's Forum

New Products

C++ EXPERTS ON THE WEB

The New C++ — Trip Report: April 2003

by Herb Sutter
This month, Herb provides an update on the most recent C++ standards meeting and a look at the heavy library additions that have been adopted into the draft standard library extensions report.

Generic <Programming> — Smart Pointers Reloaded

by Andrei Alexandrescu and David B. Held
Andrei and guest co-columnist David Held cook up a refined smart pointer implementation based on Loki::SmartPtr. The authors discuss the challenges of policy-based design and the tradeoffs imposed by the popular policy combinations.

Common Knowledge — A Matter of Judgment

by Steve Dewhurst
Steve defends himself against the forces of zealotry and suggests that thinking is preferable to prejudice, at least while coding. Along the way he discusses using unusual switches to implement co-routines and talks about the practice of playing with dolls.

Book Review: The .NET and .COM Interoperability Handbook

by Matthew Wilson
The front cover of Alan Gordon's The .NET and COM Interoperability Handbook announces that this book is "The most in-depth guide to .NET/COM interoperability ever published." I can't affirm or dispute this claim, but I can say that Gordon's book covers a lot of material.