Higher level and lower level languages

From Computer Science Wiki
Programming basics[1]

Higher level language[edit]

A high-level language (HLL) is a programming language such as C, FORTRAN, or Pascal that enables a programmer to write programs that are more or less independent of a particular type of computer. Such languages are considered high-level because they are closer to human languages and further from machine languages.[2]

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.[3]

List of some popular higher-level languages[edit]

  • Python
  • Java
  • JavaScript
  • C++
  • C#
  • Ruby
  • Perl
  • PHP
  • GO
  • Rust

Low level language[edit]

A low-level language is a programming language that provides little or no abstraction of programming concepts and is very close to writing actual machine instructions. Two examples of low-level languages are assembly and machine code.[4]

A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions. Generally, this refers to either machine code or assembly language. The word "low" refers to the small or nonexistent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware". Programs written in low-level languages tend to be relatively non-portable.[5]

List of some low-level languages[edit]

  • assembly language
  • machine language

Video to help you understand[edit]

Levels of programming languages[edit]

I used this glossary from an auth0 article on web assembly[6]

  • Source code: What a developer writes.
  • Compiler: An application that turns source code into assembly, bytecode or machine code (what other apps or hardware run).
  • Assembly: A low-level source-like language specific to a machine or an application.
  • Bytecode: A low-level binary representation of code that can be run by other applications.
  • Machine code: A binary representation of code that can be run directly by hardware.


  • Explain the need for higher level languages.
  • Outline the need for a translation process from a higher level language to machine executable code.