For Programmers: Free Programming Magazines  


Home > Archive > Smalltalk > September 2007 > Smalltalk inside eclipse: good or bad idea?









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Smalltalk inside eclipse: good or bad idea?
Olli Plough

2007-09-20, 8:09 am

Hi,

found this article these days surfing around on the internet:
http://www.cincomsmalltalk.com/blog...ntry=3235658509
The article contains some debate comparing Smalltalk and eclipse as
IDEs. It dates back to 2003 and is therefore quite outdated. But it
gave me the idea to remove the idea of the Smalltalk image from
Smalltalk and develop a Smalltalk IDE based on the same concept as
eclipse or use eclipse as a Smalltalk IDE. I think this could be a
step towards moving Smalltalk back into the business and make it a
competitor to Ruby, Groovy, and these kinds of languages that have
gained the attraction of people that nowadays are into dynamically
typed OO languages. Even Dave Thomas is writing Ruby books these
days ...

What I mean is that you don't have to load everything into your image,
which becomes somewhat tedious when developing web applications with
tons of html, jpg, xml, ... files. You can also quite easily drop some
Smalltalk archives into your lib dir as this can be done with jars
(okay, the idea of parcels in VW Smalltalk is quite similar, but
still) and don't have to load the whole code into your image. I think
the problem with many different files needed for web development
having to be loaded into the image was also the reason IBM droped IBM
VA for Java and replaced it with eclipse.

My idea is that you can still work with your eclipse based Smalltalk
IDE as you are used to in Smalltalk: change code in the debugger and
everywhere else while your applications is up and running and save the
changes, open up inspectors where you evaluate code as with hot code
replacement in Java but done right (hot code replacement always works
and not only in rare special cases).

I know many people will scream out now that the concept of the
Smalltalk image is holy in Smalltalk for all times. But I think it is
the main reason Smalltalk looses out against many scripting languages
and newer high-level languages such as Ruby or Groovy. If I were
Cincom I would develop a Smalltalk-style IDE for Ruby or remove the
image concept from Smalltalk and try to revive it this way. Okay, now
the boxing ring is open for anybody who will (undoubtly) ran mad at
me. Maybe, there is a chance for a discussion without flame wars ...

Cheers, Oliver

Marten

2007-09-20, 7:12 pm

Why do you want to throw away the structural advantages of a Smalltalk
system ?

Developing a Smalltalk-style IDE for those languages may perhaps not
work at all - because the audience do not expect to have such
"strange" browsers.

I would like to have a Smalltalk browser within my C#, VS2005 system -
but I also know, that (just a guess) 90% of all users simply want to
use a text editor and nothing else. Due to the drawbacks of a simple
text editor Microsoft does a tremendous, heavy work to look that
simple editor smart and intelligent - but they still have no browsers.

The in-image development of Smalltalk is (after working with VS2005
for some years now) one of the biggest advantages of Smalltalk. The
interactivity of Smalltalk is still better than anything else I'v seen
so far. If I would loose this, I would give up Smalltalk.

Working with ENVY I also noticed, that I would loose too much, when I
had a simple source code management like subversion or cvs - the
differences can be seen each day when working with VS2005. MS is aware
of this and introduced the Team edition - for lots of $ ....

Marten


Olli Plough

2007-09-20, 7:12 pm


> The in-image development of Smalltalk is (after working with VS2005
> for some years now) one of the biggest advantages of Smalltalk. The
> interactivity of Smalltalk is still better than anything else I'v seen
> so far. If I would loose this, I would give up Smalltalk.


As I understand it the image concept is a simple way to implement a
snapshot feature for the people that implement a Smalltalk system. I'm
not sure that the concept of an image is a necessary requirement to
achieve the kind of interactive development style that can be found in
Smalltalk. I can also change Java code in the eclipse debugger, save
the changes and the thread jumps back to the begining of the method.
Then I can evaluate expressions in the pane below the variables tab in
the eclipse debugger as in a Smalltalk inspector (yes, it is not just
as convenient). You can also change Java code in some other eclipse
browser and the changes get reflected in the running system in case
hot code replacement did not fail (and as already mentioned it fails
much too often).

> Working with ENVY I also noticed, that I would loose too much, when I
> had a simple source code management like subversion or cvs - the
> differences can be seen each day when working with VS2005. MS is aware
> of this and introduced the Team edition - for lots of $ ....


Envy is a big asset. True. The power of Envy also comes from using
some kind of syntactical database rather than a file per class
approach as in Java/C++/etc. I'm not sure whether saving the code to
the image loaded with Envy into the image is a technical necessity for
Smalltalk-style interactive development. Eventually, it is possible to
load the code through Envy into the file system and have it loaded
into code space when the class is hit for the first time (Java class
loader concept). When changes in the code are saved get the changed
code replaced in code space and you remain interactive as with the use
of an image.

I'm not sure whether those things described above are technically
possible. Would reuqire some deeper understanding of VMs, compiler,
loaders and I don't know what. But maybe someone out there can tell.

Regards, Olli


Paolo Bonzini

2007-09-20, 7:12 pm

On Sep 20, 2:21 pm, Olli Plough <oli...@plohmann.com> wrote:
> Hi,
>
> found this article these days surfing around on the internet:http://www.cincomsmalltalk.com/blog...=true&entry=...
> The article contains some debate comparing Smalltalk and eclipse as
> IDEs. It dates back to 2003 and is therefore quite outdated. But it
> gave me the idea to remove the idea of the Smalltalk image from
> Smalltalk and develop a Smalltalk IDE based on the same concept as
> eclipse or use eclipse as a Smalltalk IDE.


You are speaking about GNU Smalltalk. :-) (Except that the Emacs
interface we have is nowhere near what it or an Eclipse plugin could
do).

<advertising-mode>
The latest alpha is at ftp://alpha.gnu.org/gnu/smalltalk/s...lk-2.95d.tar.gz
and it should work at least on Linux and Mac (not sure about Windows
because it's a beta, Cygwin is more likely to work though). There is
a tutorial online, but it is not up-to-date because of the many new
features between the stable branch and 2.95d. So you have to follow
the tutorial either in info format or (suggested) as a PDF.

./configure
make
make install (as root)
make pdf

The tutorial will be in doc/gst.pdf -- have fun, and subscribe to the
mailing list at http://lists.gnu.org/mailman/listinfo/help-smalltalk
to stay up to date. :-)
</advertising-mode>

Paolo

Arden

2007-09-20, 7:12 pm

On Sep 20, 8:21 am, Olli Plough <oli...@plohmann.com> wrote:
> Hi,
>
> found this article these days surfing around on the internet:http://www.cincomsmalltalk.com/blog...=true&entry=...
> The article contains some debate comparing Smalltalk and eclipse as
> IDEs. It dates back to 2003 and is therefore quite outdated. But it
> gave me the idea to remove the idea of the Smalltalk image from
> Smalltalk and develop a Smalltalk IDE based on the same concept as
> eclipse or use eclipse as a Smalltalk IDE. I think this could be a
> step towards moving Smalltalk back into the business and make it a
> competitor to Ruby, Groovy, and these kinds of languages that have
> gained the attraction of people that nowadays are into dynamically
> typed OO languages. Even Dave Thomas is writing Ruby books these
> days ...
>


The Dave Thomas writing Ruby books is a different Dave Thomas than the
Smalltalk Dave Thomas.
I think it is mentioned in this interview:
http://cache.libsyn.com/agiletoolki...Dave_Thomas.mp3
Regards
Arden Thomas (no relation to ANY of the Dave's :-) )

David Buck

2007-09-20, 7:12 pm

Arden wrote:
> On Sep 20, 8:21 am, Olli Plough <oli...@plohmann.com> wrote:
>
> The Dave Thomas writing Ruby books is a different Dave Thomas than the
> Smalltalk Dave Thomas.
> I think it is mentioned in this interview:
> http://cache.libsyn.com/agiletoolki...Dave_Thomas.mp3
> Regards
> Arden Thomas (no relation to ANY of the Dave's :-) )
>


Yes, they are known as Big Dave (OTI founder) and Pragmatic Dave (Ruby
Dave). I once asked Big Dave if it was confusing that there were two
Dave Thomas'es in the Agile development space and he said "Yes, but
fortunately the other Dave Thomas and I have very similar philosophies
of software development, so I'm happy to sign his books."

David Buck
Isaac Gouy

2007-09-21, 7:13 pm

On Sep 20, 5:21 am, Olli Plough <oli...@plohmann.com> wrote:
> Hi,
>
> found this article these days surfing around on the internet:http://www.cincomsmalltalk.com/blog...=true&entry=...
> The article contains some debate comparing Smalltalk and eclipse as
> IDEs. It dates back to 2003 and is therefore quite outdated. But it
> gave me the idea to remove the idea of the Smalltalk image from
> Smalltalk and develop a Smalltalk IDE based on the same concept as
> eclipse or use eclipse as a Smalltalk IDE. I think this could be a
> step towards moving Smalltalk back into the business and make it a
> competitor to Ruby, Groovy, and these kinds of languages that have
> gained the attraction of people that nowadays are into dynamically
> typed OO languages. Even Dave Thomas is writing Ruby books these
> days ...
>
> What I mean is that you don't have to load everything into your image,
> which becomes somewhat tedious when developing web applications with
> tons of html, jpg, xml, ... files. You can also quite easily drop some
> Smalltalk archives into your lib dir as this can be done with jars
> (okay, the idea of parcels in VW Smalltalk is quite similar, but
> still) and don't have to load the whole code into your image. I think
> the problem with many different files needed for web development
> having to be loaded into the image was also the reason IBM droped IBM
> VA for Java and replaced it with eclipse.
>
> My idea is that you can still work with your eclipse based Smalltalk
> IDE as you are used to in Smalltalk: change code in the debugger and
> everywhere else while your applications is up and running and save the
> changes, open up inspectors where you evaluate code as with hot code
> replacement in Java but done right (hot code replacement always works
> and not only in rare special cases).
>
> I know many people will scream out now that the concept of the
> Smalltalk image is holy in Smalltalk for all times. But I think it is
> the main reason Smalltalk looses out against many scripting languages
> and newer high-level languages such as Ruby or Groovy. If I were
> Cincom I would develop a Smalltalk-style IDE for Ruby or remove the
> image concept from Smalltalk and try to revive it this way. Okay, now
> the boxing ring is open for anybody who will (undoubtly) ran mad at
> me. Maybe, there is a chance for a discussion without flame wars ...
>
> Cheers, Oliver



Or you could separate the IDE from the image like Resilient OOVM
Smalltalk:

"The Resilient programming environment is written as a plug-in to the
Eclipse extensible IDE 3 . ... The Resilient plugin provides the
Resilient-specific components, such as source code compiler,
debugging, and the reflective connection to a running embedded
platform. ...

An important part of the Resilient development model is the ability to
connect the IDE to a running embedded platform. When connected, the
IDE is able to inspect and make changes to the object model on the
running platform. The connection is made using the network stacks
present on the embedded platform, such as standard TCP/IP. The
reflective interface on the embedded platform allows the IDE to
inspect, pause and terminate running threads, inspect and modify
objects in the object heap, and update code on the running platform."

http://www.daimi.au.dk/~marius/docu...sen2004esug.pdf



Marten

2007-09-21, 7:13 pm

On 20 Sep., 17:53, Paolo Bonzini <bonz...@gnu.org> wrote:

>
> You are speaking about GNU Smalltalk. :-) (Except that the Emacs


Are windows binaries available from somewhere ?

Marten

Emptist

2007-09-21, 7:13 pm

On 9 22 , 3 24 , Marten <mar...@toppoint.de> wrote:
> On 20 Sep., 17:53, Paolo Bonzini <bonz...@gnu.org> wrote:
>
>
>
>
> Are windows binaries available from somewhere ?
>
> Marten


how about a vmware app?

Paolo Bonzini

2007-09-24, 4:25 am


>
> Are windows binaries available from somewhere ?
>
> Marten


No, but it should build easily on Cygwin (don't know about Vista).

Paolo

Olli Plough

2007-09-24, 4:25 am

> The Dave Thomas writing Ruby books is a different Dave Thomas than the
> Smalltalk Dave Thomas.


Oh no ... The comments on Amazon did not clearly put one Ruby book
over the other. So in the end I really bought that Ruby book by Dave
Thomas, because I thought he had changed to the Ruby camp. Made
somehow sense to me. Anyway, then I want my money back ... :-). I knew
about Resilient Smalltalk, but forgot about it. Anybody any news what
has hapened to it?

Regards, Oliver Plohmann


Isaac Gouy

2007-09-24, 7:19 pm

On Sep 24, 1:22 am, Olli Plough <oli...@plohmann.com> wrote:
> I knew about Resilient Smalltalk, but forgot about it. Anybody any news what
> has hapened to it?



"Lately I've been writing a lot about the neptune language, the
replacement for smalltalk on the OSVM platform ..."

http://blog.quenta.org/2006/04/why-neptune.html

daredevil

2007-09-26, 7:13 pm

RFLMAO

Ask developers of Resilient or any Smalltalk comparable IDE written in
Java kinda languages. Tell me if thy dnt kick ur ass.

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com