[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
familiarity.
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.
Yet.
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.
Regards,
Douglas
More information about the Self-interest
mailing list