<P> "High - level language" refers to the higher level of abstraction from machine language . Rather than dealing with registers, memory addresses and call stacks, high - level languages deal with variables, arrays, objects, complex arithmetic or boolean expressions, subroutines and functions, loops, threads, locks, and other abstract computer science concepts, with a focus on usability over optimal program efficiency . Unlike low - level assembly languages, high - level languages have few, if any, language elements that translate directly into a machine's native opcodes . Other features, such as string handling routines, object - oriented language features, and file input / output, may also be present . </P> <P> High - level languages intend to provide features which standardize common tasks, permit rich debugging, and maintain architectural agnosticism; while low - level languages often produce more efficient code through optimization for a specific system architecture . Abstraction penalty is the border that prevents high - level programming techniques from being applied in situations where computational limitations, standards conformance or physical constraints require access to low - level architectural resources (fi, response time (s), hardware integration). High - level programming exhibits features like more generic data structures / operations, run - time interpretation, and intermediate code files; which often result in execution of far more operations than necessary, 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, more efficient, or simply reliably functioning optimised program . </P> <P> 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 a specific computing system architecture . This facilitates executing a program written in such a language on any computing system with compatible support for the Interpreted or JIT program . High - level languages can be improved as their designers develop improvements . In other cases, new high - level languages evolve from one or more others with the goal of aggregating the most popular constructs with new or improved features . An example of this is Scala which maintains backward compatibility with Java which means that programs and libraries written in Java will continue to be usable even if a programming shop switches to Scala; this makes the transition easier and the lifespan of such high - level coding indefinite . In contrast, low - level programs rarely survive beyond the system architecture which they were written for without major revision . This is the engineering' trade - off' for the' Abstraction Penalty' . </P> <P> Examples of high - level programming languages in active use today include Python, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby and many others . </P>

In which generation high level language was developed