In computer science, an assembler is a program that turns assembly language into machine code. 

An assembler is a program that takes basic computer instructions and converts them into a pattern of bits that the computer’s processor can use to perform its basic operations. Some people call these instructions assembler language and others use the term assembly language.

For example, a “Load” instruction causes the processor to move a string of bits from a location in the processor’s memory to a special holding place called a register. Assuming the processor has at least eight registers, each numbered, the following instruction would move the value (string of bits of a certain length) at memory location 3000 into the holding place called register 8:   L        8,3000


  • An interpreter is a computer program that is used to directly execute program instructions written using one of the many high-level programming languages.
  • The interpreter transforms the high-level program into an intermediate language that it then executes, or it could parse the high-level source code and then performs the commands directly, which is done line by line or statement by statement.


  • A compiler is a computer program that translates computer code written in one programming language into another programming language.
  • The name compiler is primarily used for programs that translate source code from a high-level programming language to a lower-level language to create an executable program

Compiler vs Interpreter

Generation of Languages

  • The first-generation languages, or 1GL are low-level languages that are machine language.
  • The second-generation languages, or 2GL are also low-level languages that generally consist of assembly languages.
  • The third-generation languages, or 3GL are high-level languages such as C.
  • The fourth-generation languages, or 4GL are languages that consist of statements like statements in a human language. Fourth generation languages are commonly used in database programming and scripts.
  • The fifth-generation languages, or 5GL are programming languages that contain visual tools to help develop a program. A good example of a fifth-generation language is Visual Basic.