はじめに セカンドライフは、オンラインゲームの類ではなく、3次元オブジェクトのレンダリング・ツール、モデリング・ツールであり、作成したオブジェクトを共有するための空間を提供するストレージ・サービスであると考えるべきです。そして、オブジェクトにLSL(Linden Scripting Language)と呼ばれる専用のスクリプト言語を実行させられる、一種のアプリケーション実行環境であるとも捉えられます。 ところが、経験あるアプリケーション開発者であれば、すぐにLSLが貧弱であまり実用的ではないということに気が付くでしょう。LSLは柔軟性に乏しく、簡単な計算と用意された関数の呼び出し、定められているイベントの実装程度の機能しか持ちません。クラスや構造体のようなユーザー定義型を作ることはできず、ポインタを使った多態性のあるコードを書くこともできません。 こうした制限からLSLはデータ処理に弱く、