Squeak tutorial

A nice Squeak tutorial.

it has been awhile since we mentioned Squeak, but there were days when it was mentioned quite regularly...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Nice tutorial.

I've downloaded Squeak. I've put it in a nice directory. I run it. I clicked on the above link. I read the tutorial. It said 'load "smalltalk1.st". I tried to find it. I clicked the various links in the file list...but it was so slow, I ended up clicking all over the window like mad. Then I quit Smalltalk. I couldn't find the file mentioned.

On theory, it sounds nice. In practice, it sucks. It is way too slow; fonts are ugly; the window system sucks because it reminds me of a Nintendo (read: for 3 year olds) game; having to press ALT-P for each expression to be evaluated is a pain in the you-know-what; Smalltalk syntax is very difficult to follow for non smalltalkers (I had no problem picking up LISP though from the first minute); the GUI is totally different from the norm, not following established practices of the platform I am used to working with.

I don't understand why Smalltalk has to be an O/S, a GUI, and a file system at the same time. Why isn't it a simple programming language that I can compile programs for from the command line, just like the rest of the languages? then I would pick a way of working that suits my style, instead of everything forced down my throat like Smalltalk does.

And something else: please stop presenting 'hello world' as an elegance benchmark. It undermines our intelligence as software engineers.

More importantly, when I look

More importantly, when I looked at Squeak 12 months ago, all documentation and tutorials were woefully out of date, thus making even making a start impossible, as this is not a system where you can start from scratch and bolt-on some well-supported external libraries.

Smalltalk the language

"I don't understand why Smalltalk has to be an O/S, a GUI, and a file system at the same time."

Don't forget Smalltalk the language! It tries to be that way since it was a language invented for the exact purpose of handling GUIs.

In any case, you could try GNU Smalltalk.. In GNU tradition, it doesn't come with GUI processing in mind, and you can use it to hack guick scripts using Smalltalk the language and just learn it.

If you like Smalltalk, you'll probably enjoy Ruby as well. Syntax is a lot less partisan...

When I tried GNU Smalltalk a

When I tried GNU Smalltalk a year ago attempting to use the inspector to try to understand the class library - the documentation is also woefully out of date - it would crash.

You could try Slate, as well

Shameless plug:

I started the Slate project partly as a response to the valid concern of coupling of the various environment choices in Squeak and other Smalltalks. I spent a couple of years as the founder and facilitator of Squeak's IRC channel for helping newcomers, so I was exposed to many concerns. Slate is currently command-line based, and the upcoming UI framework will not have this over-arching dominance of the system's design and not take away from this more bare and lightweight usability. It also abstracts over the underlying rendering choice (GUI widget sets, OpenGL, PostScript, or even SVG/XHTML), and so on. We take great care to ensure that design decisions are not coupled in Slate - in fact it is a primary goal to develop the genericity of the whole environment, and the primary reason for creating this system.

But I should also note that Squeak does have REPL server packages, and there is new work in teasing UI logic out of the rest of the system.

However, the kind of Smalltalk-80 code that is comfortable in a REPL-based entry system is different from what you use in the graphical tools.


woefully out of date - a year ago :-)

crash - did you report the bug?


"I don't understand why Smalltalk has to be an O/S, a GUI, and a file system at the same time"

What are the possibilities?
- maybe they didn't have an O/S or GUI
- maybe it's more portable
- maybe it's more productive
- maybe it's a 30 year-old experiment

"Smalltalk syntax is very difficult to follow for non smalltalkers"
Did you read I Can Read C++ and Java But I Can’t Read Smalltalk (pdf)?

"the GUI is totally different from the norm"
Don't confuse Squeak with Smalltalk - the mainstream Smalltalk implementations support the usual platform GUIs.

There is a little "download t

There is a little "download the source code"
on the tutorial page:

* http://www.bitwisemag.com/src/smalltalk/smalltalk1.st