DDJ, February 2000 -- Java Programming


FEATURES

GJ: A GENERIC JAVA

by Philip Wadler

Generic Java (GJ) adds generic types to the Java language. GJ is compatible with Java, the Java Virtual Machine, and existing libraries. It is also efficient, in that information about generic types is maintained only at compile time, not run time.

COLLABORATIVE APPLICATIONS AND THE JAVA SHARED DATA TOOLKIT

by Joshua Fox

The Java Shared Data Toolkit is designed to help you write distributed collaborative applications so that groups of users can work simultaneously on a common task.

JAVA REFERENCES

by Jonathan Amsterdam

Java lets a program refer to objects without preventing those objects from being garbage collected. Jonathan explains how references work and presents useful abstractions that make working with them easier.

PYTHON SERVER PAGES: PART II

by Kirby W. Angell

Last month, Kirby introduced Python Server Pages and looked at how HTML pages with embedded scripts are translated into compilable JPython code. This month, he examines the Java Servlet side of PSP.

JAVA, XML, & LITERATE PROGRAMMING

by Andrew Dwelly

Marius, the system Andrew presents here, implements some of Donald Knuth's ideas about literate programs, but uses Java as its programming language, with HTML as the output. In the process, Marius leverages the power of XML.

OPENCARD FRAMEWORK APPLICATION DEVELOPMENT

by Vesna Hassler and Oliver Fodor

The Personal Computer/Smart Card Interface (PC/SC) and OpenCard Framework emphasize the interoperability of smartcards and card terminals, and the integration of those card terminals into Microsoft Windows.

EMBEDDED SYSTEMS

THE REAL-TIME SPECIFICATION FOR JAVA

by David Hardin

The Real-Time Specification for Java promises to bring the benefits of Java to real-time developers. David examines the requirements and design decisions that led to the Real-Time Specification for Java, and provides practical examples of its use.

INTERNET PROGRAMMING

WEBRELAY: A MULTITHREADED HTTP RELAY SERVER

by Peter Zhang

Webrelay is a freely available multithreaded HTTP relay server that authenticates that clients are legitimate users before they are connected to vendor web servers.

PROGRAMMER'S TOOLCHEST

VISUALIZING NETWORK RESOURCES USING VISIO

by Chris Trueman

Visio is a generic diagram construction tool that just happens to include a powerful visualization engine. Chris uses that engine to write a C++ tool that generates diagrams to represent all the available resources on a Windows network.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

You won't need to go to the state of "iDenmark" to know that something smells. And you can bet Michael nose what he's talking about this month.

C PROGRAMMING

by Al Stevens

Al resurrects S, a homebrew C variant he implemented a decade ago -- back before the days of Javascript and VB. His updated version is written in C++, and includes a shell program that tests the interpreter by loading and executing text source-code files written in the S language.

JAVA Q&A

by Ethan Henry and Ed Lycklama

Our authors show what you can do when Java exhibits classic memory leak behavior -- unbounded memory growth leading to poor performance and eventually crashing.

ALGORITHM ALLEY

by Michael J. Wiener

Michael presents some key optimizations (with source-code examples) that can be made to make RSA algorithm as fast as possible.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Landmines are a nasty piece of work, indeed. Ecco and Liane need to come up with ways to make removing them a safer proposition.

PROGRAMMER'S BOOKSHELF

Gregory V. Wilson

This month, Greg examines Mastering Algorithms with Perl, by Jon Orwant, Jarkko Hietaniemi, and John Macdonald, Programming for the Java Virtual Machine, by Joshua Engel, Java for Engineers and Scientists, by Stephen J. Chapman, Introductory Java for Scientists and Engineers, by Richard Davies, the C++ Toolkit for Scientists and Engineers, by James T. Smith, Quantum Computing and Communications, by Michael Brooks, and Steven Roman's Learning Word Programming.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

edited by Nicholas Baran

OF INTEREST

by Nicholas Baran and Amy Lincicum

SWAINE'S FLAMES

by Michael Swaine