SLIDE 1
CSZone.co.uk
Click to advance · Arrow keys also work
Edexcel 1CP2 · Topic 3 · 3.3a

Software Types
& Translators

System vs Application Software · Compiler · Interpreter · Assembler

CSZoneEdexcel GCSE Computer Science 1CP2
Types of Software

System Software vs Application Software

System software: manages hardware and provides a platform. Includes the OS, device drivers, utilities (e.g. antivirus, disk defragmenter), and translators.
Application software: programs designed for end users to perform specific tasks. Examples: word processors, web browsers, games, spreadsheets, photo editors.
Utility software sits between OS and applications — e.g. backup software, compression tools
Compilers

Translating All at Once

A compiler translates the entire high-level source code into machine code in one go before the program runs. The resulting executable (.exe) can run without the compiler.
Advantages: fast execution (already translated); distributable as .exe; source code hidden
Disadvantages: must recompile after any changes; compilation takes time; platform-specific
Examples: C, C++, Go use compilers; Python can use PyPy as a JIT compiler
Interpreters & Assemblers

Line-by-line Translation & Low-level Code

Interpreter: translates and executes source code one line at a time. No standalone executable produced — must have the interpreter installed to run. Python uses an interpreter (CPython).
Assembler: translates assembly language (low-level, human-readable mnemonics) into machine code (binary). One-to-one translation: each assembly instruction → one machine code instruction.
Interpreter advantage: easier to debug (errors reported line by line); no compilation step
Exam Practice

Have a go at this question

Edexcel-style question
Give two differences between a compiler and an interpreter.
4 marks
A compiler translates the whole program at once, whereas an interpreter translates one line at a time [1+1]. A compiler produces a standalone executable file, whereas an interpreter requires the interpreter to be present each time the program runs [1+1].
Key Takeaways

What to Remember

System software: OS, drivers, utilities, translators
Compiler: whole-program, fast execution, produces .exe; Python = interpreter
Interpreter: line-by-line, easier debugging, needs interpreter to run
Assembler: assembly language → machine code; 1-to-1 translation