July From the Pages Features

SPECIAL FEATURE
C Family of Languages
Interview With James Gosling, Dennis Ritchie, and Bjarne Stroustrup

Interviewed by Herb Sutter
The C family of languages—Java, C, and, C++—has dominated commercial programming for over 30 years. Today, all three languages are at a turning point. What has made these languages so dominant? What can we expect to see in the near future? This landmark "state of the union" interview, published simultaneously in Java Report and the July/August issue of C++ Report, brings together three legends who hardly need an introduction: James Gosling, Dennis Ritchie, and Bjarne Stroustrup, the creators of Java, C, and C++.

TECHNICAL FEATURES
ENTERPRISE JAVA
JavaPush: Performance is the Main Benefit

Shawn Bedard
JavaPush is a 100% pure Java solution for pushing Java applications or applets to the user. It uses only well-known algorithms and Java technologies. This makes JavaPush more of a programming technique than a separate application. Shawn outlines some advantages of JavaPush and then describes the application in which it was used.

POWER JAVA
Distributed Object Graph Traversal, Preparation, and Transport

Jeremy Chan
Jeremy describes a solution to the general problem of object graph traversal, preparation, and transport within a distributed application. All distributed applications require some protocol for the transport of data between communicating processes. The nature of the application determines the extent to which the efficiency of the protocol is favored over its ease of use.

POWER JAVA
Simplifying MQSeries With the Facade Pattern

Syed Humayun Rayhan
There is a considerable learning curve associated with IBM's MQSeries Java class library APIs. Typically 80% of the time you will find yourself writing the same boilerplate code each time you build an application. You could use the traditional code reuse technique—cut-and-paste. Syed presents ways to prevent code reuse.

JAVA PRIMER
Pattern for Developing a Finite State Machine

Sameer Bhatia
There is often a need to build a system that moves from state to state based on a set of external events. The transition from one state to another based on a predefined external event constitutes a finite state machine. The system is in a well-defined state—it can never be in an unknown or undefined state.