Here is an example of the 100 doors problem:
doors := [ :count | "Initialize the array of doors to 0 (closed)" a := Array new: count withAll: false. "Process the doors" a withIndexDo: [ :each :index | index to: (a size) by: index do: [:this | a at: this put: (a at: this) not ] ]. "Print out the results" 1 to: count do: [ :n | Transcript show: 'Door #', n, ' is '; show: ((doors at: door) ifTrue: [#open] ifFalse: [#closed]); show: '.'; cr] ]. doors value: 100.
Smalltalk is a powerful environment for exploring many different elements of computer programming, including rich media such as audio and user interfaces. Smalltalk code is generally concise and easily readable due to its message based syntax.
Smalltalk provides an integrated code browser and debugger which are incredibly powerful and easy to use. This makes Smalltalk a highly productive environment where code can be modified and fixed in the running application.