8

Since the rising popularity of JavaScript, I found it intriguing to hear (even during the same speech) either about JavaScript engine, or about JavaScript virtual machine, or JavaScript interpreter, in the same context and referring to the same thing.

Therefore I've tried to do some research, why all those buzzwords do coexisting simultaneously (there must be a reason) and if there are some real (although slight) differences between them.

I'm trying to summarize what I've learnt so far, from many different sources (which I've quoted in the following lines). Feel free to correct me if I'm wrong/misleading with something.

Although I've found out that the runtime-duties of all of them are basically the sames, I've found also some main differences:

  1. Process virtual machines

  2. Runtimes

    • does not abstract away from native code
    • uses solely compilation techniques (either just-in-time or ahead-of-time)
    • lacks a VM process/sandboxed applications
    • tight-coupled/dependencies to the underlying operating system
    • examples: Common Language Runtime, Android Runtime
  3. Language Engines

Questions:

  • is the upper list accurate, or is it just a byproduct based on totally coincidental similarities between most common runtime systems, which use the same denomination?

  • are there also other noteworthy differences?

Community
  • 1
  • 1
Teodor Tite
  • 1,695
  • 3
  • 26
  • 27
  • 1
    As a mostly higher-level programmer I've always wondered the differences too. I think due to the similarities and emerging nature of evolving technologies people tend to speak loosely and will use some of these terms interchangeably. I hear this a lot with "compiler" and "transpiler". Thanks for the summary, I found it helpful! – andrewkeithly Mar 20 '21 at 13:21
  • I don't think your conclusion is correct. And you didn't provide references for every line. This kind of conclusion without references is dangerous, and usually misleading. I would recommend that you either delete it or delete it anyway. – VimNing Nov 18 '21 at 05:13
  • 1
    @Rainning please provide arguments why and what exactly you think it is not correct. Since this is a question, not an answer, those are no final conclusions, but the result of the research I’ve done prior asking (research which is mandatory according to the rules of SO, when asking) for which I’ve asked for feedback. All lines are based and covered by provided links (just did not repeated the references). – Teodor Tite Dec 01 '21 at 01:38

0 Answers0