Second Life is Smalltalk
After lunch, I attended a talk presented by two of the Linden Labs guys regarding Second Life. The first part was just about Second Life phenomonen. Which was pretty cool. About the number of users they have. Some of the interesting collaborations and communities that have formed.
They talked about the scripting language that Second Life users write scripts which are attached to Prims and talked about how terrible and limiting it was. But they posited that while on the micro scale, things were pretty bad, on the macro scale, it was pretty impressive, because they had strong encapsulation, loose coupling, garbage collection and a bunch of other attributes. They also talked about some of the unique attributes of the system. How you have processes migrating from machine to machine. What happens when you program in a live system. Frankly at this point, I found myself thinking: "The syntax is a little different, but this is the world's largest running Smalltalk image."
They then moved into their next gen plans. Which are to convert their per processor VM's to Mono and allow people to write these scripts in any language that runs on the CLR. This created all kinds of problems though, because they have to be able to serialize processes and move it from machine to machine. And how nice green threads were since they make 40000 of them. So they've basically modified the Mono VM to use green threads, and to check on backward bytecode sends for a change. And I thought again: "This is the Smalltalk VM all over again. I know exactly what they're talking about." Especially this post from 1999.
Second Life looks cool, and not because of the little avatars, but for all the same reasons I've loved about Smalltalk for years.