A1.4 Translation: notes and practice
A1.4 (HL only) is about how source code becomes something a machine can run: interpreters, compilers, assemblers, bytecode and just-in-time compilation. Questions usually ask you to compare approaches or pick one for a scenario.
Paper 1HL only2 practice questions
What you need to know
Our summary of the topic in our own words, not the IB guide. Points marked HL are for Higher Level only.
- Explain what a translator does and why source code must be translated before it runsHL
- Describe how an interpreter translates and executes a program statement by statementHL
- Describe how a compiler translates a whole program before executionHL
- Compare interpreters and compilers on error detection, translation time, execution speed and portabilityHL
- Explain what bytecode is and how a virtual machine executes itHL
- Explain just-in-time compilation and where it sits between interpretation and ahead-of-time compilationHL
- Choose a translation approach for a given scenario and justify itHL
- Describe the role of an assemblerHL
Practice questions
Original questions written for the 2027 course, marked as you go. Easiest first.
- Bytecode and JIT compilation in JavaWritten · Stretch
- Compiler or interpreter for a coding clubWritten · Stretch
Exam tips for A1.4
- Compare on named criteria: when errors are found, how long translation takes, how fast the result runs and how portable it is.
- Java is a good example of bytecode run on a virtual machine. Use it if a question asks for one.
- When you choose an approach for a scenario, tie your reason to what the scenario cares about most.
Updated 24 October 2026. Topic codes are used as labels. Everything on this page is written by ExamSpine and is not endorsed by the IB.