by Jean-Marie Chauvet and Marc Lerman
Although distributed objects are rapidly becoming the foundation for many applications, differences between object models continue to be a problem. Our authors show how you can use Java to glue together Microsoft's ActiveX controls and the OMG's CORBA objects.
by Jason Shankel
The Abstract Factory design pattern provides an abstract interface for object creation. This allows applications to select object implementation at run time. Jason implements the Abstract Factory pattern using C++ and the Standard Template Library.
by Mike Spertus
Automatic garbage collection is one reason languages such as Java and Smalltalk are so appealing. C++ programmers can also enjoy the benefits of efficient memory management, with tools such as the Great Circle garbage collector.
by Jagdish Bansiya and Carl Davis
QMOOD++, the automated tool presented here, supports a suite of over 30 object-oriented metrics. In addition to making it easy to collect metric data, QMOOD++ has a repository in which metric data can be stored and retrieved for later comparison.
by Mark R. Nelson
By compressing data and reducing the number of download transactions, Sun's java.util.zip package speeds the loading of applet components across the Internet. Data-compression guru Mark Nelson examines this package.
by Thomas Tewell
The native SCSI APIs for Windows 95 and Windows NT are very different from one another, making portable Win32 SCSI programming difficult. ASPIEMU, the WinASPI
32-bit DLL emulator module presented here, can make the job easier.
by Bruce D. Rosenblum
Asserts help you track and fix bugs faster, provided you understand how to use them effectively. Bruce offers ten easy rules for creating more reliable software with asserts.
by Kevin W. Smith
ObjecTime is a CASE tool that supplies a graphical modeling environment for the object-oriented design and simulation of event-driven real-time systems. Using a formal object-oriented design methodology, graphical models are entered into the ObjecTime toolset, and efficient real-time C++ source code is generated.
by Robin Rowe
Many of today's applications involve Internet protocols, MPEG-1 video, JPEG images, ActiveX components, Netscape plug-ins, and other hard-to-master programming paradigms. Robin describes an application that integrates these disparate technologies.
by Gavin Smyth
Gavin examines the GNU New York University Ada Translator, a high-quality, low-cost Ada 95 (and Ada 83) compiler that supports DOS, Windows, and various flavors of UNIX.
by Lee R. Nackman
IBM's CodeStore technology promises fast builds by taking the source code, the previous build's target files, and any other state the system chooses to save to produce the desired target files. For "incremental" builds such as these, build time is proportional to the impact of the source code changed since the last build.
by Michael Swaine
In this month's column, Michael takes a look back at the events of 1997 and challenges you with an End of Year Trivia Quiz.
by Al Stevens
Al cleans out his 1997 mailbox in this month's column and provides a forum for your comments on everything from constitutional law and the C++ Standard to Optima++ and the Florida Keys.
by Clif Berg
Cliff demonstrates Java's dynamic class-loading features by creating a remote object browser that uses RMI.
by Rod Stephens
Decision trees let you model a variety of complicated problems in a simple way. Rod shares some generic techniques that can accelerate a range of complex decision problems.
by George Shepherd and Scot Wingo
Microsoft's Active Template Library provides template implementations of many of the most common COM idioms. However, to work with the more advanced COMisms in ATL, you'll want to understand what ATL is doing behind the façade of wizardry.
by Robert Bernecky and Michael Fitzpatrick
This month, Robert examines Rick Booth's Inner Loops: A Sourcebook for Fast 32-bit Software Development, while Michael looks at Jeffrey Friedl's Mastering Regular Expressions.
by Jonathan Erickson
by you
by the DDJ staff
by Eugene Eric Kim
by Michael Swaine