High-level programming language: Difference between revisions

Content deleted Content added
Features: It's not about usability; it's about correctness and maintainability; and it's not always at the cost of performance
Features: Remove fluff
Line 11:
 
== Features ==
''High-level'' refers to a level of abstraction from the hardware details of a [[CPU |processor]] inherent in [[machine code |machine]] and [[assembly language| assembly]] code. Rather than dealing with registers, memory addresses, and call stacks, high-level languages deal with variables, arrays, [[object (computer science)|object]]s, arithmetic and [[Boolean expression]]s, [[function (computing)|functions]], loops, [[Thread (computer science)|thread]]s, locks, and other computer science abstractions, intended to facilitate [[Correctness (computer science)|correctness]] and [[software maintenance |maintainability]]. Unlike low-level [[assembly language]]s, high-level languages have few, if any, language elements that translate directly intoto a machine's native [[opcode]]s. Other features, such as string handling routines, [[Object-oriented programming|object-oriented language]] features, and file input/output, may also be presentprovided. One thing to note aboutA high-level programminglanguage languagesallows isfor thatsource thesecode languagesthat allow the programmer to beis detached and separated from the machine details. That is, unlike low-level languages like assembly orand machine languagecode, high-level programminglanguage cancode amplifymay theresult programmer's instructions and trigger a lot ofin data movements inwithout the background without theirprogrammer's knowledge. TheSome responsibility and powercontrol of executingwhat instructions haveto beenexecute is handed over to the machine from the programmercompiler.
 
== Abstraction penalty ==