[Vm-dev] TZAG everyone! I'm a Coyo, and I'm interested in SqueaksVM development. Hope you dont mind if i poke in here :3

Casey Ransberger casey.obrien.r at gmail.com
Sun Feb 12 18:23:37 UTC 2012


On Feb 12, 2012, at 12:32 AM, "Alex Maurin" <coyo at parlementum.net> wrote:

> Hey all, my name is Coyo / Alex, either one is fine.
> I recently discovered OpenCobalt, and one of the developers there pointed
> me at Squeak. it seems an interesting language.

Cool stuff, huh?

> The developer in question has a youtube tutorial series, and since i
> already have virtualbox installed, i looked at the download options, and
> supposed that a vm option would be fascinating.
> I dont know why a language would need its own virtual machine or operating
> system, but i guess i'm about to find out! :D

Ah. Maybe this will help complete the picture a bit. 

Many languages don't compile to native machine code. Instead they compile to an abstract machine code (often bytecode for compactness) which is then interpreted one way or another (often several) by a virtual machine, which lends a great deal of portability. These are sometimes called process virtual machines, in contrast to system virtual machines like VMWare, which are for virtualizing whole operating systems. 

Here's where it gets fuzzy. Architecturally, Smalltalk VMs resemble process VMs. But in terms of user experience, you'll probably recognize some features from VMWare. You get a whole GUI in a window (or full screen,) and you can take snapshots and restore them, which you don't ordinarily get with a process level VM. 

I suppose it's worth noting at this point that there's no real hard and fast delineation here, it's just a taxonomy that someone came up with. I think the main feature of a so-called "process" VM tends to be that it's tailored for executing the semantics of a particular language or language family (this is definitely true of the Squeak VM), but this isn't true across the board either. There's a cross-language VM called Parrot in the works, which is being driven by the Perl 6 community for example.

Anyway, you don't need VMWare to run Squeak. You need a Squeak VM, a Squeak .image file (this is your "snapshot,") and a Squeak .sources file (which is where the system keeps its source code, technically optional but you'll use it when developing.)

The vm-dev list is used by folks who are working on the virtual machine itself. It's also a place to look for help when you're having trouble e.g. compiling the VM, or if you think you've found a bug in a Squeak VM. 

The squeak-dev list is probably a better place to start than here. There's also a beginners list, which is really nice for when you get the sense that other folks who are just starting out might benefit from the dialogue. 

> This should be fun.

It's going to be very different from most systems you've been exposed to, in all likelihood. Stick with it, and you'll have the time of your life: it's a beautiful system, and the people you meet in the course of using it will make the investment of your time absolutely worthwhile.

Nice to meet you, Coyo!


More information about the Vm-dev mailing list