Yes, and you can also compile Jave straight down to machine code if you like. The above claim that it is a mistake to differentiate between interpreted and compiled languages is IMHO incorrect; every language that has an "eval" statement which lets you construct and evaluate statements on the fly can never be cleanly compiled down to machine code; you will always have to embed an interpreter in your compiled code. --AxelBoldt |
Yes, and you can also compile Jave straight down to machine code if you like. The above claim that it is a mistake to differentiate between interpreted and compiled languages is IMHO incorrect; every language that has an "eval" statement which lets you construct and evaluate statements on the fly can never be cleanly compiled down to machine code; you will always have to embed an interpreter in your compiled code. --AxelBoldt Way too much mess here has been caused by lack of clear definition of "compiling". It is used in two distinct meanings, as in: # compiled to machine code (or assembly) # compiled to byte code/parse tree/some other internal representation I think it's wrong to call languages that use the second way "compiled". In such case there would be virtually no interpreted language in use - no language uses line-by-line parsing nowadays, all "compile" source to some form of internal representation. Quote from FOLDOC: Compiler A program that converts another program from some {source language} (or {programming language}) to {machine language} (object code). Some compilers output {assembly language} which is then converted to {machine language} by a separate {assembler}. ... |