High- and low-level
This article needs additional citations for verification. (December 2009)
High-level and low-level, as technical terms, are used to classify, describe and point to specific goals of a systematic operation; and are applied in a wide range of contexts, such as, for instance, in domains as widely varied as computer science and business administration.
High-level describe those operations that are more abstract in nature; wherein the overall goals and systemic features are typically more concerned with the wider, macro system as a whole.
Low-level describes more specific individual components of a systematic operation, focusing on the details of rudimentary micro functions rather than macro, complex processes. Low-level classification is typically more concerned with individual components within the system and how they operate.
Features which emerge only at a high level of description are known as epiphenomena.
Due to the nature of complex systems, the high-level description will often be completely different from the low-level one; and, therefore, the (different) descriptions that each deliver are consequent upon the level at which each (differently) direct their study. For example,
- there are features of an ant colony that are not features of any individual ant;
- there are features of the human mind that are not known to be descriptive of individual neurons in the brain;
- there are features of oceans which are not features of any individual water molecule; and
- there are features of a human personality that are not features of any cell in a body.
- In computer science, software is typically divided into two types: high-level end-user applications software (such as word processors, databases, video games, etc.), and low-level systems software (such as operating systems, hardware drivers, etc.).
As such, high-level applications typically rely on low-level applications to function.
In terms of programming, a high-level programming language is one which has a relatively high level of abstraction, and manipulates conceptual functions in a structured manner.
A low-level programming language is one like assembly language that contains commands closer to processor instructions.
- In formal methods, a high-level formal specification can be related to a low-level executable implementation (e.g., formally by mathematical proof using formal verification techniques).
- In sociology and social anthropology, high-level descriptions would be terms like economy and political structure, and low level descriptions would be individual peoples' motivations and work.
- In neuroscience, low-level would relate to the functioning of a cell (or part of a cell, or molecule) and high level to the overall function or activity of a neural system.
- In documentation, a high-level document contains the executive summary, the low-level documents the technical specifications.
- In business, corporate strategy is a high-level description, a list of who does what jobs is a low level description.
- Climate is a high-level description of the actions of the atmosphere and oceans. Physics of water and gas molecules is a low-level description of the same system.
- The instruction "write a creative poem on love" is a high-level instruction. The instruction "tighten the tendons in the dominant wrist to grip the pen" is a low-level description of an activity within that.
- "Wikipedia is an encyclopedia" is a high-level description compared to "Wikipedia is a collection of textual articles on many topics". The former reflects a higher level view of organization, purpose, concept and structure, but does not explain what Wikipedia physically is. The latter is more detailed as to what exactly Wikipedia contains and how it's made up, but doesn't explain what its overall purpose and goals are. These are typical features of high-level and low-level descriptions.
- Marr, David (1982). Vision: A Computational Investigation into the Human Representation and Processing of Visual Information. San Francisco: W. H. Freeman and Company. ISBN 0-7167-1284-9.