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. <div>
<br></div><div>Example:</div><div><br></div><div>"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."</div><div><br></div><div>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.</div>
<div><br></div><div>I would guess that roughly 80% of my coworkers who are engineers grok Emacs, and roughly 50% use it. I consider myself lucky:)</div><div><br></div><div>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?</div>
<div><br></div><div>Also: What analogies have helped you explain Smalltalk to people who've not used it before?</div><div><br></div><div><br></div><div>Thanks in advance for your replies,</div><div><br></div><div>Ron</div>