The secret is out since yesterday: Google has released Google Chrome - a new webbrowser. It's easy to install - and from a first impression also very fast. But that's not the exciting news - at least not for us Smalltalkers.
Animorphic Smalltalk included a high performance VM, a blue-book compatible library, novel browsers and flyweight glyph-based GUI framework, optional type system, mirror based reflection and mixins. It was later released into Open Source.
Lars Bak is now responsible for V8 at Google (he was technical lead for Strongtalk Smalltalk VM and the Java HotSpot VM. I already posted about his early work on OOVM and expected something like this - especially after I havent heard anything from him since 2004 after Esmertec acquired OOVM.
Another interesting aspect of the V8 virtual machine is that it's open source. Just use
svn checkout http://v8.googlecode.com/svn/trunk/ v8-read-only"
to checkout the project (13,6 MB). It is mainly written in C++, based on the Strongtalk Smalltalk code and released with a BSD/MIT license. It uses some neat design tricks like dynamically created hidden classes (as you can read on the Design doc page)
Dave Griswold has posted some more information on the Strongtalk list and on the Squeak list.
Regarding performance and running Smalltalk David Griswold explains:
"I'm sure that these sorts of things can be worked around, but they do mean
that V8 will never in its pure form quite reach the pinnacle of theoretical
performance possible for a VM targeted specifically to Smalltalk etc. So it
won't be as fast as Strongtalk, although it may get fairly close to
"The release of the V8 VM is the beginning of a whole new era for
dynamic languages (Smalltalk, Ruby, Python, etc).
Let the flood of fast new dynamic language implementations begin!"
I'm eager what the answer of Microsoft will be (especially since my friend David Simmons (Smallscript/S#) is working on scripting languages there) and if .NET and Suns JVM will be more friendly to dynamic languages in the future. Interesting times ...