Chapter 7 High and Low Level Languages

A programming language is a language that is used to interact with a computer system.

An algorithm is a set of pre programmed instructions a computer follows.  Can be written in high and low level languages

A High Level Language is a language similar to human language that programmers can interact with easily and understand.  Languages designed with operator/programmer in mind.  Gives programmers the ability to write code quickly, debug and maintain. Such as Python, JavaScript, C++, etc. 

A Low Level Language is a language that relates to specific architecture and hardware of a particular system from machine code, binary and hexadecimal.  Assembly languages needs a translator in order to be translated into machine code (binary).  The assembly language is more direct and more quicker in CPU. 

Assembly language – Not a common language programmers write in

    1. This language enables programmers to make use of machine dependent instructions
    2. Direct code such as assembly enables quick completion of instructions
    3. A language used by programmers when programming CPU’s

A machine codis:

  • A language commonly written in hexadecimal and binary form
  • Not a widely used language due to the complexity i.e. difficult for programmers to work with and understand


Computers do not understand high level languages, technology makes use of translators as computers are unable to recognize anything that isn’t 0 or 1

Compiler – Translates HLL to machine code.  Code can be reused after translation

Interpreter – Reads and performs actions from HLL, does not reuse code (It wont remember the code and store even if you run it multiple times)

Assemblers – Assembly languages to machine code, commonly used by internal components such as the CPU

Using an Integrated/Interactive Development Environment (IDE):

Most high level programming languages offer the use of an IDE for program development. This contains an editor with an interpreter and/or compiler together with debugging tools, which can improve the speed of program development.