|
|
Major Changes in Self 4.0
Below is a list of changes and enhancements that have been made since
the last release (4.0). Only the major changes are included.
-
- This release contains an entirely new user interface and
programming environment which enables the programmer to
create and modify objects entirely within the environment, then
save the objects into files. You no longer have to edit source files
using an external editor. The environment includes a graphical
debugger, and tools for navigation through the system.
- Any Self window can be shared with other users on the net: users each
have their own cursor, and can act independently to grab and
manipulate objects simulataneously. A Self window is actually a
framed view onto a vast two-dimensional plane: users can move their
frames across this surface, bringing them together to work on the
same set of objects, or moving apart to work independently.
- A new version of the transporter, a facility for saving
objects structure into files, has been used to modularize the system.
The programming environment presents an interface to the module
system which allows for straightforward categorization of objects and
slots into modules, and the mostly-automatic saving of modules into
files. Handwritten source files have almost completely disappeared.
- The environment has been constructed using a new, flexible
and extensible user interface construction kit, based on "morphs."
Morphs are general-purpose user interface components. An
extensive collection of ready-built morphs is provided in the system,
together with facilities to inspect, modify, and save them to files.
We believe the morph-based substrate provides an unprecedented degree
of directness and flexibility in user interface construction.
- An experimental Web browser has been written in Self and is
included in the release. This browser supports collaborative
net-surfing, and the buttons and pictures from Web pages can easily
be removed and embedded into applications.
- A Smalltalk system is included in Self 4.0. This system
is based on the GNU system classes, a translator that reads Smalltalk
files and translates them to Self, and a Smalltalk user interface.
The geometric mean of four medium-sized benchmarks we have tried
suggests that this system runs Smalltalk programs 1.7 times faster
than commercially available Smalltalk on a SparcStation.
- Significant engineering has been done on the Virtual Machine
to reduce the memory footprint and enhance memory management. For
example, a 4.0 system containing a comparable collection of objects
to that in the 3.0 release requires 40% less heap space. A SELF-level
interface to the memory system is now available that enables SELF
code to be notified when heap space is running low, and to expand the
heap.
- The privacy syntax has been removed; in the previous release
it was accepted but privacy was not enforced. The concept of privacy
still exists, and is visible in the user interface, but is supported
entirely through the annotation system.
SELF currently runs on SPARC-based Sun workstations using Solaris 2.3
or later, or SunOS 4.1.x. The compiler is an improved version of the
one used in 3.0.
System requirements
To run SELF you will need a SPARC-based Sun computer or clone running
SunOS 4.1.X or Solaris 2.3 or 2.4.
To use the programming environment you will need to run X Windows
version 11 or OpenWindows on an 8-bit or deeper color display. The X
server need not reside on the same host as SELF.
The SELF system as distributed, with on-line tutorial, Web browser and
Smalltalk emulator, requires a machine with 48Mb of RAM or more to run
well.
The user interface makes substantial demands of the X server. A
graphics accelerator (such as a GX card) improves the responsiveness of
the user interface significantly, and therefore we recommend that you
use one if possible.
We hope that you enjoy using Self as much as we do.
-- The Self Group
July 10, 1995
|