Why Apple and Microsoft can’t touch Squeak Smalltalk
Life in Mac / Windows
Software is hard… and buggy. We all know that. Unfortunately, in mainstream systems, there’s very little we can do about it, except maybe file a bug that disappears into the bureaucracy of a major corporation, probably never to be heard from again.
The Squeak Life
I’m using an application called ScriptManager to keep some simple notes. Here’s a little screenshot:
Now as software is wont to do, as soon as I went to save a profound (and long) note, an error occurred:
“What the heck is that!?” you say. “I can get cryptic error messages quite easily in Windows, thank you very much.” Except, this is no ordinary error message – it’s a debugger opened on the application’s code, so I can see exactly what went wrong. I can do this because all code – from the lowest level graphics and file libraries, to whole applications – is available to me to change as I please. And it’s all in the same simple, revolutionary (old) language – Smalltalk. I don’t have to chase the application’s C++ to the libraries’ C to… well what difference does it make – I would’ve given up already.
But in Squeak, within 2 minutes, I had fixed the error and recovered my note.
You see, by flipping through the call stack, the debugger showed me exactly which object had gone south. I was able to open and inspect this object in another tool:
It was immediately obvious that a nil entry had been stored in a set, which is not allowed. Right in the tool, I was able to delete the key:
And I was back on track – no work lost! How does that compare to your last error in OS X or Windows?
n.b. I was using a variant of Squeak called Pharo. All this info applies to all versions of Squeak.
Recent Comments