Introduction to Linden Scripting Language
prostoalex writes "Dr. Dobb's Journal runs a lengthy introduction to Linden Scripting Language, the language behind avatars and their interaction in Second Life: "LSL is a scripting language that runs server-side, on a piece of software called the simulator. The simulator does just what it's name implies — it simulates the virtual world of Second Life. Each simulator runs everything for 16 acres of virtual land — buildings, physics, and of course, scripts. While you manipulate the script text in a form that is somewhat easy to read, the actual code that runs on the simulator is compiled. A compiler is a piece of software that takes the text version of the script and converts it into something that can actually run. In the case of LSL, the compiler exists within the Second Life viewer itself. In the future, it is likely that the compiler will move from the viewer into the Second Life simulators, but where the code is compiled isn't very important. What matters is that the text is converted into a form that can run on the simulators.""
Is this a way for Linden Labs (and possibly for others) to provide closed source scripts and objects? This seems to be a very possible thing with such technology.
What if someone only made available a compiled copy of something? It'd be scary if you can't tell what's really going on with all the stuff.
Credit where credit's due, it's important to note that LSL is the first scripting language to have furry specific classes. This is an oft-overlooked aspect of modern languages.
There was talk about converting the server-side scripting engine to Mono, with huge (50x) performance gains. There was supposed to be a LSL->CIL compiler at first, then libraries for other .Net languages.
Has anyone heard anything about this recently?
"A compiler is a piece of software that takes the text version of the script and converts it into something that can actually run."
Glad that's all cleared up!
AT&ROFLMAO
The summary quote uses 108 words to explain that there exists a compiler for this language.
Well, if it is running on the simulators, the simulated humans might be given access to it, and thus being able to script their own lifes!
Well, maybe I should try if those scripts already work on our world!
The Tao of math: The numbers you can count are not the real numbers.
hello class, this is a COM-PU-TER. computers run a set of instructions called a PROOOGRAAAM. programs are nothing but 1's and 0's. heheheh, but we don't program in 1's and 0's, we program in a language, such as linden script. another computer program, called a com-pi-ler, compiles the script into a format the computer can understand. ok, class, this is a DISK DRIVE . . .
sheesh, i thought this was
(actually, it must be -- even *I* am complaining about the summaries...)
mr c
"Physics is like sex. Sure, it may give some practical results, but that's not why we do it." - R. Feynman
I was expecting a tutorial on how to program an army of flying penises to interrupt a virtual press conference...
...or have done, really. The language is a bastard child of C, basically. Its major problem is its lack of arrays; you have a strange construct called a list that sort of does the same thing, but I really don't know why it's there instead of arrays. LSL is fairly underpowered. What I've taken to doing is using its HTTP system, though, to ping my web server, do something, and feed it back into the game. To do anything really impressive with LSL, it does seem to take an outside server to do the heavy lifting. It's kind of fun, though...
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
So?
SL has a service based economy. There isn't a shipping industry in SL because it isn't needed. But there are plenty services being offered. If you pay me enough L$ I could script something for you. There are people who will build custom objects, draw graphics, make custom avatars, etc.
RL physical constraints aren't needed in SL to have an economy. Time still is money. Skill still takes effort to develop.
The RL constraints gave us the RL economy, the SL constraints result in a slightly different one. There's no reason why the RL world is the only way of having an economy.
My perception is that there is a optimal balance between choice and usefulness. If we were living in a world where the only languages were Assembler and BASIC programming would be hugely difficult and software would be suck because the tools were so mismatched to the application. On the other extreme, if there was a language created for every project, programming would be hugely difficult and software would suck because not only would the application have to be written, but the language as well.
Somewhere in the middle is the perfect balance between endless variety of languages and extreme limitations. My feeling is that if some of the effort by the very intelligent and skilled developers who are creating new languages were instead channeled into improving existing languages, the limitations of current tools would be greatly reduced and the experience of all those who know existing languages would be relevant to solving problems. If a developer has to devote time and effort learning a new language, basic syntax, code conventions, optimal design patterns, etc., then that developer is losing time actually writing useful code.
I have written "Hello World" or some generic "Music Store" type app learning:
- BASIC
- Pascal
- HyperCard
- Fortran
- C
- C++
- Java
- Perl
- PHP
- Python
- DOS/CMD Batchfiles
- Shell Scripting
- Kixtart
- Ruby
- Visual Basic
- C#
- MSH/Monad/Microsoft's new shell
- Lisp
Now, I am not a programmer by profession. I've taken courses and I like to write little programs for personal use; so, my knowledge of these languages is minimal. But, I have had to learn what I know so that I could use existing code or frameworks to accomplish what I wanted. The same requirements for redundant learning applies to those who write code on a professional level. If a highly skilled C++ programmer wants to contribute to a project written in MONO/C#, there is a learning curve. If he then wants to work on a project in Python, another learning curve.I would be willing to bet that some projects miss out on a lot of contributed code because people who are willing and have the algorithmic skills to assist are simply unwilling to take the time to learn whatever language is used.
Sorry it this was less than readable. It is late and I am tired and hungry. Off to the kitchen...
WARNING: Smoking this sig may cause lowered IQ, insanity or short term memory loss. It is also really bad for your monit