I have a question. I actually know the difference between compiling and interpreting languages. But, What I do not really understand is , how can any programming language be both compiling and interpreting ? Thank you.
Asked
Active
Viewed 71 times
1
-
1It can be that the language follows different phases(talking about Java here specifically) : it is both a interpreting language, and also a compiling language. javac compiles source code into java byte code; and the JIT compiler compiles the bytecodes of that method into native machine code.[Check this answer for more detail](http://stackoverflow.com/a/14708631/3482140) – Am_I_Helpful Nov 15 '15 at 12:21
-
1A programming language is neither compiling nor interpreting. Only an implementation is, and one language can have multiple different implementations. – SK-logic Nov 18 '15 at 20:50
2 Answers
2
If an interpreting language is one for which an interpreter exists and a compiling language is one for which a compiler exists, then a language can be both if someone wrote an interpreter for it and someone else (or the same person/team) wrote a compiler for it.

sepp2k
- 363,768
- 54
- 674
- 675
2
One possible way to "interpret" a program fragment is to compile it and then invoke the compiled code. Using this procedure would allow you to implement any behavioural aspect of an interpreter, such as a REPL, or the eval
function itself.

rici
- 234,347
- 28
- 237
- 341