3 ms·
There is not a clear differentiation. For one thing just because the primary implementation is a compiler doesn't mean you can't also have an interpreter. Ther
by rat87 3y ago
There is not a clear differentiation. For one thing just because the primary implementation is a compiler doesn't mean you can't also have an interpreter.
There is no requirement that a compiler has to produce a binary. Compilers can also produce byte code or JavaScript or C code.
Also very few languages are purely interpreted.
Python, Ruby, and Pearl aren't (purely) interpreted. They're compiled
to bytecode, then that bytecode is interpreted. At least for primary version there's also jvm/.net versions of python and ruby and pypy(jit). Compilation happens at import/run time. Emscripten uses llvm to compile c/c++/rust into JavaScript.
Java and C# are recompiled into byte code which is then interpreted or jit compiled or both.