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:

    When truth is nothing but the truth, it’s unnatural, it’s an abstraction that resembles nothing in the real world. In nature there are always so many other irrelevant things mixed up with the essential truth. That’s why art moves you—precisely because it’s unadulterated with all the irrelevancies of real life.
    Aldous Huxley (1894–1963)

    No true believer could be intolerant or a persecutor. If I were a magistrate and the law carried the death penalty against atheists, I would begin by sending to the stake whoever denounced another.
    Jean-Jacques Rousseau (1712–1778)