A high-level programming language is a programming language that is more user-friendly, to some extent platform-independent, and abstract from low-level computer processor operations such as memory accesses. See programming language for a detailed discussion.
The word "high" does not imply that the language is superior to low-level programming languages but rather refers to the higher level of abstraction from machine language. For example: the difference between the programming language Java and assembly language is that Java abstracts programming functionality that assembly does not, for example, strings.
In general, high-level languages make complex programming simpler, while low-level languages produce more efficient code. In a high-level language, complex elements can be broken up into simpler, though still fairly complex, elements for which the language provides abstractions, keeping programmers from having to "reinvent the wheel." The cost of this convenience is often less efficient code overall. For this reason, code which needs to run particularly quickly and efficiently may be written in a lower-level language, even if a higher-level language would make the coding easier.
Note that the terms "high-level" and "low-level" are inherently relative. Originally, assembly language was considered low-level and COBOL, C, etc. were considered high-level. Many programmers today might refer to these latter languages as low-level. For more on this distinction, see the external link below.
Most high-level languages output object or machine code directly for a target processor or operating system, but a few do not, instead outputing an intermediate language only, often C, to submit to a compiler for that intermediate language, which then outputs finished object or machine code. This is usually done to gain portability or optimization. Such intermediate languages fall in complexity between high-level languages and low-level languages.
List of High-level programming languages
See also
External link
- http://c2.com/cgi/wiki?HighLevelLanguage - The WikiWikiWeb's article on high-level programming languages