Re: JavaScript engines



Jason D. Clinton wrote:
On Tue, Jan 6, 2009 at 9:12 AM, Johan Dahlin <johan gnome org> wrote:
We need to have this discussion sooner or later, seems like sooner
is now required as Robert proposed to have Seed included in Gnome.

First of all, I think most of us agrees that it would be a mistake to depend
on two different JavaScript bindings in GNOME, we need to chose one and
stick to that one.

Actually, I do disagree. The JavaScript interpreter/JIT wars are just
now heating up and its still way to early to call a winner. 2-3 years
from now, there could be a distinct winner in the JS VM battle and it
would be unfortunate if we picked the wrong horse, so to speak. I
think we need to support bindings for both front-runners. After all,
both implementations run the same language with the same syntax and
they are *both* using the same underlying GObject bindings so the
API's will be the same.

The language is pretty different, SpiderMonkey supports quite a few /language/ extensions which JSCore doesn't.[1][2][3]

I don't see any harm in using both for the short to medium term.

What you're saying is essentially the same as saying that we should support more than one toolkit as well. Why don't we go ahead and support Qt next
to Gtk in GNOME as well?

My point is that you can write an application which supports both but it'll
be a lot of extra work to little benefit.

Using different JS engines for different applications can also be compared to toolkits. Can certainly be done, but will create similar inconsistencies. Engine 1 supports features A, B, C, but Engine 2 supports features D, E and F. People will just ask; No to mention trying to answer the obvious "Which engine should I use in my application?" question.

Johan

[1]: https://developer.mozilla.org/en/New_in_JavaScript_1.6
[2]: https://developer.mozilla.org/en/New_in_JavaScript_1.7
[3]: https://developer.mozilla.org/en/New_in_JavaScript_1.8


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]