Skip to content

9618 · 16.2

Translation Software — common mistakes

Common exam mistakes on 9618 Translation Software. Learn what loses marks, then practise the topic with Examiner’s Ink.

Exam tip 1

A classic exam question involves comparing compilers and interpreters. Be prepared to discuss their differences in terms of: speed of execution (compiler wins), speed of translation/development (interpreter wins), portability (interpreted code is more portable), error reporting (interpreter reports errors at runtime, line-by-line; compiler reports all syntax errors at once before execution), and distribution (compiler produces a standalone executable).

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.