Kelly Linden recently discussed the LSL and C# languages in SL scripting. The interesting parts I’ll cover. The transcript is here: Kelly Linden 2010-11-8
To understand what the issues are in regard to scripting, one needs to consider the larger software development world. LSL (Linden Scripting Language) was developed to meet a need the Lab had; to give novice programmers playing in SL a tool they could use. Many RL programmers have wanted a language other than LSL (Linden Scripting Language). The use of a more advanced language that is more common would allow more advanced scripting in SL. Professionals could program for SL without learning a new language.
The Lab has been considering and planning to add additional languages for some time.
One of the questions asked is whether LSL is going to be replaced. LSL is going to stay. Other languages may be added. But, the keyword is ‘added’. If it were to leave, every script in SL would die and have to be replaced. However, LSL will likely be a stepchild when other programming languages come to SL. LSL is old and fragile and has to support old poorly written scripts. It is likely LL will devote most new effort to the new languages.
Many of us have thought since Babbage left the project for adding languages was on hold or even discarded. Kelly explains the nuance of the project’s status. It seems the ‘project’ is shelved. However the topic regarding the project is NOT shelved. The project will come off the shelf at some point. The Lindens just have not decided when. The language project is on the Lab’s global backlog.
The next question is whether the LSL will be improved and upgraded. Kelly says there are currently no Lab developers working on LSL. Another problem is the features that need to be added to improve LSL require more work than completing the work to bring C# into use, which has the needed features and more. Until other problems are handled the scripting is a low priority. However, Kelly says that can change at any time.
When the priority changes and people are assigned to the project (C#) it would need about 3 months to get to public beta. Add another 6 to 9 months to come out of beta testing. So, we are not likely to see this any time soon.
If you have been looking for a scripting team, there is not one just now. All the Lab peeps that would be on it are working on; simulator stability, improving region crossing, and a thing called ‘Interest List Processing’ which has to do with sim performance as the number of people in a region increases. (If I understand, interest list is about sending which info to which clients. The better it performs the less work a sim has to do and thus is faster.)
After the agenda was completed discussion wondered a bit. Kelly says the Lab’s simulators run a 64 bit OS and they compile the simulator as 32 bit. While compiling for 64 bit makes things faster scripts then use 50% +/- more memory. Since they do not plan to add more memory to all the SL servers, 64 bit is out for now. Also the simulators basically run a single thread and use one core.
There will be no Office Hours for Kelly for the next 3 months due to Leave of Absence while Kelly helps out with the population explosion.
While lots of progress is being made in other areas, scripting is on the shelf. We are unlikely to see any changes to scripting/LSL other than fixes and addition of commands for new SL features, like Display Names. This is unlikely to change over the next 3 to 6 months. But, the Lab has changed how they work and it seems to be paying off. Things are getting fixed.
The new debugging tools and testing processes are shaking out foundation level bugs. It seems lots is broken right now. I see that mostly as the current fixes breaking old hacks used to work around problems. So, a fix can reveal a number of other problems that have to be fixed. The lab’s narrow focus on limited issues is making progress.
Many of the things we anticipate for SL scripting are in use on OpenSim. The coming release of Kokau Sim for independent grid operators will provide several languages to work with. So, one can experiment and learn what is coming.