Compiled vs. Interpreted Languages
source code goes through a compiler and a file is created that contains the machine code
end result is known as an executable
once it's compiled, it is ready to run
it can be optimized for a CPU, so it can actually be faster
source code doesn't get shared, just an executable
if code is compiled on a PC, it will not work on a Mac
of ten needs to be compiled separately for different kinds of CPU even on the same platform
programming language for which most of its implementations execute instructions directly, without previously compiling a program into machine-language instructions1
You don't care what machine the other person is using because you just send the source code
Can be more portable and flexible across platforms
Easier when testing because you just write your source code & then run it, letting the interpreter take care of converting it
Easier to debug because you have all the source code
Everyone that needs to run it needs to have a compiler for that language
Can be slower because you have to interpret it everytime the program is run
Your source code is public
1 https://en.wikipedia.org/wiki/Interpreted_language