Add a new page

Definition

A programming language is an artificial language that can be read by a machine to express computations that can be performed by a machine, such as a computer. We use programming languages to create programs that specify the behavior of a machine, to express algorithms precisely, or as a means of human communication. Programming languages can be machine language, assembly language, or high level language.

Types of Programming Languages

Machine Language

The system of instructions and the data executed directly by a computer's central processing unit is a computer's machine language. Many regard machine language as a primitive programming language or as the lowest-level representation of a compiled and/or assembled computer program. Even though programs in interpreted languages aren't represented by machine language, their interpreter usually is. Machine code language is sometimes referred to as native code when referring to platform-dependent parts of language features or libraries. Do not confuse machine language with "bytecode" which is executed by an interpreter.

Assembly Language

Like machine language, assembly language is also a low level language for programming computers. Assembly language uses symbols to represent numeric machine codes and other constants needed to program a particular central processing unit architecture. The representation that an assembly language uses is often defined by the hardware manufacturer and is based on abbreviations, which are also known as mnemonics, that help the programmer remember individual instructions. Assembly language is specific to a certain physical or virtual computer architecture.

High Level Language

High level language is a programming language that has a strong abstraction from the details of the computer. In comparison to low-level languages, high level languages may use natural language elements, they are easier to use, and they are more portable across platforms. High level languages hide the details of central processing unit operations such as memory access models and management of scope. Because high level languages are very abstract and hide details, they are generally intended to make the language user-friendly. High level languages include concepts from the problem domain instead of those used by the machine. High level languages isolate the execution semantics of a computer architecture from the specification of the program, which makes the process of developing a program simpler and more understandable than a low level language does. The more abstract a programming language is, the higher level it is.