[squeak-dev] Emacs as a conceptual entry point to Smalltalk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Emacs as a conceptual entry point to Smalltalk

Casey Ransberger
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


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Emacs as a conceptual entry point to Smalltalk

David T. Lewis
On Sat, Aug 15, 2009 at 02:03:39PM -0700, Ronald Spengler wrote:
>
> 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?

IBM's VisualAge IDE is/was done in Smalltalk.

http://en.wikipedia.org/wiki/IBM_VisualAge

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Emacs as a conceptual entry point to Smalltalk

K. K. Subramaniam
In reply to this post by Casey Ransberger
On Sunday 16 Aug 2009 2:33:39 am Ronald Spengler wrote:
> Also: What analogies have helped you explain Smalltalk to people who've not
> used it before?
Smalltalk (image) is a computer that is assembled out of many smaller, similar
computers. The simplest computers are switch, numbers, names (symbols) and
collections (arrays). Magic is in the way they all connect and work with each
other.

Strangely, children grok this easier than adults =:o). Most books on Smalltalk
present it from a programming perspective rather than an explorer's perpective
of a recursive world of objects.

Subbu


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Emacs as a conceptual entry point to Smalltalk

David Mitchell-10
In reply to this post by Casey Ransberger
> 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?

Don't know much about refactoring in Lisp, but the Refactoring Browser
was first implemented by John Brandt and Don Roberts for VisualWorks.
At the time, I think it was the only refactoring tool available.

They were just on the Industry Misinterpretations podcast. One of the
two commented that it was a design mistake in the first version to
build a separate GUI for refactoring. Later they integrated with the
default tools.

Squeak's refactoring tools were ported from this original engine.

Martin Fowler's refactoring book used Java for examples, but at the
time there weren't any refactoring tools available. The chapter on
tools was all Smalltalk.