In trying to explain my hobby-horse to friends and coworkers, I often find that there is a strong conceptual barrier to understanding Smalltalk. It's just too radical a departure in too many ways to construct a good elevator pitch for.
Example:
"Well, we don't really have a lot of files except when we really need them. We just do everything in memory most of the time."
One thing that's helped me explain it to the people I work with is: Squeak is a lot like Emacs. Emacs is a text editor / IDE written mostly in a dialect of Lisp. Smalltalk can be described as (with the exception of the GNU thing) an IDE implemented in a dialect of Smalltalk.
I would guess that roughly 80% of my coworkers who are engineers grok Emacs, and roughly 50% use it. I consider myself lucky:)
I have a question for the more experienced folks on the list: Is Smalltalk as well suited to the task of editing/refactoring/beautifying code in arbitrary languages as Lisp? I thought there was an IDE like that written in Smalltalk once, I could've sworn I'd read about something like that well before I knew what Smalltalk was. Might I implement the next fantastic general purpose IDE in Squeak with the same ease?
Also: What analogies have helped you explain Smalltalk to people who've not used it before?
Thanks in advance for your replies,
Ron