I just read on the official Linden Blog that they have completed an initial version of hosting Mono within SecondLife.
What they have done is to compile the Linden Scripting Language (LSL) into Intermediate Language (IL) code and they automagically gain all the advantages of the .NET Runtime – Just In Time (JIT) compilation, advanced Garbage Collection and, hopefully, the ability to extend SecondLife with other .NET supported langauges (though that’s a personal wish ;-) having .NET so close to me – my Advanced .NET Debugging blog)
It seems the results are promising:
“The initial figures look good, with Mono executing LSL scripts between 300 and 500 times faster than the current LSL interpreter.”
Mono is an open source implementation of the .NET runtime as well as a C# compiler and some of the .NET Framework stack (including stack of its own free of patents and copyrights). It’s supported on Mac OSX, Linux and Windows, which makes it ideal for SecondLife since these are the 3 major platforms it is used by.
I wonder if they’ll use Mono throughout the SecondLife Viewer, or chose to use/host Microsoft’s .NET Runtime on Windows (which in some senses is far more advanced than Mono but only limited to Windows).
Having SecondLife tied to .NET on Windows will require everyone to get the .NET framework, while Mono can be compiled into (or linked) and be distributed with the normal SecondLife client (though I don’t think that should be a major problem).
Not having to learn yet another scripting language will greatly enhance the ability for everyone to enhance and create a better, more interesting and innovative SecondLife. That’s why it should be very important to be able to extend SecondLife without using LSL and using the full blown power of .NET and all of the .NET supported languages.
I’d be more than willing to help out, if needed (or at least checked into their source repository) :-).