Let's Push Things Forward

Maximizing social utility for fun and (modest) profit

  • 1
Note that this post was largely to pass on the message of our conclusion at the hackfest. I personally don't have experience with GJS and our JS bindings (though their experts and experts with Python, Vala, C#, C, and other languages were all involved in the discussion). But I'll do my best to explain given my understanding.

- Did you guys choose a JS interpreter yet? Or do we use that API-incompatible unsupported mess that is GJS? Do we make a platform library out of it?

There's no immediate change planned here. We'll continue using GJS.

- Does this mean we will slowly port existing applications to Javascript? Will new GNOME apps have to be written in Javascript?

Some application maintainers may choose to port to JavaScript, but it will be optional and I don't expect any of them to be ported in the near future. New core GNOME apps should be written in JavaScript, but we're mainly targeting third-party app developers who are new to GNOME in the first place. We didn't make a strict decision that only JavaScript-based applications would be considered for inclusion in GNOME.

- Does this have any influence on introspection? Will introspection gain prototype-based inheritance? Or is introspection still lowest common denominator?

I don't think this is affected.

- You cannot write any library in Javascript. So I guess C is not just for "system libraries", but for all libraries?

Sure, C is recommended for any libraries recommended to be shared by other modules (which is essentially what I meant by "system libraries". But if applications ship an internal library written in JavaScript, that'd be fine.

- Will the libraries be tailored more towards Javascript or will stuff still randomly SEGV if you do something not quite right?

I don't think we would make any changes to g-i or the way we write libraries in a way that would be incompatible for the other introspected language bindings.

If you're getting segfaults from JavaScript applications, that sounds like a library or interpreter bug.

Edited at 2013-02-02 05:56 pm (UTC)

  • 1

Log in