A low-level language is a programming language that provides little or no abstraction of programming concepts, and is very close to writing actual machine instructions. Two good examples of low-level languages are assembly and machine code.
Uses and additional information
Low-level languages are useful because written in them can be crafted to run very fast and with a very small memory footprint. However, they are considered more difficult to utilize because they require a deeper knowledge of machine language.
Languages such as C and C++ are considered "lower-level" — they provide a minimal amount of abstraction at the smallest possible cost to performance and efficiency. These abstractions, such as classes, lambda functions and macros, allow programmers to use complex functionality without writing overly complex code. For this reason, lower-level languages are used in projects where abstractions are necessary to keep code highly readable and maintainable, but where maximum performance is still paramount. Many operating systems and high-frame rate computer games are a good example of this.