Thursday, February 21, 2008

Hydra VM

Qwaq has realeased the Squeak HydraVM as open source under MIT license.

Hydra VM is a virtual machine capable of running multiple Croquet images side-by-side, therefore being able to effectively utilize multi-core CPUs.

Read the announcement from Andreas.

The official release is here:

Wednesday, February 20, 2008

Who owns a language

There is an interesting question in Ted's blog posting:

Who owns a language and therefore influences its direction?
Is it Anders Hejlsberg who owns C#, is it James Gosling who owns Java and Matz for Ruby? Do they really move these languages forward or just try to copy features from language A to language B?

That's like Mrs Merkel deciding about adding new phrases to german language or Mr. Sarkozy deciding about new words in a french dictionary.

The question for Smalltalk is easily anwered: it is YOU. Everything is open and therefore easy to change. You have full control.

I tell you a little secret: Smalltalk is no a language by default, it's just a dynamic object system. Since anything in the world is an object you can easily bring it into this system. That's where its power comes from.

Smalltalk as a language is just mapped to this object system. The language is just composed of objects and methods and like any other part of the system changable and extendable.

Want to have an example: you need a repeat-until control structure (which is not there by default), just add a #repeatUntil: message to the block class. If others find it usefull this may take it's way to one of the standard images (predefined object worlds). But even if it gets not accepted by a broader community you can easily have it and manage it on your own...

You have a common nominator (called Smalltalk ANSI Standard), but if required you can speak your own dialect (Smalltalk with Namespaces, Smalltalk with Traits, ...) - if the dialect gets a wide interest it may survive.

Next question is who influences the ANSI Standard ;)

Friday, February 08, 2008

My kingdom for a Smalltalk block

Ever looked at the source code of the LivelyKernel, especially to Core.js:

applyFunctionToShape: function() { // my kingdom for a Smalltalk block!
var args = $A(arguments);
var func = args.shift();
func.apply(this.shape, args);
if (this.clipPath) {
console.log('clipped to new shape ' + this.shape);

Lively Kernel talk at Google

Dan Ingalls did a Lively Kernel demo at tech talk at Google.

Click here to see the video.

Maybe this is the next thing after these "AJAX/DOM/DHTML stuff with multibrowser testing" to get a decent ui running in the web browser ...

Thursday, February 07, 2008

Interesting Testrunner

Test driven development using a stoplight (or golight), another feature invented in Smalltalk: Read more. ;)