DDJ, October 2000 -- C++ Programming


FEATURES

THE C# PROGRAMMING LANGUAGE

by 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.

C++ TYPE TRAITS

by 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.

MIGRATING TO NAMESPACES

by Herb Sutter

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

TYPE-BASED ALIAS ANALYSIS

by 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.

MEASURING C++ PROGRAM EFFICIENCY

by 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.

WHAT ARE MACTIMES?

by Dan Farmer

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

MCCONNELL COMPLETE

by John Vlissides

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

THE TINI INTERNET INTERFACE

by 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

PORTABILITY IN C

by 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

USING APACHE PORTABLE RUN-TIME

by 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

CVS VERSION CONTROL AND BRANCH MANAGEMENT

by Michael Simpson

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

SOFTWARE CAREERS

TOP 10 CITIES FOR PROGRAMMERS

by Shannon Cochran

JAVA CERTIFICATION

by Marcus Green and David Hecksel

FINDING THE BEST SOFTWARE DEVELOPERS

by John Kaplan

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

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

C PROGRAMMING

by Al Stevens

Al shares what he heard at the annual Shareware Conference.

JAVA Q&A

by Karl Moss

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

ALGORITHM ALLEY

by David Wincelberg

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

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

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

PROGRAMMER'S BOOKSHELF

by 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

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Nicholas Baran

OF INTEREST

by Shannon Cochran

SWAINE'S FLAMES

by Michael Swaine