[squeak-dev] Compiling Smalltalk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Compiling Smalltalk

David Zmick
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


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Compiling Smalltalk

Joshua Gargus-2
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?

thanks

--
David Zmick
/dz0004455\
http://david-zmick.co.cc




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Compiling Smalltalk

David Zmick
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 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?

thanks

--
David Zmick
/dz0004455\
http://david-zmick.co.cc








--
David Zmick
/dz0004455\
http://david-zmick.co.cc


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Compiling Smalltalk

Alejandro F. Reimondo
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.
 
 
----- Original Message -----
Sent: Friday, July 10, 2009 10:40 PM
Subject: [squeak-dev] Compiling Smalltalk

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





Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Compiling Smalltalk

keith1y
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

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Compiling Smalltalk

hernanmd
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]>
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.
 
 
----- Original Message -----
Sent: Friday, July 10, 2009 10:40 PM
Subject: [squeak-dev] Compiling Smalltalk

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









Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Compiling Smalltalk

Alejandro F. Reimondo

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.
 
 
 
----- Original Message -----
Sent: Saturday, July 11, 2009 4:55 PM
Subject: Re: [squeak-dev] Compiling Smalltalk

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]>
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.
 
 
----- Original Message -----
Sent: Friday, July 10, 2009 10:40 PM
Subject: [squeak-dev] Compiling Smalltalk

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