Second Life — Linden Scripting Lanuage
A few people** write about the Linden Scripting Language used in the Second Life virtual world.
** Michael Rymaszewski, Wagner James Au, Mark Wallace, Catherine Winters, Cory Ondrejka, Benjamin Batstone-Cunningham
[tease] (lightly edited)
Linden Scripting Lanuage library functions are built-in functions that perform common tasks or to provide functionality that would be difficult to write in LSL directly. More than 300 functions are built into LSL, and more are being added regularly.
For a comprehensive description of all of the functions, check this out.
Wikepedia talks about Linden Scripting lanuage.
[tease]
LSL Future
Second Life’s revised version of its scripting system was originally scheduled for release in the first quarter of 2006, but has been pushed back indefinitely.
The new engine executing scripts uses Mono (the open source implementation of the Microsoft .NET framework) as the virtual machine for scripts running on the servers.
The LSL scripting language remains the same, but executing on the Mono underpinnings gives a 50 to 150 times speed increase. An additional benefit of this change is that any language that compiles to the Mono virtual machine can potentially be uploaded to execute in Second Life.
The SL History Wiki also talks about the Linden Scripting Language.
[tease]
Second Life uses the built-in scripting language called Linden Scripting Language (LSL). LSL is a C/Java-like state-/event-driven language which is used to have objects interact with each other and residents in-world (and sometimes communicating with the “outside world” as well via email, XML-RPC and HTTP requests).
LSL is a strongly-typed(?) language that is compiled to bytecode before runtime execution in a virtual machine on one of Linden Lab’s servers.
The first version of LSL was a BASIC-based language entitled LSL1. LSL1 did not see much public usage, but was mainly used during the “Alpha” phase of SL (then LindenWorld).
Some time after 2002, the current version (LSL2) was written by Cory Linden, who also wrote LSL1. Since the conception of LSL2, many other Lindens have added onto the language, mostly adding functions. All functions built into LSL are prefixed with “ll” which stands for “Linden Library” (or “Linden Lab” or “Linden Language”–there has been no “official statement” on what exactly the intials stand for, though the LSL documentation, lsl_guide.html, calls them “Linden Library functions” numerous times).
[tease]
Currently, Babbage Linden is working on the next update to LSL which will include Mono. Mono will potentially help scripts run and compile faster as well as allow residents to use other languages such as C++ and C#.
Babbage has been occasionally providing peeks into the development of Mono for LSL on his blog