1999 25.10 2001

Vol.25 n°10 (#317) october 2000

(ddj_2000_10.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.21 THE C# PROGRAMMING LANGUAGE

[author : Scott Wiltamuth]

Microsoft's C# programming language promises the power of C++ with the productivity of Visual Basic. Scott builds a Stack class that demonstrates important aspects of the language.

p.38 C++ TYPE TRAITS

[author : John Maddock and Steve Cleary]

Generic programming does not have to sink to the lowest common denominator. And therein lies the value of type traits.

p.48 MIGRATING TO NAMESPACES

[author : Herb Sutter]

If you aren't familiar with C++ namespaces, you should be because most compilers now support them.

p.54 TYPE-BASED ALIAS ANALYSIS

[author : Mark Mitchell]

Aliasing issues make it difficult for compilers to generate code that runs as fast as you might hope. Luckily, the C++ type system makes clear what can and cannot alias.

p.62 MEASURING C++ PROGRAM EFFICIENCY

[author : Derek Truong and Allen Chan]

Our authors describe an interactive C++ metrics tool that makes automated metrics gathering a natural part of the development process.

p.68 WHAT ARE MACTIMES?

[author : Dan Farmer]

MACtimes are perhaps one of the most potentially valuable forensic tools in your digital detective toolkit. Dan shows how to use them.

p.76 MCCONNELL COMPLETE

[author : John Vlissides]

Steve McConnell takes time to talk with us about what it means to be a programmer, entrepreneur, consultant, educator, author, and editor.

p.82 THE TINI INTERNET INTERFACE

[author : Al Williams]

Need to build an Internet appliance? Dallas Semiconductor's Tiny InterNet Interface (TINI) board — that includes a Java-capable CPU, 512 K of nonvolatile memory, and an Ethernet transceiver — may be the place to start.

EMBEDDED SYSTEMS

p.92 PORTABILITY IN C

[author : James Metzger and William Wright]

James and William present techniques they've developed to achieve portability of a real-time signal processing software system consisting of over 300,000 lines of C code.

INTERNET PROGRAMMING

p.100 USING APACHE PORTABLE RUN-TIME

[author : Ryan Bloom]

Ryan examines the Apache Portable Run-Time, a library that is designed to address the Apache web server's portability problems.

PROGRAMMER'S TOOLCHEST

p.108 CVS VERSION CONTROL AND BRANCH MANAGEMENT

[author : Michael Simpson]

Michael describes how branching and merging works in CVS, a widely used GNU source-code control system.

COLUMNS

p.117 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Zombies come out of the woodwork as Michael looks at the history of the personal computer.

p.123 C PROGRAMMING

[author : Al Stevens]

Al shares what he heard at the annual Shareware Conference.

p.135 JAVA Q&A

[author : Karl Moss]

How can you measure Java code performance? Karl examines techniques for instrumenting Java code at run time.

p.147 ALGORITHM ALLEY

[author : David Wincelberg]

David first presents a simple alphanumeric-ordering function, then describes another function suitable for comparing long filenames.

p.155 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

Saving the X-mammal is the challenge that Liane and Dr. Ecco face this month.

p.159 PROGRAMMER'S BOOKSHELF

[author : Peter N. Roth]

Books about the C++ STL are Peter's focus, as he examines STL for C++ Programmers, by Leen Ammeraal; Data Structure Programming, by Joseph Bergin; Designing Components With The C++ STL, by Ulrich Breymann; Data Structures In C++ Using The STL, by Timothy Budd; and Using the STL, by Robert Robson.

FORUM

p.10 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : Nicholas Baran]

p.166 OF INTEREST

[author : Shannon Cochran]

p.168 SWAINE'S FLAMES

[author : Michael Swaine]