Talk:List of JavaScript engines: Difference between revisions

Content deleted Content added
Niels.bom (talk | contribs)
m PhotographyEdits moved page Talk:JavaScript engine to Talk:List of JavaScript engines without leaving a redirect: it is a list article
 
(3 intermediate revisions by one other user not shown)
Line 17:
}}
{{Archives}}
 
== History of JIT ==
 
The article is currently wrong in that it claims Google Chrome pioneered JIT. In fact, the TraceMonkey JIT for Firefox appeared as a Beta before Chrome was even announced, and became standard in Firefox at about the same time that the Chrome came out of Beta.
 
The current page is simply wrong. I have tried to correct this with proper references but someone keeps undoing my edits. [[Special:Contributions/72.203.80.253|72.203.80.253]] ([[User talk:72.203.80.253|talk]]) 06:15, 17 February 2024 (UTC)
 
:Perhaps the V8 team could claim priority here, since they independently developed it for a few years prior to Chrome's release in 2008. There's another problem with your claim of Eich/TraceMonkey being the first to have JIT: In terms of widespread, non-beta deployment Chrome was well ahead of Firefox, which is supported by Mozilla's "Are we fast yet?" website and another reference in the article. (And I personally remember Firefox being noticeably slower than Chrome for JS back in those early years of Chrome.)
:Anyhow, I don't think it really matters who gets credited for "the pioneer" of JIT in a JS engine. So I'm reverting back to my edit of yesterday where this point is not even mentioned. (It still has the same Eich blog ref anyways.) -[[User:Pmffl|Pmffl]] ([[User talk:Pmffl|talk]]) 19:56, 17 February 2024 (UTC)
 
::Well, it does matter because that is the published history. TraceMonkey in Firefox actually goes back to 2006 also, with the publication being Gal, A., Franz, M., & Probst, C. (2006). HotpathVM: An Effective JIT for Resource-constrained Devices. In 2nd International Conference on Virtual Execution Environments (VEE 2006). This made it into Firefox before anyone outside of Google even knew that Chrome was being developed. So the current article is not honest about who did what and almost looks like a hidden advertisement for Google.
::In fact, as the cited Brendan Eich blog shows, TraceMonkey led to a 700 percent (!) speedup over all previously existing browsers at the time. And Chrome and Firefox often traded places in the speed race in the years that followed.
::It is simply not fair to give Google the credit when they were second to launch, and worse, suppress the fact that Firefox also had a JIT BEFORE. [[Special:Contributions/72.203.80.253|72.203.80.253]] ([[User talk:72.203.80.253|talk]]) 23:09, 17 February 2024 (UTC)
 
:::I just added info that Mozilla was working on JIT at the time. But you can't claim JS performance parity of regular 2009 Firefox and Chrome; the refs in the paragraph show that V8 was clearly faster. Fact is, Mozilla caught up to V8 a few years later. -[[User:Pmffl|Pmffl]] ([[User talk:Pmffl|talk]]) 02:47, 18 February 2024 (UTC)
 
== Use the term "implementation" ==
 
AFAIK JavaScript engines are in fact [[Programming language implementation|implementations]] of the ECMAScript standard. I'm not sure why they are called "engines" in the JavaScript ecosystem but all/most of them have as their main/sole function to execute JavaScript code.
 
My suggestion is to remove this potential confusion and apparent distinction and at least add something like
 
JavaScript engines are [[Programming language implementation|implementations]] of ECMAScript. [[User:Niels.bom|Niels.bom]] ([[User talk:Niels.bom|talk]]) 12:16, 23 February 2024 (UTC)
 
:I disagree with saying that JS engines are ''only'' implementations of the ES standard; the major ones now run WebAssembly too, which is standardized independently of ES. -[[User:Pmffl|Pmffl]] ([[User talk:Pmffl|talk]]) 19:29, 23 February 2024 (UTC)
::Ah yes, I see [https://v8.dev/docs here] "V8 implements ECMAScript and WebAssembly". What do you say of the following?
::"JavaScript engines are [[Programming language implementation|implementations]] of the ECMAScript standard. Some JavaScript engines also implement other language standards."
::Or maybe something like:
::"JavaScript engines contain [[Programming language implementation|implementations]] of the ECMAScript standard. Some JavaScript engines ''also'' contain implementations of other language standards."
::Or:
::"JavaScript engines often consist of an [[Programming language implementation|implementation]] of the ECMAScript standard. They may ''also'' contain implementations of other language standards."
::The main thing I want to prevent by rewording it is people thinking JavaScript engines are more than language implementations, which they're not (afaik). [[User:Niels.bom|Niels.bom]] ([[User talk:Niels.bom|talk]]) 16:40, 28 February 2024 (UTC)