Why we do not write games in raw binary, and what the editor is doing besides showing a blinking cursor.
2.5.1 Languages
High-level vs low-level
| High-level | Low-level | |
|---|---|---|
| Examples | Python, Java, C#, OCR ERL | Assembly, machine code |
| Close to | Human language / maths | The CPU’s actual instructions |
| Portability | One program can run on many CPUs after translation | Often specific to a processor family |
| Speed / control | Easier to write; translator decides details | Fine control, can be faster / smaller |
| Ease | Faster to learn and debug | Painful for large programs |
Machine code is binary the CPU executes. Assembly is a text mnemonic for those instructions (LDA, ADD) — still low-level.
Translators
High-level source has to become machine code (or be carried out by one).
| Compiler | Interpreter | |
|---|---|---|
| How | Translates the whole program into an executable, then you run it | Translates and runs line by line (or statement by statement) |
| After translation | You can run the executable without the compiler | You need the interpreter every time |
| Errors | Often reported in a batch after compile | Stops at the first runtime/syntax problem it hits |
| Speed of the finished program | Usually faster (already machine code) | Usually slower (translating as it goes) |
| Speed of trying ideas | Compile step costs time | Instant run — good for learning |
Python is typically interpreted (CPython). C is typically compiled. Some languages use both (compile to bytecode, then interpret/JIT). If the question is two-column compare, stay with the table above.
Assembler translates assembly → machine code. (A third translator type; mention it if they ask for all.)
2.5.2 The IDE
An Integrated Development Environment is the app you write in (VS Code, PyCharm, IDLE, Thonny…). OCR wants facilities:
| Facility | Why it helps |
|---|---|
| Editor | Typing code, often with colour (syntax highlighting) and auto-indent |
| Error diagnostics | Underlines / messages for syntax problems before or as you run |
| Run-time environment | Actually runs the program, shows output, lets you type input |
| Translator | Compiler or interpreter built in or one click away |
| Debugger (worth knowing) | Breakpoints, step line-by-line, watch variables — cousin of a trace table |
An IDE is not required to write code (Notepad + python file.py works) but it reduces friction and catches mistakes earlier.
If you already live in an editor, use the quiz as a vocabulary check. If not, open Thonny or VS Code and find each facility once — that is the exercise.