Home Pauline's Pages Howto Articles Uniquely NZ Small Firms Search

Dolphin Smalltalk 98

Introduction to Smalltalk: The OU course Pauline is teaching, M206, Computing: an Object-oriented Approach makes extensive use of Smalltalk as the language to get over the ideas of Object-oriented programming. Smalltalk was the first Object Oriented Language and is arguably the most mature with the fundamental definition completed in 1980. An ANSI standard is approaching completion. It is surprising it has taken so long to come to the forefront whilst less pure versions of Object Oriented languages such as C++ and Java, which was developed from Smalltalk are better known. Smalltalk is elegant in that it is based on small number of basic definitions used in a very consistent manner yet has a very rich implementation. The OU uses a heavily customised version of the LearningWorks Development Environment written by members of the original Xerox PARC development team. LearningWorks, as it title indicates, is optimised as a training environment. We have been looking for a practicle and cost effective way to exploit the Smalltalk experience gained during the course and that search led to our investigation of Dolphin Smalltalk.

Dolphin Smalltalk 98: The basic system is free and can be obtained from the Object-Arts web site but you are required to register within about 30 days to avoid the system losing the ability to save the images. Registration can be by Email if you wish to avoid giving too much information over the internet. It is also available on the cover CD of the June copy of PC magazine and that is the version discussed here. More advanced features can be purchased including the ability to distribute applications as .exe files, to network using TCP/IP and to include Smalltalk objects on web sites as with Java. It comes with a free HTML based "Education Centre" which not only covers a lot of the Dolphin specific implementation features but also has a series of basic lessons on the Language. These are not complete at present but certainly what is there quickly introduces one to the language and is very similar in concept to LearningWorks. There are also a full set of Overviews and "Patterns" to lead one through all the basic activities. The "Education Centre" can be downloaded from the Object-Arts web site as a single self extracting .exe file of under 1Mbyte and is very valuable in its own right.

The Dolphin Smalltalk Development Environment: The development environment offers all the basic facilities one would expect and they seem as easy and perhaps more intuitive to use than in the LearningWorks environment. The primary ones are the Class Browser where all the Objects are created, Workspace(s) to test and evaluate and Inspectors to drill down into the objects. If errors are made or it is deliberately invoked there is a Debugger. There are also powerful searching tools for Classes and Methods and a Resource Manager. In all it was very easy to create, test and debug simple Smalltalk objects and one gained the skills to use the tools very quickly when working through their tutorials.

Applications and User Interfaces: It was however when I came to the interfacing to the world that it became clear that Dolphin Smalltalk is very powerful. I worked through their application tutorial which led one through the creation of a cheque book balancer. This probably took 7 or 8 hours but the end result is a linking of a fairly basic Domain Model to a very sophisticated user interface compltee with a number of Windows for the opening and closing of the bank accounts and entering and editing the transactions. The View Composer is very powerful with the ability to drag, drop and size Windows, a huge number of entry methods for text, lists, buttons, check boxes etc and the ability to add pull down menus. In the last few hours of the tutorial I used many of those to create three Views (in separate Windows) onto the system and link them to the Domain Model. In Smalltalk the Domain Model and the Interface should be kept as separate as possible. Dolphin provides a framework and the tools and Objects to link very sophisticated interfaces to the underlying model. The last View (Window) took me less than an hour with little more than a picture of how it should look and a couple of hints that particular tools existed for the extra features used in that View. At the end I had a drop down menu for File Open, Save and Save As with hot key shortcuts which brought up all the usual Windows Open etc boxes as well as all the basic buttons and entry boxes. I would not have believed it could be done so fast the first time and it all worked!

Saving and Distributing Appllications: When one is creating an Application the new classes making up the Domain Model and the Views making up the User Interface can be put into "Packages" which can be separately saved and distributed for use to others using Dolphin. The application can also be made into an executable programme with all the superfluous classes etc stripped out using an optional package available for purchase.

Initial Conclusions: Dolphin Smalltalk may be free but it is a very powerful tool for development of real applications. Its Model, Presenter, Viewer framework with a vast library of Objects and powerful View Composer make the interfacing easy. The only catch I can see is that is very firmly Windows 95/98 and NT oriented - but that is where the market is. It is certainly not a cut down version of Smalltalk - quite the opposite.

Home page | Pauline's Pages | Howto Articles | Uniquely NZ | Small Firms | Search

Copyright © Peter Curtis
Most recent revision: 22nd June, 1998