GCSE Computer Science

Component 2

2.5 Programming Languages and IDEs

Types of programming language

Programming languages fall into two main categories:

  • High level - these are the programming languages you are likely to be most familiar with. These languages use English sounding keywords and are as close to human language as possible. Examples are Python, Java, JavaScript, C# and Swift.
  • Low level - these languages are closest to the CPU and each CPU usually has its own low level languages to program it. The very lowest is called machine code which is the binary 0s and 1s that can be directly programmed the CPU.

The purpose of translators

Writing code in high level languages is much easier for software developers than coding in machine code. However, a CPU can only process machine code. This means that any high level code must first be translated into machine code before the CPU can process it. There are two main types of translator: compilers and interpreters.

The characteristics of compilers and interpreters

  • Compilers - translates the program all at once. If there are any errors at all, then the whole program won't run. Errors will be reported in one long error report after each translation attempt.
  • Interpreters - translates the program line by line. This means that the program will run up until an error is found. If an error is found, the program will stop and report just that one error.
programming languages cloud

Tools in an IDE

The Integrated Developer Environment is the program you use to write your code in. An IDE has lots of features that make it easier to develop software.


This is simply the text editor that you type your code in. It might have some useful features to help you: for example IntelliSense can remind you of the commands.

IDE editor

Error Diagnostics

This is the part of the IDE that tells you about errors. Once the program has been run it will give you a list of errors. Some IDEs use code highlighting to show you errors as you are typing.

syntax error

Run-Time Environment

A testing environment that lets you run your code and track the values of variables without fully compiling it into an executable file.


Converts the program into an executable file. This means it is in machine code and can run on a CPU. There are two types: compiler and interpreter (see previous page).