My Second Life

« AJAX - the Achille’s heel of OnRez Viewer? | Home | Masks »

Second Life Keynote at OOPSLA

By admin | November 12, 2007

I came across a short blog notice today that I found most interesting and worth mentioning as a little detail on user statistics for Second Life. These are the notes of Michael Stal on the keynote of Jim Purbick (aka Babbage Linden) and Mark Lentczner (aka Zero Linden) at OOPSLA conference.

Keynote on Second Life, Jim Purbrick, Mark Lentczner, Linden Lab
People can do anything, so they do anything to experiment. Demographics match demographics of real world. Lot of code running, teaching ordinary people to build software. 15% of 2nd life population codes. LSL script. VM - very low number of features. Must fit in 16k. Everything in message passing. 14500 regions each of them running in a separate CPU. Each of them running 1k-2k scripts. Massively concurrent! Scripts can move. Thus they must be able to be persisted.

Source: http://stal.blogspot.com/2007/10/oopsla-2007-unplugged.html

At first, I was just interested in the statistic, but was then intrigued by the fact that an conference on object oriented programming had decided to invite people from SL to the party. I know a good deal of programmers who look down on LSL, because it is not object oriented - at least not at first glance. Personally, I always felt like LSL and its use in Second Life actually created a completely new style of programming where the term “object oriented” has become literally true. You can’t run a script in Second Life outside of an object. Only if you place it into a prim - and object - your script can be executed. But as soon as you did this, you can copy the object and the script within. Create as many instances as you like, if you want to look at it like that. An object copied that way will “inherit” its “properties” and “methods” from its parent - unless you overwrite them. Or you can add new “methods”, e.g. by taking a box that hand in a notecard and drop in a second script to set a floating text on top of the box. I know many people who deel that object oriented programming is the “natural” way to look at things and thus also to code. Well, it never was to me. But putting little snippets of code into plywood boxes and combining those boxes into complex objects gave me a completely new understanding of the whole concept. At the same time, it irritated me taht others seem to fidn it hard to see this parallel between OOP and the use of LSL in Second Life. I hope that events like OOSLA may help to start a more productive dialogue between programmers that use LSL and programmers who use more traditional object oriented languages.

Intriqued by the snippet, I listened to the complete keynote, that is available as a podcast from http://www.oopsla.org/oopsla2007/index.php?page=podcasts/. The exact statistics that Jim Purbrick used to make a statment on the average Second Life resident are these:

“43% of people who use Second Life are female. [...] The midian age in Second Life is in the 30ies. [...] 54% of people using Second Life are from Europe. It is no longer a North American phenomenon. And as you can see form the age distribution [...], its’n not just geeky males in their 20ies who are using Second Life, it’s absolutely everybody.”

The point he was trying to make is that Second Life introduced ordinary and very average people to coding. BUT, as they added, in a “horrid, broken language”. This pretty much echoes the concerns most programmers I know have about LSL. So why the hell is Linden Lab offering its users such a “horrid, broken language”? I was hoping to get some answers in the keynote. Just listening how Zero Linden described, how horrible, horrible LSL is to a true, dedicated (and OOP loving) programmer is a lot of fun. He is using and at the same time playing with stereotyped prejudices, appealing to what he must assumme as the common understanding of his audience, yet he is at the same time challenging them to think out of this little box and take a fresh look at a language he expects them to reject at first sight. But then he starts to explore further and comes to the conclusion that it is the runtime, the environment that those scripts run in that make it interesting, something taht you can’t actually see, if you look just at the language istelf.

Actually Zero Linden comes to similar observations as what I described above. He explains how scripts are sold to add a specific behaviour to an object, using the example of a script that will make a pet follow you, which means:

“We have code reuse, despite not having any linguistic support whatsoever for it.”

Like this he keeps explaining how important principles like concurrency, code replication, independance of code, object migration are all a fact for LSL, even if none of it is implemented by the linguistics of the language. In short: A great presentation.

The keynote offers many more interesting insights, like answers to the question: What actually happens, if a scripted object crosses into a new region? To me this was fascinating, even if it is of little pracatical value (again just to me).

If you want to know more on this, I can only suggest you hear the keynote entirely, it is surely worth your time, even if it is quite lengthy. Listening to it gave me a far deeper appriciation for what Second Life really is, and everyone knows how much I even appreciated it before. It was like listening to a scientist explaining the wonders of the human body to you, explaining how what makes your heart beat and your brain work and your bowls move without your conscious self ever really taking notice of the complex mechanisms behind it. I can surelyl recommend this keynote.

Topics: general |

Comments

You must be logged in to post a comment.