crystal glass on beach with celestial snow bridge

Layers of Programming: Machine, Assembly, & High Level Languages

Levels of Programming Languages

Programming is the act of developing a piece of software. And software contains instructions that tell a computer what to do. Therefore, programming is the process of developing instructions that tell a computer what to do.

And you can tell the computer what to do with with a with a programming language. Each programming language was invented for a specific purpose. Each succeeding programming language builds on the strength of it’s predecessors. For example, Machine Language is succeeded by Assembly Language, which is succeeded by high-level languages. In other words, High-level programming languages are build on Assembly Language, which is built on Machine Language. The idea is that higher level languages calls functions of a lower level languages with a single-simple short code.

What is Machine Language?

A computer’s native language is called Machine Language. Machine language is the most primitive or basic programming language that starts or takes instructions in the form of raw binary code. So that if you wanted to give a computer an instruction in its native or Machine language, you have to manually enter the instructions as binary code.

For example, adding two numbers together in machine language would look like this:


What is Assembly Language?

Programming in Machine language is tedious (you have to program every command from scratch) and hard to read & modify (the 1s and 0s are kind of hard to work with…). For these reasons, Assembly language was developed as an alternative to Machine language.

Assembly Language uses short descriptive words (mnemonic) to represent each of the Machine Language instructions.

For example the mnemonic add means to add numbers together, and sub means to subtract the numbers. So if you want to add the numbers 2 and 3 in assembly language, it would look like this:

add 2, 3, result

So Assembly Languages were developed to make programming easier. However, the computer cannot directly execute the assembly language. First another program called the assembler is used to translate the Assembly Language into machine code.

Assembly to Assembler to Machine Language

What is a High-Level Language?

High-Level languages are platform independent, meaning that you can write & run High-Level Languages on different types of machines. High-Level Languages are English like and therefore easier to learn and use. Note that instructions in a High-Level Language are called statements.

Note that a program written in a high-level language is called the source code. Note that the Source Code must be translated into machine code before the computer can execute the source code. And the translations are done by programming tools called an interpreter or compiler.

Here’s an example of a High-Level Language statement that calculates the area of a circle with a radius of 5:

area = 5 * 5 * 3.14159;

Examples of High-Level Programming Languages include Ada, BASIC, C, C++, C#, COBOL, FORTRAN, Java, Pascal, Python, and Visual Basic.

Types of Programming Languages

[Under Construction]

  • Data-oriented Language: These programming languages are designed for searching and manipulating relation that have been described as entity relationship tables which map one set of things into other sets. Example: SQL
  • Imperative Language: ?
  • Object-oriented programming (OOP) support objects defined by their class. … Focuses on objects over action, data over logic.

What's Your Opinion?