Languages, Translators & IDEs

J277 · 2.5 Programming Languages & IDEs · GCSE Computer Science

Component 02

Levels of Programming Language

Machine Code

Low-level

Binary instructions directly executed by the CPU. Hardware-specific — code written for one processor won't work on another.

01001000 10001101 00000101

Fast to execute · Hard to write/read · Not portable

Assembly Language

Low-level

Uses mnemonics (short words) as a direct substitute for machine code. One assembly instruction = one machine code instruction.

LDA 5     ; Load value at address 5
ADD 10    ; Add 10
STA 20    ; Store result at address 20

Still hardware-specific · Easier than binary · Translated by an Assembler

High-Level Language

High-level

Human-readable. Portable — same code runs on different hardware. Abstracted from hardware details. Examples: Python, Java, C#.

total = sum(scores)
average = total / len(scores)
print(f"Average: {average}")

Portable · Easy to write · Must be translated before execution

Translators

Assembler

Converts assembly language to machine code. One-to-one translation.

Translates assembly → machine code
Direct, fast process

Compiler

Translates the entire high-level program to machine code before execution. Creates a standalone executable file.

+Fast at runtime (already translated)
+Source code hidden from end user
+No translator needed to run
All errors reported at end of compile
Platform-specific executable

Interpreter

Translates and executes the high-level program line by line. No separate executable is created.

+Errors reported line by line
+Easier to debug
+Can run on any platform with interpreter
Slower at runtime (translates every run)
Source code must be present to run

IDE Features

An IDE (Integrated Development Environment) combines tools to help programmers write, test and debug code efficiently.

Syntax Highlighting

Different elements of code are coloured — keywords, strings, comments. Makes code easier to read and spots errors visually.

Auto-complete

Suggests completions as you type — method names, variables. Reduces typing errors and speeds up coding.

Debugger

Step through code one line at a time. Inspect variable values at each step. Set breakpoints to pause execution.

Error Diagnostics

Underlines or highlights errors as you type. Shows error messages to help identify problems quickly.

Run Environment

Execute and test your program without leaving the IDE. See output in a built-in console window.

Version Control

Integration with tools like Git to track changes, revert to previous versions, and collaborate with others.

Translator Sorter

Classify each statement — does it describe a Compiler, Interpreter, or Assembler?