Program design in the context of object-oriented language (Java), with the focus on the design of class hierarchies to represent data and on designing methods for these hierarchies.
SISC is an extensible Java based interpreter of the algorithmic
language Scheme. SISC uses modern interpretation techniques, and
handily outperforms all existing JVM interpreters (often by more than
an order of magnitude).
In addition, SISC is a complete implementation of the language. The
entire R5RS Scheme standard is supported, no
exceptions. This includes
a full number tower including complex number support, arbitrary
precision integers and floating point numbers, as well as hygienic R5RS
macros, proper tail recursion, and first-class continuations (not just
the escaping continuations as in many limited Scheme systems). SISC
also attempts to implement the standard as correctly as possible,
while still providing exceptional performance.
The Crossing borders series looks at how non-Java™ languages solve major problems and what those solutions mean to Java developers today. This article explores continuations, the technique behind frameworks like Smalltalk's Seaside. Continuation servers make it much easier to build Web a
We all know that Quicksort is one of the fastest algorithms for sorting. It's not often, however, that we get a chance to see exactly how fast Quicksort really is. The following applets chart the progress of several common sorting algorithms while sorting an array of data using in-place algorithms.
Exceptions provide a powerful mechanism for handling error conditions in Java programs. However, many developers don't spend enough time thinking about exceptions during the design process; instead, they let the development process drive the program's use of exceptions. In this series, Brian Goetz reviews some best practices for using exceptions effectively. In Part 1, he offers guidelines on properly incorporating error handling into classes at design time.
Reconstructing an object from a stream requires that the object first be written to a stream.
If you've been following Soma Ghosh's articles here on the Wireless zone, you've learned how to use your Java skills to build simple applications for handheld devices. Now how do you link those devices to the outside world? In this article, Ghosh discusses the javax.microedition.io and java.io classes that lie at the heart of J2ME networking. You'll learn how J2ME applications handle URLs and acce
This is the first installment of a comprehensive four-part introduction to Java 2 Micro Edition (J2ME) and the Mobile Information Device Profile (MIDP). The series will consist of two tutorials and two companion articles. In this first tutorial, you will learn about the essential components of J2ME, with a primary focus on MIDP. The focus is on MIDP's high-level user interface, with a step-by-step