1998 24.10 2000

Vol.24 n°10 (#304) october 1999

(ddj_1999_10.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.21 DATA STRUCTURES AS OBJECTS

[author : Jiri Soukup]

Improving programmer productivity becomes increasingly difficult as programs grow more and more complex. Jiri examines what's involved in writing complex programs, which include a complex interaction among objects and employ many data structures and design patterns.

p.32 IMPLEMENTING OPERATOR->* FOR SMART POINTERS

[author : Scott Meyers]

If you want to make smart pointers as behaviorally compatible with built-in pointers as possible, you should support operator->* just like built-in pointers do. Scott shows you how.

p.40 IMPROVING C++ PROGRAM PERFORMANCE

[author : Stanley Lippman]

Stanley examines the three most common strategies for C++ program speedup, then points out that it is often enough to simply review the code for inappropriate C++ programming idioms.

p.46 PSEUDO-INCREMENTAL LINKING FOR C/C++

[author : William A. Hoffman and Rupert W. Curwen]

Bill and Rupert describe a method for managing link/run time that provides fast link/run time during development, without sacrificing run time in the final product, and without the use of customized, nonstandard linking software.

p.56 THE WIRELESS APPLICATION PROTOCOL

[author : Steve Mann]

WAP, short for "Wireless Application Protocol," is a multilayer communications architecture that borrows heavily from existing Internet standards while solving problems specific to wireless networks.

EMBEDDED SYSTEMS

p.68 THE SMALL SCRIPTING LANGUAGE

[author : Thiadmer Riemersma]

Small, described as "Small-C" without the "C," is a typeless, 32-bit extension language with a C-like syntax that features fast execution speed, stability, simplicity, and a small footprint.

INTERNET PROGRAMMING

p.80 HTML THIN CLIENT AND TRANSACTIONS

[author : Jean-François Touchette]

Jean-François shows how you can implement reliable, nonrepeatable transactions using a technique that is applicable to any Java Server Development Kit-based architecture.

PROGRAMMER'S TOOLCHEST

p.88 PETE: THE PORTABLE EXPRESSION TEMPLATE ENGINE

[author : Scott Haney, James Crotinger, Steve Karmesin, and Stephen Smith]

PETE, short for "Portable Expression Template Engine," is a C++ framework that lets users easily add expression-template functionality to container classes and perform complex expression manipulations.

COLUMNS

p.99 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael takes a byte of the Big Apple, as he travels cross-country to attend MacWorld Expo NY '99, where he learned about the iBook — and more!

p.107 C PROGRAMMING

[author : Al Stevens]

In this brief column, Al reports on his visit to the 9th Annual Shareware Conference.

p.113 JAVA Q&A

[author : Evan Easton]

In C and C++, enums let you define a constrained set of options for an API parameter. But Java doesn't directly support this concept. Evan presents a workaround for this deficiency using simple generic types.

p.119 ALGORITHM ALLEY

[author : Wesley Bylsma]

Median filters are useful tools in digital signal processing. Wesley examines their use for removing impulsive signal noise while maintaining signal trends.

p.123 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

In this month's installment, Ecco deals with the problems the rich and famous have in divvying up their loot. We all should have such problems.

p.127 PROGRAMMER'S BOOKSHELF

[author : Peter N. Roth]

Peter Roth examines a trio of STL books — Mark Nelson's C++ Programmer's Guide to the Standard Template Library; David Musser and Atul Saini's STL Tutorial And Reference Guide; and Matthew Austern's Generic Programming and the STL.

FORUM

p.10 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : edited by Nicholas Baran]

p.134 OF INTEREST

[author : Nicholas Baran and Amy Lincicum]

p.136 SWAINE'S FLAMES

[author : Michael Swaine]