Workspace

Smalltalk

object messaging live environments and classic OOP thinking

Definition first

What Smalltalk means

Smalltalk is a programming language for writing exact instructions, often used for object messaging live environments and classic OOP thinking. Start with one mental model: input goes through steps and becomes output.

Minimum run factsFile main.stRun gst main.stHabit Think in messages sent to objects and inspect state live
Program

An ordered set of instructions. It reads input, follows rules, and produces output.

Value and variable

A value is data. A variable is the name you use to hold and reuse that data.

Function

A named piece of work. It takes input, does one job, and can return a result.

Runtime

Pharo or GNU Smalltalk is the place that actually runs code from main.st.

First readable code

Program output

entry point output syntax printNl
42 printNl.
Output 42

Language lineage

Smalltalk family tree

See where Smalltalk comes from, which languages feel close, and what to learn next.

roots
SimulaLisp
currentSmalltalkObject message family
familyObject message family
best used for

objects, messages, live environments, and OOP foundations

Zero base path

1Read one rule2Predict output3Type from memory4Run checklist5Repeat with one change

Question bank

Search before practice

Pick a stage or search across the open programming bank. Jump straight to the matching drill.

18 matching questions
Q 1ChoiceStage 1 definitions

Smalltalk practice 1

Smalltalk question 1. Choose the statement that matches printing a value.

Q 2ChoiceStage 1 definitions

Smalltalk practice 2

Smalltalk question 2. Choose the statement that matches naming a value.

Q 3ChoiceStage 1 definitions

Smalltalk practice 3

Smalltalk question 3. Choose the statement that matches reusable function.

Q 4ChoiceStage 1 definitions

Smalltalk practice 4

Smalltalk question 4. Choose the statement that matches basic collection.

Q 5ChoiceStage 1 definitions

Smalltalk practice 5

Smalltalk question 5. Choose the statement that matches printing a value.

Q 6ChoiceStage 1 definitions

Smalltalk practice 6

Smalltalk question 6. Choose the statement that matches naming a value.

Q 7ChoiceStage 1 definitions

Smalltalk practice 7

Smalltalk question 7. Choose the statement that matches reusable function.

Q 8ChoiceStage 1 definitions

Smalltalk practice 8

Smalltalk question 8. Choose the statement that matches basic collection.

Q 9ChoiceStage 1 definitions

Smalltalk practice 9

Smalltalk question 9. Choose the statement that matches printing a value.

Q 10ChoiceStage 1 definitions

Smalltalk practice 10

Smalltalk question 10. Choose the statement that matches naming a value.

Q 11ChoiceStage 1 definitions

Smalltalk practice 11

Smalltalk question 11. Choose the statement that matches reusable function.

Q 12ChoiceStage 1 definitions

Smalltalk practice 12

Smalltalk question 12. Choose the statement that matches basic collection.

Q 13ChoiceStage 1 definitions

Smalltalk practice 13

Smalltalk question 13. Choose the statement that matches printing a value.

Q 14ChoiceStage 1 definitions

Smalltalk practice 14

Smalltalk question 14. Choose the statement that matches naming a value.

Q 15ChoiceStage 1 definitions

Smalltalk practice 15

Smalltalk question 15. Choose the statement that matches reusable function.

Q 16ChoiceStage 1 definitions

Smalltalk practice 16

Smalltalk question 16. Choose the statement that matches basic collection.

Q 17ChoiceStage 1 definitions

Smalltalk practice 17

Smalltalk question 17. Choose the statement that matches printing a value.

Q 18ChoiceStage 1 definitions

Smalltalk practice 18

Smalltalk question 18. Choose the statement that matches naming a value.

Multiple choice

Smalltalk practice 1

Q 1Choicenew

Smalltalk question 1. Choose the statement that matches printing a value.

42 printNl.

Reference

Patterns for main.st

Pharo or GNU Smalltalkgst main.st
Recall from memoryRead a small point then write it back without looking
Trace the codeWrite variable values line by line before you run the answer
Type it yourselfCopy less type more and fix one small error at a time

entry point output syntax printNl

Program output

42 printNl.
  • Run the smallest file first
  • Print one known value
  • Check the output before adding more code

variables assignment types :=

Values and names

| total |
total := 42.
total printNl.
  • Give values readable names
  • Keep one idea per line while learning
  • Trace the value before changing it

function collection Array

Functions and collections

add := [ :a :b | a + b ].

scores := #(40 2).
scores size printNl.
  • Keep functions small
  • Return useful values
  • Use the common collection before reaching for frameworks