use of C# in scripts

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Robert A. Knop Jr.
On 2019-02-27 09:33, Asaff Belfer wrote:
> I get your feelings and I think the same that LSL can be better. I've been
> in SL only a few years but I can imagine what goes on behind the scene. I
> believe it's a struggle to keep such a company afloat as there is a huge
> infrastructure to support and a complex system that requires end user
> support as many low tech users are using it and tech support is an
> expensive resource. Add research and development to it and you'll get a
> monster that you need to feed.

Historically, LSL was originally developed over one week by (for the
most part) one guy... and that was the second iteration.  The first
iteration was hacked out in one night.

  http://ondrejka.net/metaverse%20memory/2008/01/22/lsl1.html

Anything fundamental to the design of the language that seems odd
probably comes from the fact that what we have today is still the direct
descendant of something hacked out pretty quickly to replace an
extremely quick proof-of-concept hack.  Of course, LL has done a lot of
work on it since, but the fundamental nature of the language stays the
same.  The work I was most familiar with is when the backend went to
Mono (back in 2008 or thereabouts), which helped a lot.  At the time,
there was some internal talk (on the part of Babbage and some of the
ohters who were actually doing it) that this would make possible C# as a
scripting language for SL in the future, but of course none of that ever
happened.

--
--Rob Knop
  E-mail:    [hidden email]
  Home Page: http://www.sonic.net/~rknop/
  Blog:      http://www.galacticinteractions.org/
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Mister Blue
OpenSimulator could really use new/different script engines. What is
missing is a developer who wants to dive-in and make the code happen.

Since there are and have been multiple script engines, the rudiments of a
plugable environment does exist as a start toward a cleanup and addition of
new languages. That's the easy part, actually. There are some tough
problems. Security and resource management (CPU time, memory, disk, ...)
come to mind.

Ping your coding friends. Maybe we can find someone who would clean up the
existing script engine framework and add a new language.

On Wed, Feb 27, 2019 at 5:15 AM Robert A. Knop Jr. <[hidden email]> wrote:

> On 2019-02-27 09:33, Asaff Belfer wrote:
> > I get your feelings and I think the same that LSL can be better. I've
> been
> > in SL only a few years but I can imagine what goes on behind the scene. I
> > believe it's a struggle to keep such a company afloat as there is a huge
> > infrastructure to support and a complex system that requires end user
> > support as many low tech users are using it and tech support is an
> > expensive resource. Add research and development to it and you'll get a
> > monster that you need to feed.
>
> Historically, LSL was originally developed over one week by (for the
> most part) one guy... and that was the second iteration.  The first
> iteration was hacked out in one night.
>
>   http://ondrejka.net/metaverse%20memory/2008/01/22/lsl1.html
>
> Anything fundamental to the design of the language that seems odd
> probably comes from the fact that what we have today is still the direct
> descendant of something hacked out pretty quickly to replace an
> extremely quick proof-of-concept hack.  Of course, LL has done a lot of
> work on it since, but the fundamental nature of the language stays the
> same.  The work I was most familiar with is when the backend went to
> Mono (back in 2008 or thereabouts), which helped a lot.  At the time,
> there was some internal talk (on the part of Babbage and some of the
> ohters who were actually doing it) that this would make possible C# as a
> scripting language for SL in the future, but of course none of that ever
> happened.
>
> --
> --Rob Knop
>   E-mail:    [hidden email]
>   Home Page: http://www.sonic.net/~rknop/
>   Blog:      http://www.galacticinteractions.org/
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Frisby, Adam
Free helpful tip - Lua has a lot of good runtimes. We're using MoonSharp in Sinespace's client and serverside scripting.

It takes a bit of work to implement maximum execution time limits, memory constraints, etc - but it's a solid runtime and comes recommended by me.

Regards,

Adam

-----Original Message-----
From: [hidden email] <[hidden email]> On Behalf Of Mister Blue
Sent: Thursday, 28 February 2019 4:11 AM
To: opensim-users maillist <[hidden email]>
Subject: Re: [Opensim-users] use of C# in scripts

OpenSimulator could really use new/different script engines. What is missing is a developer who wants to dive-in and make the code happen.

Since there are and have been multiple script engines, the rudiments of a plugable environment does exist as a start toward a cleanup and addition of new languages. That's the easy part, actually. There are some tough problems. Security and resource management (CPU time, memory, disk, ...) come to mind.

Ping your coding friends. Maybe we can find someone who would clean up the existing script engine framework and add a new language.

On Wed, Feb 27, 2019 at 5:15 AM Robert A. Knop Jr. <[hidden email]> wrote:

> On 2019-02-27 09:33, Asaff Belfer wrote:
> > I get your feelings and I think the same that LSL can be better.
> > I've
> been
> > in SL only a few years but I can imagine what goes on behind the
> > scene. I believe it's a struggle to keep such a company afloat as
> > there is a huge infrastructure to support and a complex system that
> > requires end user support as many low tech users are using it and
> > tech support is an expensive resource. Add research and development
> > to it and you'll get a monster that you need to feed.
>
> Historically, LSL was originally developed over one week by (for the
> most part) one guy... and that was the second iteration.  The first
> iteration was hacked out in one night.
>
>   http://ondrejka.net/metaverse%20memory/2008/01/22/lsl1.html
>
> Anything fundamental to the design of the language that seems odd
> probably comes from the fact that what we have today is still the
> direct descendant of something hacked out pretty quickly to replace an
> extremely quick proof-of-concept hack.  Of course, LL has done a lot
> of work on it since, but the fundamental nature of the language stays
> the same.  The work I was most familiar with is when the backend went
> to Mono (back in 2008 or thereabouts), which helped a lot.  At the
> time, there was some internal talk (on the part of Babbage and some of
> the ohters who were actually doing it) that this would make possible
> C# as a scripting language for SL in the future, but of course none of
> that ever happened.
>
> --
> --Rob Knop
>   E-mail:    [hidden email]
>   Home Page: http://www.sonic.net/~rknop/
>   Blog:      http://www.galacticinteractions.org/
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Serendipity Seraph-2
In reply to this post by Asaff Belfer
Uh, I have been in SL since 2004 and I never saw much of anything in the
way of tech support for users except various forums and websites, many user
run in no small part.  And back in the day a wandering Linden or two.  So
they are not and as far as I know have not invested much in tech support
for users.  Most things the users figured out for themselves just as the
built almost all the content.

R&D perhaps in the old days and perhaps for Sansar which no one who has
been in this a long time that I know of really wants.  That it is PC only
doesn't help.  That it takes away some of the hack it together yourself
inworld is not good either.  Back in the day there was some real SL
research including hypergrid like functionality which they then nixed and
an web viewer project which I used.  It was not bad.  But also shelved for
some bizarre reason.

And their monolithic server archiceture could learn a LOT from opensim.
 Opening up to hypergrid would breathe a lot of life into it.  Bringing
down the price of land superciliously would come with that.  Server costs
could drop with a bring your own server into the grid (a la osgrid but more
proprietary) could lower their internal costs a lot.  If they needed more
money then charge monthly fees for various levels of service from free up.
Let the users that made ti great to start with lay hands on more parts of
their own infrastructure and destiny at whatever level of skill or buying
stuff others built they have.

Some things are VERY low hanging fruit like a scriptable inventory system
so ways of managing that crap that make much better sense can be done.  And
the old User, Assets, etc server architecture and communication protocols
to/from them are an abomination relative to modern practices.  I would love
to see a NoSQL db for some of this and nothing but json protocol or better
to/from these things.

Even in OpenSim there seems to be a hidebound conservatism for changing all
that much without doing a fork.  This includes a fear from what i hear of
even cleaning up and refactoring the rather old-school C# style used.  I
think a lot more really good hackers would get a lot more done if that was
not so.  Perhaps a hard fork under more liberal administration would be a
good thing?  Dunno.  Not deep enough into that side of things to understand
how much of a problem there is and what can be done.



On Wed, Feb 27, 2019 at 12:35 AM Asaff Belfer <[hidden email]> wrote:

> I get your feelings and I think the same that LSL can be better. I've been
> in SL only a few years but I can imagine what goes on behind the scene. I
> believe it's a struggle to keep such a company afloat as there is a huge
> infrastructure to support and a complex system that requires end user
> support as many low tech users are using it and tech support is an
> expensive resource. Add research and development to it and you'll get a
> monster that you need to feed.
>
> As for opensim, I think that a secondary scripting system can be added. If
> today you can annotate your code to specify the script language (i.e. c#)
> maybe there is a way to set things up so that you could implement other
> scripting languages and use that annotation to route the code to the right
> compiler.
>
>
> Asaff
>
>
> On Wed, Feb 27, 2019 at 12:16 AM Haravikk <[hidden email]> wrote:
>
> >
> >
> > > On 26 Feb 2019, at 19:28, Serendipity Seraph <[hidden email]>
> > 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
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Serendipity Seraph-2
In reply to this post by Ethan Gardener
Sure.  But it would be 1000% better than LSL

On Wed, Feb 27, 2019 at 1:43 AM Ethan Gardener <[hidden email]> wrote:

> On Tue, Feb 26, 2019, at 7:34 PM, Serendipity Seraph wrote:
> > javascript and embedded V8 engine?  Particularly something node-ish with
> > easy of protocol handling, event handling, async event loop at its core
>
> Caution #1: We need floating point numbers. Javascript freely converting
> between numbers and strings can produce some very strange-looking
> floating-point bugs.
>
> Caution #2: Node's own author discovered its design to be a mistake.  He
> wrote it up, posted it; his post was taken down as "too controversial".
> (The hubris and arrogance which builds up around some projects is
> *horrible!*)  I'm sorry I don't remember details, but part of it was
> something like, "there's no such thing as non-blocking; using the CPU takes
> time."  Node's design arose out of a desire to imitate some dangerous hacks
> a very smart programmer made very carefully to stretch the limits of 90s
> web servers.  Node was not designed with the same level of skill.
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Serendipity Seraph-2
In reply to this post by Mister Blue
An idea that keeps popping into my head is to add more client side
scripting.  That would remove a lot of the resource/security backend issue
thinking.  Of course it would demand some new client-server APIs to be
workable.  But in the process perhaps we would get more interesting objects
flowing across and mutating programmatically on the front end communicating
bi-directional minimal object diffs with backend.  It could be a lower
bandwidth system overall.


On Wed, Feb 27, 2019 at 10:12 AM Mister Blue <[hidden email]>
wrote:

> OpenSimulator could really use new/different script engines. What is
> missing is a developer who wants to dive-in and make the code happen.
>
> Since there are and have been multiple script engines, the rudiments of a
> plugable environment does exist as a start toward a cleanup and addition of
> new languages. That's the easy part, actually. There are some tough
> problems. Security and resource management (CPU time, memory, disk, ...)
> come to mind.
>
> Ping your coding friends. Maybe we can find someone who would clean up the
> existing script engine framework and add a new language.
>
> On Wed, Feb 27, 2019 at 5:15 AM Robert A. Knop Jr. <[hidden email]>
> wrote:
>
> > On 2019-02-27 09:33, Asaff Belfer wrote:
> > > I get your feelings and I think the same that LSL can be better. I've
> > been
> > > in SL only a few years but I can imagine what goes on behind the
> scene. I
> > > believe it's a struggle to keep such a company afloat as there is a
> huge
> > > infrastructure to support and a complex system that requires end user
> > > support as many low tech users are using it and tech support is an
> > > expensive resource. Add research and development to it and you'll get a
> > > monster that you need to feed.
> >
> > Historically, LSL was originally developed over one week by (for the
> > most part) one guy... and that was the second iteration.  The first
> > iteration was hacked out in one night.
> >
> >   http://ondrejka.net/metaverse%20memory/2008/01/22/lsl1.html
> >
> > Anything fundamental to the design of the language that seems odd
> > probably comes from the fact that what we have today is still the direct
> > descendant of something hacked out pretty quickly to replace an
> > extremely quick proof-of-concept hack.  Of course, LL has done a lot of
> > work on it since, but the fundamental nature of the language stays the
> > same.  The work I was most familiar with is when the backend went to
> > Mono (back in 2008 or thereabouts), which helped a lot.  At the time,
> > there was some internal talk (on the part of Babbage and some of the
> > ohters who were actually doing it) that this would make possible C# as a
> > scripting language for SL in the future, but of course none of that ever
> > happened.
> >
> > --
> > --Rob Knop
> >   E-mail:    [hidden email]
> >   Home Page: http://www.sonic.net/~rknop/
> >   Blog:      http://www.galacticinteractions.org/
> > _______________________________________________
> > Opensim-users mailing list
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: LSL could support nested lists

Serendipity Seraph-2
In reply to this post by Ethan Gardener
In my Lisp hacking a good rule of thumb is that if a property list or assoc
list (basically lists of pairs) has 20-50 (depending on implementation) or
less items then don't escalate to a hash table.

On Wed, Feb 27, 2019 at 2:05 AM Ethan Gardener <[hidden email]> wrote:

> On Tue, Feb 26, 2019, at 10:16 PM, Haravikk wrote:
> > [...] I mean seriously, no proper array but instead we
> > get a linked-list that is fully copied on even minor modifications,
>
> I remembered this just as I was falling asleep after my last big email.
> Basically, LSL has two ways of preventing reference loops, each of which is
> quite good enough on its own.  Given that a list is copied on even the
> smallest of modifications, there's no reason to prevent lists containing
> list references. There's no way to make a circular reference because each
> list becomes immutable before its reference can be obtained.
>
> We could have nested lists as soon as appropriate functions could be
> designed and implemented.  (Now I think about it, I can't understand why
> no-one's implemented it before.)
>
>
> Don't get hung up on it being a linked list, the truth about performance
> is often very surprising and quite contrary to popular opinion.  For
> instance, a hash table may spend more time hashing than a linked list would
> searching.  This was an actual *serious* problem a few years ago with
> programmers producing terribly slow designs because they thought some
> techniques were always faster.  It's probably still going on, but I stopped
> paying attention because it makes me angry.  (Same with the async i/o /
> node.js hubris.)  In any case, because it's always copied, the actual
> implementation could be anything.
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: use of C# in scripts

Serendipity Seraph-2
In reply to this post by Frisby, Adam
Apparently some folks put a bit a thought into using Lua.  One link at
https://sledjhamr.org/git/docs/SledjHamr/LuaSL-New-scripting-engine.html


On Wed, Feb 27, 2019 at 10:39 AM Adam Frisby <[hidden email]> wrote:

> Free helpful tip - Lua has a lot of good runtimes. We're using MoonSharp
> in Sinespace's client and serverside scripting.
>
> It takes a bit of work to implement maximum execution time limits, memory
> constraints, etc - but it's a solid runtime and comes recommended by me.
>
> Regards,
>
> Adam
>
> -----Original Message-----
> From: [hidden email] <
> [hidden email]> On Behalf Of Mister Blue
> Sent: Thursday, 28 February 2019 4:11 AM
> To: opensim-users maillist <[hidden email]>
> Subject: Re: [Opensim-users] use of C# in scripts
>
> OpenSimulator could really use new/different script engines. What is
> missing is a developer who wants to dive-in and make the code happen.
>
> Since there are and have been multiple script engines, the rudiments of a
> plugable environment does exist as a start toward a cleanup and addition of
> new languages. That's the easy part, actually. There are some tough
> problems. Security and resource management (CPU time, memory, disk, ...)
> come to mind.
>
> Ping your coding friends. Maybe we can find someone who would clean up the
> existing script engine framework and add a new language.
>
> On Wed, Feb 27, 2019 at 5:15 AM Robert A. Knop Jr. <[hidden email]>
> wrote:
>
> > On 2019-02-27 09:33, Asaff Belfer wrote:
> > > I get your feelings and I think the same that LSL can be better.
> > > I've
> > been
> > > in SL only a few years but I can imagine what goes on behind the
> > > scene. I believe it's a struggle to keep such a company afloat as
> > > there is a huge infrastructure to support and a complex system that
> > > requires end user support as many low tech users are using it and
> > > tech support is an expensive resource. Add research and development
> > > to it and you'll get a monster that you need to feed.
> >
> > Historically, LSL was originally developed over one week by (for the
> > most part) one guy... and that was the second iteration.  The first
> > iteration was hacked out in one night.
> >
> >   http://ondrejka.net/metaverse%20memory/2008/01/22/lsl1.html
> >
> > Anything fundamental to the design of the language that seems odd
> > probably comes from the fact that what we have today is still the
> > direct descendant of something hacked out pretty quickly to replace an
> > extremely quick proof-of-concept hack.  Of course, LL has done a lot
> > of work on it since, but the fundamental nature of the language stays
> > the same.  The work I was most familiar with is when the backend went
> > to Mono (back in 2008 or thereabouts), which helped a lot.  At the
> > time, there was some internal talk (on the part of Babbage and some of
> > the ohters who were actually doing it) that this would make possible
> > C# as a scripting language for SL in the future, but of course none of
> > that ever happened.
> >
> > --
> > --Rob Knop
> >   E-mail:    [hidden email]
> >   Home Page: http://www.sonic.net/~rknop/
> >   Blog:      http://www.galacticinteractions.org/
> > _______________________________________________
> > Opensim-users mailing list
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
12