A high-level language is an advanced computer programming language that isn't limited by the computer, designed for a specific job, and is easier to understand.
Today, there are dozens of high-level languages; some examples include BASIC, C, FORTRAN, Java, C++ and Pascal. These are independent of the internal machine code of any particular computer.
High-level languages are used to solve problems and are often described as problem-oriented languages; a low-level language is the opposite of a HighLevelLanguage
. It is one which exposes a significant amount of the computer's inner workings; for instance, in CeeLanguage
, one deals with the concept of memory and pointers, whereas in HaskellLanguage
, there is no concept of storing data. This aspect of CeeLanguage
is low-level. The lowest-level language is MachineCode
, which hides no details of the machine; not even the bit patterns used to form instructions are abstracted.
Low-level languages have the advantage that the programmer is able to tune the code to be smaller or more efficient, and that more system-dependent features are sometimes available. They have the disadvantage that they are often (usually?) harder to program in.
In computing, a low-level programming language is designed for a particular computer and reflects its internal MachineCode
; low-level languages are therefore often described as machine-oriented languages. They cannot easily be converted to run on a computer with a different central processing unit, and they are relatively difficult to learn because a detailed knowledge of the internal workings of the computer is required. Since they must be translated into machine code by an assembler program, low-level languages are also called AssemblyLanguage
A mnemonic-based low-level language replaces binary machine-code instructions, which are very hard to remember, write down, or correct, with short codes (mnemonics) chosen to remind the programmer of the instructions they represent. For example, the binary-code instruction that means ‘store the contents of the accumulator’ may be represented with the mnemonic STA (STore A
In contrast, high-level languages are designed to solve particular problems and are therefore described as problem-oriented languages: for example, BASIC was designed to be easily learnt by first-time programmers; COBOL is used to write programs solving business problems; and FORTRAN is used for programs solving scientific and mathematical problems.
So is a high-level language one that isn't designed for a specific job, as stated initially, or one that is
designed to solve particular problems, as stated in the preceding paragraph?
See also: HighLevelLanguage