1/34
Vocabulary flashcards covering programming language levels, translators, compilers, interpreters, and IDE tools for OCR GCSE Computer Science J277 section 2.5.
High-level programming language
A programming language designed to be relatively easy for humans to read, write and understand.
Low-level programming language
A language close to the instructions understood directly by computer hardware.
Key advantage of a high-level language
It is generally easier for programmers to read, write, debug and maintain.
Key advantage of a low-level language
It gives the programmer greater direct control over hardware and system resources.
Common disadvantage of a high-level language
It requires translation before the processor can execute it and gives less direct hardware control.
Common disadvantage of a low-level language
It is harder for humans to read, write, debug and maintain.
Portability of high-level languages
The same source code can often be translated for different processors or systems with little or no change.
Portability of low-level languages
They are closely tied to a particular processor architecture or instruction set.
Translator
Software that converts program code into a form the computer can execute.
Reason a translator is needed
A processor cannot directly execute high-level source code; it needs machine-executable instructions.
Compiler
A translator that translates a whole program before execution.
Interpreter
A translator that translates and executes code one statement at a time.
Compiler vs interpreter translation timing
A compiler translates the program before it runs; an interpreter translates statements as the program runs.
Output of a compiler
Executable/object code that can be run without translating the source program again each time.
Advantage of a compiler
Once compiled successfully, the executable can usually run without the compiler and may execute faster than interpreted code.
Disadvantage of a compiler
The whole program must be compiled before it can be run, and error diagnosis during development may be less immediate.
Advantage of an interpreter
Code can be run and tested statement by statement, making development and debugging convenient.
Disadvantage of an interpreter
The program needs the interpreter and is translated during execution, which can make execution slower.
Use case for an interpreter
During development, when a programmer wants to test code and identify problems quickly.
Use case for a compiler
When distributing a finished program or when execution speed is important.
OCR J277 requirement on assemblers
OCR explicitly states that understanding assemblers is not required.
IDE (Integrated Development Environment)
Software providing tools that help a programmer develop programs.
Explicitly required IDE tools/facilities
Editors, error diagnostics, a run-time environment and translators.
Editor
An IDE tool used to enter and edit program source code.
Role of an IDE editor
Provides a convenient place to create and modify source code, often with features that improve readability and editing.
Error diagnostics
IDE tools or messages that help identify errors or possible problems in program code.
Role of error diagnostics
They indicate where errors may have occurred and provide information that helps the programmer correct them.
Run-time environment
An IDE facility that allows a program to be executed and tested.
Role of a run-time environment
Allows the programmer to run the program, observe its behaviour and test changes.
Translator within an IDE
A compiler or interpreter provided or accessed by the IDE to translate program code.
Role of an IDE translator
Allows source code to be translated and run as part of the development process.
Overall usefulness of an IDE
Brings coding, translation, running/testing and error support together in one development environment.
OCR expected practical experience for IDEs
Students should have practical experience using a range of IDE tools within at least one IDE.
Required translator comparison
Explain differences, benefits and drawbacks of a compiler and an interpreter in a given context.
Required language levels comparison
Explain differences between high-level and low-level languages and why one may suit a particular purpose.