Me and a cousin of mine where discussing the speed of compiled languages vs the speed of interpreted languages and the subject of compiling interpreted languages came up. Languages like Java that are compiled down to bytecode can then be compiled to machine code, but I was under the impression that concept was impossible with smalltalk. Why is this? And, I know there is a project to build a compiler for smaltalk, what is the concept behind it?
thanks -- David Zmick /dz0004455\ http://david-zmick.co.cc |
David Zmick wrote:
Me and a cousin of mine where discussing the speed of compiled languages vs the speed of interpreted languages and the subject of compiling interpreted languages came up. Languages like Java that are compiled down to bytecode can then be compiled to machine code, but I was under the impression that concept was impossible with smalltalk. Why is this? I have no idea why you're under that impression; it's perfectly possible to compile Smalltalk to machine code. :-) There are many existence proofs, such as VisualWorks, Exupery, and Cog. (BTW, the jargon is Just In Time compilation, or JITting). Cheers, Josh And, I know there is a project to build a compiler for smaltalk, what is the concept behind it? |
Oh, I was not aware of that! Thank you!
On Fri, Jul 10, 2009 at 8:55 PM, Joshua Gargus <[hidden email]> wrote:
-- David Zmick /dz0004455\ http://david-zmick.co.cc |
In reply to this post by David Zmick
David,
You can find a lot of experiences in Smalltalk
field, some
many years before Java language was designed.
If you do
some research in Smalltalk
history,
a lot of good moments of reading is
granted.
IMO Smalltalk without native compilation
demostrates
the simplicity of Smalltalk (Dolphin
Smalltalk low level
impl. come to my mind here), but it is a must where
high perfomance is required.
When considering object systems we must also
consider
garbage collection and flow of energy spent
in the system,
that most of the times is not reported from
execution
speed nor microbenchmarks.
A lot of development has been done using
Smalltalk
platforms (some results was exploited in java
implementations
and others)...
in dynamic compilation,
in strategies to manage objects and
garbage
and in development of self sustaining
systems.
Smalltalk do not impose a common base
nor
fixed VM semantics, so advances in
smalltalk
are diverse and continue today. This is the reason why
we can see diferent alternatives for
smalltalk and
no need to converge to an universal
model.
The compilation to native level is a must for a
high
perfomance smalltalk, but it is not enough;
today
eficience is needed at all levels and also
compromise
with history (new smalltalk platforms
like DNG,
comes to my mind here).
cheers,
Ale.
|
David,
have a look at ST/X, the entire environment is build upon the foundation of a Smalltalk to C translator. ST/X has always been one to watch in the speed department, and I perticularly like the way you can write methods in C, and dynamically compile them just like smalltalk methods. Keith |
In reply to this post by Alejandro F. Reimondo
Hi Ale,
Can you talk a little bit about the architectural differences between DNG and Squeak (or other Smalltalks)? It will include advances developed in the area of autonomic systems or structured overlay networks? something like the Erlang's supervisor tree or subsumption architecture? Best regards, Hernán 2009/7/11 Alejandro F. Reimondo <[hidden email]>
|
Hi Hernán,
I have not written any comparison between DNG and
Squeak.
Someone can do that after DNG release or with
information that will
be publised on lists and at DNG site (www.dng.st is under construction
it will be the major source of public
information about the smalltalk
for next generation).
I consider the business model proposed in DNG
and Squeak
are very diferent, so imo, it is better
to evluate each option (there are
a lot of choices today to work with
Smalltalk) and where/when/how
to use the most convenient for the
inmediate case eachone is facing.
There is no need to converge, nor a universal
vision about smalltalk.
I have not had oportunities to make "real" use
of Erlang, nor worked
with other persons wich make profesional use
of it. I have made
some readings about "the language" and run
the samples (too
atomic/naïve under my pov). All what I have
seen that has any
relation with use of objects, can be made with DNG; I have
review the web pages after reading your email
to find something
that present a problem for our smalltalk
platform but do not find
any feature that can´t be implemented in
DNG.
I don't know if that features (e.g. strategy on
processes, etc) will be
implemented at first DNG release,
because 1.0 will contain the features
needed by major customers (to migrate and
mantain high
perfomance software, already written in
Smalltalk and with
a great position in the market).
In other words, if you are looking for some Erlang
features
needed in your products, or have exerience in it and want
to collaborate giving asistance in servers
implementation (or other)
to companies considering the DNG
platform, please contact us
(this is the best way to ensure the features
will be there asap).
cheers,
Ale.
|
Free forum by Nabble | Edit this page |