Cambridge O Level Computer Science · Syllabus 2210 · Software
High-Level Language
What is High-Level Language?
A high-level language is a programming language that uses instructions closer to human language than to the processor's instruction set. It is easier to read, write and debug and is generally machine-independent, but it must be translated into machine code and gives less direct control of hardware than a low-level language.
This definition is part of the Software chapter in Cambridge O Level Computer Science.
High-Level Language in context
A high-level language is a programming language whose instructions are closer to human language than to the processor's own instruction set. Because the statements describe what should happen rather than which registers to move which bytes between, high-level code is easier to read, write and debug, and the same program will generally run on different computers — it is machine-independent. The costs are that it must be translated into machine code before a CPU can execute it, and that it gives the programmer less direct control of the hardware.
Common mistakes with High-Level Language
- "An assembler translates a high-level language." Correct model An assembler translates assembly language into machine code. High-level languages are translated by a compiler or an interpreter. Exam-safe sentence "An assembler is needed to translate an assembly language program into machine code."
- M12. "High-level code is directly executed by the CPU." Why it fails If it were true there would be no reason for compilers, interpreters or assemblers to exist — and the whole of 4.2 would be unexplainable. Corrected model A CPU executes machine code and nothing else. High-level source must be translated into machine code by a compiler or an interpreter first. Exam-safe sentence "High-level language must be translated into machine code before the CPU can execute it." Show the retrieval checkHide the check Check: What is the only kind of code a CPU can execute?Answer: Machine code — binary instructions from its own instruction set.
- M15. "An assembler translates high-level code." Why it fails It names the wrong translator, which is a direct loss of a mark in any question that asks which translator is needed. Corrected model An assembler translates assembly language into machine code. A compiler or an interpreter translates a high-level language. Exam-safe sentence "An assembler is needed to translate an assembly language program into machine code; high-level languages are translated by a compiler or an interpreter." Show the retrieval checkHide the check Check: Match each translator to what it translates: assembler, compiler, interpreter.Answer: Assembler → assembly language. Compiler → a whole high-level program. Interpreter → a high-level program, line by line.
Questions students ask about High-Level Language
What is the difference between a high-level language and a low-level language?
A high-level language uses instructions closer to human language than to a processor's own instruction set, so it is easier to read, write and debug, and is generally machine-independent — but it must be translated before a CPU can execute it and gives less direct control of the hardware. A low-level language, such as assembly language or machine code, is close to the processor's own instructions, machine-dependent and harder to read, write and debug, but allows direct manipulation of registers and memory locations.

