Nexe: Create a single executable out of your Node.js apps
github.com
github.com
Interpreted languages are distributed as source code, and an interpreter evaluates each line of code to transform it into machine language for execution on the CPU. This allows the same code to run on any CPU for which an interpreter is available.
Compiled language source is transformed into machine language once, at compile time, using a compiler that understands how to turn the source code into machine language for a given environment. Once it's been compiled it generally will only work on the CPU/OS for which it was compiled. If you're going to distribute the work, you will have to compile many different versions.
There are volumes written on the differences and advantages of each method. JavaScript was created as an interpreted language so that developers could write code which can be executed on any browser with a JavaScript interpreter- important for a language that is used on web pages which can be viewed on a very wide variety of devices and machine architectures.
The OP states:
1. Interpreted language (whatever that is) are necessarily distributed as source code and an interpreter evaluates the source code line by line.
2. Compiled languages (whatever that is) are not distributed as source code and they are necessarily transformed to machine code.
Both statements are wrong as they are.