9618 · 16.2
Translation Software — FAQ
Frequently asked questions for 9618 Translation Software. Direct answers first, then deeper explanation — then practise with marking.
What is the difference between object code and executable code?
Object code is the direct output of the compiler for a single source file. It contains machine code but may have unresolved references to other files or libraries. Executable code is the final product after a 'linker' has combined one or more object files and linked them with the necessary libraries. It is a complete, runnable program.
If interpreters are slower, why are languages like Python so popular?
For many applications (e.g., web development, data analysis, scripting), the speed of development is more important than raw execution speed. Python's ease of use and rapid feedback loop (thanks to being interpreted) make programmers highly productive. Furthermore, for CPU-intensive tasks, Python libraries often use compiled C or Fortran code in the background, giving the best of both worlds.
Can a program use both a compiler and an interpreter?
Yes, this is common. A 'Just-In-Time' (JIT) compiler is a good example. It acts like an interpreter initially, but if it detects a piece of code being run repeatedly (like a loop), it will compile that section to native machine code on-the-fly for a speed boost. The Java Virtual Machine (JVM) and modern JavaScript engines use JIT compilation.