[self-interest] Digest Number 280 (long)

Douglas Atique datique at terra.com.br
Fri Jul 26 16:56:48 UTC 2002

> ---------- Mensagem original -----------
>    Date: Wed, 24 Jul 2002 18:27:49 +0200
>    From: Thorsten Dittmar <thorsten.dittmar at daedalos.com>
> Subject: Re: Digest Number 279
> Can you explain a little bit more in detail what are you interests:
> - portability
> - performance 
> - some special implementation details

I have several interests on the VM. First of all, my background is C 
and C++, and I love to see some really complex code. What I didn't 
expect is that the VM mixes it with assembly, with which I have no 
I think Self is too good a language to be available only in one or 
two platforms. Portability is most important so that we can really (I 
mean not only through reading papers) assess its suitability to real 
world problems (and Jecel is doing a lot of real world work with it, 
so my feeling is good about it). On the other hand, I do not expect 
Self to be both widely portable and very fast, as performance is 
achieved at the cost of non-portability and complexity (Self 4.0 
which I know more than the newer 4.1.x had lots of code to handle 
lookup in assembly, nmethods are machine code assembled on the fly, 
etc., so few people will not be scared by looking at that code). 
If I had to port Self with the knowledge I have today, I would forget 
about performance, downgrade it to an interpreted language to make 
the VM as simple as possible and then try to build incrementally all 
the compiler stuff and other performance-improving features. In fact, 
I think once we could have an interpreted VM plus some very primitive 
VM support, we could bootstrap a Self compiler in Self (if I recall 
it correctly, originally I got this idea from Jecel in the past). Why 
would all those bootstrapping techniques we study in compiler courses 
be applicable to C and not to Self? To sum up, my point is: should we 
have this difficult to grasp VM to get all the features and 
performance Self gives us? I guess not. But I also can't prove it. 

There were discussions about the VM in the past, in particular Gordon 
Cichon was involved in them and so was I. But I must admit I didnĀ“t 
have many concepts and experience needed to port the VM at that time 
and my ideas sounded very silly.

I haven't studied many languages. C++, Java, some BASIC, a little bit 
of CHILL (while at Alcatel), a little bit of FORTH and Self (most of 
them out of curiosity). Not even Smalltalk have I studied. I have 
grasped some Smalltalk concepts from the Self papers, when I finally 
understood that their syntax was very similar.
The most useful for me at work are C++ and Java, but I sometimes 
envision Self as a distributed objects environment with its own 
bindings to CORBA and being used over the network by web 
applications. That would be very akin to the real world, but it is a 
very long path until we eventually get there.


More information about the Self-interest mailing list