Looking for smalltalk Answers? Try Ask4KnowledgeBase
Looking for smalltalk Keywords? Try Ask4Keywords

smalltalkGetting started with smalltalk


This section provides an overview of what smalltalk is, and why a developer might want to use it.

It should also mention any large subjects within smalltalk, and link out to the related topics. Since the Documentation for Smalltalk is new, you may need to create initial versions of those related topics.

Hello World in Smalltalk

Transcript show: 'Hello World!'.

This will print Hello World! to the Transcript window in Smalltalk. Transcript is the class that allows you to print to the Transcript window by sending the message show: to that object. The colon indicates that this message requires a parameter which is in this case a string. Strings are represented by single quotes and single quotes only since double quotes are reserved for comments in Smalltalk.

Installation or Setup

The name Smalltalk usually refers to ANSI Smalltalk or Smalltalk 80 (of which the first is based on). While most implementations are close to the standard, they vary in different aspects (usually referred to as dialects).

Each implementation has it's own method of installation.

Well known FOSS implementations are:

Pharo Started as a Squeak fork. (Windows/Linux/Mac OSX). Pharo has its own documentation entry at Stackoverflow Documentation, so please take a look there

Squeak (Windows/Linux/Mac OSX)

GNU Smalltalk (Windows/Linux/Mac OSX)

Dolphin Smalltalk Originally commercial, now free open source. (Windows only)

Cuis Smalltalk A Squeak fork with a focus on reducing system complexity.

Commercial Smalltalks include:

VisualWorks/Cincom Smalltalk Free trial available.

VisualAge Smalltalk Originally by IBM, now Instatiations. Free trial available

Smalltalk/x (Free for personal use?)

GemStone/s Free community edition available.

Other Smalltalk dialects

Amber Smalltalk A Smalltalk that lives in the browser.

Redline Smalltalk Smalltalk for the JVM.

List of Smalltalk implementations on world.st