1996 22.08 1998

Vol.22 n°8 (#268) august 1997

(ddj_1997_08.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 THE SGI STANDARD TEMPLATE LIBRARY

[author : Matthew H. Austern]

C++ programmers were introduced to generic programming in 1994, when Hewlett-Packard released the Standard Template Library (STL), which was subsequently adopted as part of the C++ Standard Library. Late last year, Silicon Graphics released a new version of the STL. Matt, along with Alexander Stepanov and Hans Boehm, was one of its coauthors.

p.30 THE EMPTY MEMBER C++ OPTIMIZATION

[author : Nathan Myers]

The STL is flexible, but does it use too much memory? Nathan shows how the STL-and you-can use empty subobjects without bloating your data requirements.

p.34 C++ INTERFACES FOR C-LANGUAGE LIBRARIES

[author : Larry E. Baker, Jr.]

C++ programmers must sometimes use legacy C support libraries, even though C and C++ styles don't always mix. Larry presents a C++ template wrapper that takes a C hash-table library into the world of C++.

p.38 DYNAMIC DESIGN PATTERNS IN OBJECTIVE-C

[author : William Grosso]

Language choice can affect the design patterns you use and how your applications are structured. William examines patterns sometimes used with Objective-C, but not commonly used (or used differently) with C++.

p.46 THE JAVA NATIVE METHOD INTERFACE AND WINDOWS

[author : Andrew Wilson]

The JDK 1.1 implements a native calling convention-the Java Native Method Interface (JNI)-that makes it possible to do more than just convert types between Java and C++.

p.52 INSIDE THE PENTIUM II MATH BUG

[author : Robert R. Collins]

Two days before Intel's biggest processor announcement in years, a math bug in the Pentium Pro and Pentium II came to light. Robert takes you inside the Dan-0411 "flag erratum," and tells how the story unfolded.

EMBEDDED SYSTEMS

p.58 RETARGETABLE CONCURRENT SMALL C

[author : Andy Yuen]

Andy extends Concurrent Small C (presented last year at this time) by building a version called "Retargetable CSC" (RCSC) that is retargetable, with this port targeting the 8051 microcontroller.

INTERNET PROGRAMMING

p.72 WRITING ACTIVEX ISAPI EXTENSIONS

[author : Al Williams]

The traditional approach to creating active web pages is to write CGI programs that accept input (from a form or URL) and send output to web browsers. If you use Microsoft's Internet Information Server (IIS), you can use an ISAPI DLL. Al mixes C++ and Visual Basic to create an ISAPI module that lets you write ActiveX ISAPI extensions.

PROGRAMMER'S TOOLCHEST

p.78 ADVANCED OBJECT-ORIENTED FEATURES FOR C/C++

[author : Blake McBride]

Dynace, the development tool Blake presents here, adds to C or C++ object-oriented capabilities previously available only in languages such as Smalltalk and CLOS-but without the overhead normally associated with those environments.

p.84 CONCURRENT DATABASE COMMANDS AND C++

[author : Harold R. Kasperink and John C. Dekker]

Mapping design problems to programming problems leads to software solutions that are easy to extend and reuse. Our authors explain how they resolved multithreaded porting problems using design patterns. The database they use is Oracle and the database transactions are implemented using Oracle ProC as an embedded database command language.

COLUMNS

p.99 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Irony is music to Michael's ears in this month's column.

p.103 C PROGRAMMING

[author : Al Stevens]

Al reports on his sojourn to Jim McCarthy's TeamworX BootCamp, a one-week workshop about "how to deliver great software on time every time."

p.109 JAVA Q&A

[author : Clif Berg]

Signed Java applets provide a means of verifying the authenticity of a program. Cliff describes how to create them using JAR Files.

p.113 ALGORITHM ALLEY

[author : Jonathan Pincus and Jerry Schwarz]

Sometimes, traditional sorting is overkill-you only need to rearrange things to satisfy a few conditions. Our authors show how topological sorting does only as much as you need.

p.119 UNDOCUMENTED CORNER

[author : George Shepherd and Scot Wingo]

George and Scot continue their examination of Microsoft's Active Template Library, this month looking at the heart of ATL, including its support for multithreading and its various implementations of IUnknown.

p.125 PROGRAMMER'S BOOKSHELF

[author : Michael E. Fitzpatrick and Laurence Vanhelsuwe']

Michael Fitzpatrick examines Dynamics of Software Development, by Jim McCarthy, while Laurence Vanhelsuwe' looks at The Unicode Standard, Version 2.0.

Forum

p.10 LETTERS

[author : you]

p.16 NEWS & VIEWS

[author : the DDJ staff]

p.128 OF INTEREST

[author : Eugene Eric Kim]

p.136 SWAINE'S FLAMES

[author : Michael Swaine]