[Pharo-project] New IDE alternative (was Misc. newbie questions)

Frank Shearar frank.shearar at gmail.com
Fri Jan 20 07:17:11 EST 2012

On 20 January 2012 03:37, Jimmie Houchin <jlhouchin at gmail.com> wrote:
> On 1/17/2012 2:57 PM, Frank Shearar wrote:
>>  Emacs + SLIME = image-based, interactive development. As image-based
>> as you'd like, at least. Eclipse + Cusp = image-based development:
>> you're connecting to a running Common Lisp image, which you can
>> snapshot and restore any time you like (just like choosing to work in
>> a built image or in a persistent one). IDE and "living world" are
>> orthogonal concerns.
> Ok. I have no experience in this realm. It may be exactly as you say. But
> within the context of this discussion and this discussion occurring in a
> Smalltalk forum I want to bring up a common Smalltalk experience.
> One thing that I dearly love in my Pharo environment is this.
> I have multiple browser windows open with code I am viewing or editing.
> I have one or more workspaces open with code and objects that I am
> experimenting with or exploring their values to learn.
> I save my image, and open back up and all of that is there ready for me to
> continue. I can do this with the image on a flash drive, the local drive or
> on a network.
> With this Emacs + SLIME can I do some thing similar?
> Honest question, honest comparison? I suspect the answer, but I do not
> factually know it.
> When I restore an Emacs+SLIME image. Do I have available the editing and the
> REPL (or workspace like element) exactly as I left it. Cursors in the
> original location. Workspace like elements with the objects available for
> exploration.
> If as I suspect the answer is no. Then we are not exactly talking about the
> same things. Maybe similar or close, but not the same. However, I am happy
> to agree that LISPs are worlds ahead of most other languages in this regard.

If one's using Emacs + SLIME, one of course doesn't have any Browsers
or Workspaces or indeed any UI elements, so in a sense, no, we're not
comparing the same things. If you saved your image, the image state
would remain - running processes and so on - but of course Emacs's
state - windows open and the like - would vanish.

I won't dispute the value of the strong integration between IDE and
environment. I certainly think it's perfectly sane for you to value it
so highly!

What I find inconvenient about the current work is
* I have to manage windows manually
* I can see only a single method at a time, so can't use visual cues
or keyboard-only navigation to jump around

It's not even impossible to do the above in Pharo. Laurent's already
working on the first step, and the old Whisker Browser could display
many methods at once.

The reasons why I want something like Emacs + SLIME for Smalltalk are
* Emacs is very good at handling text, and I wouldn't have to learn
yet another editor's bindings. (I've already paid this price, but I'm
thinking of new people.)
* It's much easier on the network to connect my Emacs to a remote
running image than having to VNC to something. Plus it's one less
application open.
* I don't want the Smalltalk community to waste its precious resources
reinventing tools that are perfectly good out of some notion that
Smalltalk is a unique, special snowflake, and we simply cannot make
use of standard tools.

> For me this is one simple value of the IDE in the image and being one of the
> many live objects I am editing. One of the things that was seen as having no
> value in this discussion.

I see working in the image as both a blessing and a curse: it's a
blessing because you can work rapidly and interact with your objects.
It's a curse because there's nothing stopping you from making
something that cannot be replicated/reproduced. In the large, writing
Metacello specs and running them in a CI environment will tend to keep
you honest.


> And as I stated, if the proposer sees no value in this. Fine, do what works
> for you.
> Jimmie

More information about the Pharo-dev mailing list