Atom vs Smalltalk


I’m curious about one question: How does Atom compare to a Smalltalk environment? Anybody with Smalltalk experience around? I don’t have much of it, but I did install Squeak and was blown away.

I do see one difference: Atom is not image-based, indeed, so restarting it will reinitialize everything instead of remembering everything on the heap.
But like Emacs and Smalltalk, you can run code affecting the editor, and like Smalltalk, the whole GUI is implemented in the same language so it is very hackable.
So, what else?

This was triggered by the discussion from Atom is so powerful that it blows my mind:


Haven’t used Atom but I’m quite familiar with Squeak (and Pharo, a Squeak offshoot). These Smalltalk environments are - as the Brits like to say - singular. When you’re in the Squeak enviroment, you’re in a place where everything functions under a single paradigm, Smalltalk objects written in Smalltalk. The Squeak environment itself is written in Smalltalk and all the source is present - part of the Smalltalk image in which you’re working. Version control, which is built into the environment, versions language constructs, methods, class definitions (e.g., instance variables) and not OS constructs: files. When an error occurs during execution, the debugger pops up where you can modify the code (anywhere in the call stack) and resume execution.

The first time I experienced this environment, I too was blown away … and for good reason - NOTHING else compares to it.