1995 21.08 1997

Vol.21 n°8 (#250) august 1996

(ddj_1996_08.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.16 BEYOND C++ TEMPLATES

[author : Fred Wild]

Templates are just one approach to achieving code reuse in C++ programs. Fred examines templates and a number of other forms of instantiation some of which you may be acquainted with, and others you may not.

p.24 OBJECT-ORIENTED INTERPROCESS COMMUNICATION

[author : Stephen Blaha]

Stephen shows how to place IPC services in C++ wrappers. He then turns his attention to Java socket classes, which illustrate an alternative object oriented interface.

p.32 STL ALGORITHMS

[author : Dan Zigmond]

STL generic algorithms are independent of any particular data representation. Given a particular data structure that meets the algorithm's access requirements, they are as efficient as an algorithm hand-coded for that data structure.

p.38 LINEAR ALGEBRA WITH C++ TEMPLATE METAPROGRAMS

[author : Todd Veldhuizen and Kumaraswamy Ponnambalam]

A C++ technique called "template metaprograms" makes it possible for you to exploit the interpretive nature of the C++ template mechanism to write metaprograms that are interpreted at compile time and generate specialized algorithms as their output.

p.46 DYNAMIC MESSAGE PASSING IN C++

[author : Pierre Arnaud]

Pierre implements Objective-C-like dynamic message passing in C++, using a set of macros and classes. This project provides a set of operating-system-independent classes that let you build and modify a user interface with only a few mouse clickseven from within a running application.

p.52 INSIDE SOFTRAM 95

[author : Mark Russinovich, Bryce Cogswell, and Andrew Schulman]

Our authors examine "RAM doubling" technology, then look inside SoftRAM 95 to find out what it does and, more importantly, does not do.

EMBEDDED SYSTEMS

p.62 CONCURRENT SMALL C

Andy Yuen

NETWORKED SYSTEMS

p.74 NETWORKING CD-ROMs USING CACHED CD IMAGES

[author : John H. McCoy]

John describes a cache driver that reads cached CD images and makes them appear as CD-ROM drives. The images can be located on either the client machine or on a network server if the client accesses the network via a real-mode redirector rather than a shell.

EXAMINING ROOM

p.78 EXAMINING SYMANTEC'S CAFE

[author : Anil Hemrajani]

Cafe is a 32-bit standalone Java visual-development environment available for both Windows and Macintosh. Anil uses it to develop a typical Java appleta phonebook for retrieving information about a person at a given Web site using their first name, last name, telephone number, fax number, or e-mail address.

PROGRAMMER'S WORKBENCH

p.84 BUILDING AN EXPERT SYSTEM

[author : Gregg Weismann]

Gregg describes an expert system that helps in the installation and operation of network and network/modem combo cards. He developed the system using Borland C++, Microsoft Assembler 6.1, and Amzi! Prolog+Logic Server.

COLUMNS

p.101 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Between reading Dorfman and Ghosh's Developing Games that Learn and catching up on his correspondence, Michael takes time to attend Apple's World Wide Developer's Conference.

p.105 C PROGRAMMING

[author : Al Stevens]

Interviewing for a job as a C++ programmer? Al has some tips for you, after which he discusses the Windows 95 Start Menu.

p.111 JAVA Q&A

[author : Cliff Berg]

How do you send e-mail from a Java applet? Cliff shows you how.

p.115 ALGORITHM ALLEY

[author : Mark R. Nelson]

The suffix trees Mark describes here precalculate data structures for fast string searches. To illustrate suffix trees, he presents a program that reads in a string of text from standard input, then builds a tree.

p.121 UNDOCUMENTED CORNER

[author : Scot Wingo and George Shepherd]

George and Scot look inside OLE control property pages so you can see what's happening behind the scenes. They also present a workaround for adding parameterized properties to an OLE control.

p.131 PROGRAMMER'S BOOKSHELF

[author : Phil Mitchell]

Phil examines Andrew Hodges' Alan Turing: The Enigma and Bruce Blum's Beyond Programming: To a New Era of Design.

FORUM

p.8 LETTERS

[author : you]

p.144 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.134 OF INTEREST

[author : Monica E. Berg]