Compilation vs. interpretation - advantages and disadvantages

Compilation vs. interpretation - advantages and disadvantages


COMPILATION
INTERPRETATION

ADVANTAGES

  • the execution of the translated code is usually faster;
  • only the user has to have the compiler - the end-user may use the code without it;
  • the translated code is stored using machine language - as it is very hard to understand it, your own inventions and programming tricks are likely to remain your secret.
  • you can run the code as soon as you complete it - there are no additional phases of translation;
  • the code is stored using programming language, not the machine one - this means that it can be run on computers using different machine languages; you don't compile your code separately for each different architecture.

DISADVANTAGES

  • the compilation itself may be a very time-consuming process - you may not be able to run your code immediately after any amendment;
  • you have to have as many compilers as hardware platforms you want your code to be run on.
  • don't expect that interpretation will ramp your code to high speed - your code will share the computer's power with the interpreter, so it can't be really fast;
  • both you and the end user have to have the interpreter to run your code.

What does this all mean for you?

  • Python is an interpreted language. This means that it inherits all the described advantages and disadvantages. Of course, it adds some of its unique features to both sets.
  • If you want to program in Python, you'll need the Python interpreter. You won't be able to run your code without it. Fortunately, Python is free. This is one of its most important advantages.

Due to historical reasons, languages designed to be utilized in the interpretation manner are often called scripting languages, while the source programs encoded using them are called scripts.

Comments