[up]

Quick 30 Minute Introduction

Ok, so you really don't want to spend a lot of time to see whats in here for you. Give yourself 30 minutes. Be aware, that thats a short time, only enough to get a very rough feeling on what this is all about. We'll try anyway, to get you hooked...

There are multiple Smalltalk systems around, but the differences are much smaller than usually though; they all follow the same principles, but differ on details in the implementation (speed), the GUI (experimental vs. conservative) and intended target users (experimental vs. business). If you know one Smallalk, you should not have problems to move on and feel comfortable in any other.

Contents

Short Overview on Smalltalk

Smalltalk is different ! It is not just another programming language, but a combination of a powerful IDE, a highly reflective and dynamic programming language, and a comprehensive, well proven class library.

Smalltalk is a much more dynamic environment than anything you've ever seen before.

The Smalltalk language is a programmer's dream: The class library is mature and well proven

My First Hello World GUI Application

This chapter demonstrates in 5 minutes, how to create a little demo application with a GUI. The coding is not explained, as the goal is to give you an impression of how an experienced Smalltalk programmer can make use of the tools.

In the Launcher, click on the "open SystemBrowser" button:

to open our most useful tool, the SystemBrowser. The SystemBrowser is the programmer's main interface to write, change and execute programs.

First notice, that the systemBrowser is not file oriented; you are presented with classes and methods as individual objects, not with files. Smalltalk does not normally need and use files for its operation.

Second, notice that classes can be shown in various different organisations: by name, inheritance, package, namespace and by category. The default and the one also shown in the above picture is "by category". This organization allows you to find classes by their function, even if you don't know the inheritance or the exact name. Of course, there are also functions to search for a class by various criteria - especially, by a matching name pattern, or if it calls for an operation in its code, or if it references another part part of the system.

The top panes are named class-category-list, class-list, method-category-list and method-list. They are used to select the class and method (= function). There is also a variable list, which we ignore for now. When anything is selected in the upper area, the corresponding code is shown in the code-view area at the bottom.

To create a new class, right-click on the class-list-pane (the second list-pane in the top row), and select the "New-Application" menu item:

The following initial class definition template is shown in the code-view:

    ApplicationModel subclass: #NewApplication1
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Applications'
Its only a template; you have to change and fill in the details as required: change the offeres "NewApplication1" into a better name; for example "HelloWorldApplication". To do this, select the text which is to be changed with the mouse pointer, and type in the new name. When you are finished, select the "Accept" menu item from the codeView's right-button-menu.

You will be asked if you want the browser to generate some standard application framework code for you. Confirm by clicking "yes" (or "OK").

Some Smalltalk Coding

A Web Application

Deploying

Where to go from here


Continue in "Getting Started".

[stx-logo]
Copyright © 1996, 1997 Claus Gittinger Development & Consulting
Copyright © 1996, 1997 eXept Software AG

<cg@exept.de>

Doc $Revision: 1.3 $ $Date: 2009/09/21 13:52:21 $