Ruby vs Smalltalk

M

Marc Heiler

Some time ago we have had ruby vs ~ada discussions, or more generally
ruby and "large scale applications" - actually, the people that
contributed their (impressive) knowledge made this quite interesting.

So here I start again - with my lack of knowledge. Ruby vs Smalltalk.

I only wrote a tiny bit of smalltalk so far. Some things remind me of
ruby like the |block| syntax (but the smalltalk people seem to like to
do the |block| in a new line and whenever I saw this in ruby, i was
puzzled, because I am used to having the |block| in the same line).

Actually come to look at it, I dont so much like the syntax of
smalltalk. I think Ruby's syntax is cleaner than smalltalk's and I also
am not too fond of using := instead of = for assignment. (The Io
language uses := too and I'd really have it the other way around, so
that = means assignment, rather than "update slot")

Anyway, there is one thing which I believe totally rocks in smalltalk
and I still have not understood it completely.

It is that image thing.

Of course I am interested in this due to the recent exposure of Maglev,
additionally some older praises towards smalltalk-squeak, but also about
the general VM discussions regarding ruby. And on IRC drbrain mentioned
that there are objects which are nearly thirty years old (in some
images), which I found astonishing. (Havent even thought that objects
"age" too .. can I have my immortal objects in the matrix please? ;> )

My brain also connects this to other discussions I have had (on
Gobolinux), where a few talked about a filesystem which uses a database
rather than the current FHS approach with flat files being spread
everywhere. I think the idea that an image is used for both storing
where files are (and then would do away with the problem of requiring
_absolute_ paths for anything actually, because i think having the need
to store absolute, hardcoded paths is really bad if one needs
flexibility), and also the complete OS (in form of objects and their
data) is simply ... well, "cool".

But it seems as if this whole VM or rather image thing is hardly used
outside Smalltalk. Which sounds like a shame, unless I missed something
perhaps? Can ruby have such an image based system additionally?
 
N

Nicolas Pelletier

Hello,

Actually come to look at it, I dont so much like the syntax of
smalltalk. I think Ruby's syntax is cleaner than smalltalk's and I also
am not too fond of using := instead of = for assignment. (The Io
language uses := too and I'd really have it the other way around, so
that = means assignment, rather than "update slot")

Back in the old days, the code for the assignment operator in
Smalltalk produced a left arrow. Now that ASCII is generally used, the
corresponding code is that of underscore, which does not make clear
its intent (assignment). This lead to the introduction of the :=
syntax for assignment.

Squeak Smalltalk includes a font that still has the old left arrow.
Anyway, there is one thing which I believe totally rocks in smalltalk
and I still have not understood it completely.

It is that image thing.

Images are good because they come with persistance and session
management. On the other hand, they can accumulate a big pile of
"dust". I have found I needed a strict discipline while using images
to not loose track of what is inside and what is not.
But it seems as if this whole VM or rather image thing is hardly used
outside Smalltalk. Which sounds like a shame, unless I missed something
perhaps? Can ruby have such an image based system additionally?

There are Lisp or ML systems that use images, too.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,772
Messages
2,569,592
Members
45,104
Latest member
LesliVqm09
Top