> On 26 Feb 2019, at 19:28, Serendipity Seraph <[email protected]> wrote:
>
> As a software engineer the things that deeply bug me about LSL include:
>
> 1) no real way to get reuse vs copy and paste where needed. Major blow to
> possible efficiency gains of not having multiple copies and to
> maintainability. No import/include or library concept or support.
>
> 2) almost no real data structures and no way to roll your own. Yeah you
> can do 1970s era hacks sort of.
The problem with LSL is that it's just plain shit, to use the correct technical
expression; I mean seriously, no proper array but instead we get a linked-list
that is fully copied on even minor modifications, thus eliminating all benefits
of it being a linked list? So you got both linear access time, bad performance
all round AND you can't even add to it efficiently!
I dunno if OpenSim managed to optimise that to use a real linked list behind
the scenes but then performance hasn't been such a big issue for me since I'm
running lightweight private sims on actually half-decent hardware, but for
Second Life itself it's always been a bad joke for, has been now for what, 15
years?
It always bugged me how much it felt like somebody's first year compiler class
project that they then just rammed into the first programming job they got,
which to our misfortune happened to be Second Life, and we've been stuck with
it ever since.
Obviously I get why OpenSim keeps LSL, since it makes it easier for people to
port scripts over from SL, but man it's a bad language. There were superior
scripting languages 20 years before SL even existed; it has never made any
sense why they rolled their own, or didn't even copy elements from actually
good languages and APIs. The SL version of LSL is also the only language I'm
aware of that has not one, but three broken implementations of base64 XOR;
seriously, not one of them is actually correct.
Sorry, that's really just a bit of a rant and not terribly constructive, but
man it annoys me.
OpenSim has so many useful capabilities compared to SL but it does still feel
like LSL constrains what we can do a bit; I can only imagine how great it'd be
to have a proper object oriented API in some other language, but I doubt it's
something I'm likely to have time to work on myself.
_______________________________________________
Opensim-users mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users