High-level Programming Language - Abstraction Penalty

While high-level languages are intended to make complex programming simpler, low-level languages often produce more efficient code. Abstraction penalty is the barrier that prevents high-level programming techniques from being applied in situations where computational resources are limited. High-level programming exhibits features like more generic data structures, run-time interpretation, and intermediate code files; which often result in slower execution speed, higher memory consumption, and larger binary program size. For this reason, code which needs to run particularly quickly and efficiently may require the use of a lower-level language, even if a higher-level language would make the coding easier. In many cases, critical portions of a program mostly in a high-level language can be hand-coded in assembly language, leading to a much faster or more efficient optimised program.

However, with the growing complexity of modern microprocessor architectures, well-designed compilers for high-level languages frequently produce code comparable in efficiency to what most low-level programmers can produce by hand, and the higher abstraction may allow for more powerful techniques providing better overall results than their low-level counterparts in particular settings. High-level languages are designed independent of structure of a specific computer. This facilitates executing a program written in such a language on different computers.

Read more about this topic:  High-level Programming Language

Famous quotes containing the words abstraction and/or penalty:

    Before abstraction everything is one, but one like chaos; after abstraction everything is united again, but this union is a free binding of autonomous, self-determined beings. Out of a mob a society has developed, chaos has been transformed into a manifold world.
    Novalis [Friedrich Von Hardenberg] (1772–1801)

    It is odd that the NCAA would place a school on probation for driving an athlete to class, or providing a loan, but would have no penalty for a school that violates Title IX, a federal law.
    Cardiss L. Collins (b. 1931)