what are the characteristics of high level programming language
use natural language elements be easier to use
title: High-level programming language text: include Python, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby, C# and many others. The terms "high-level" and "low-level" are inherently relative. Some decades ago, the C language, and similar languages, were most often considered "high-level", as it supported concepts such as expression evaluation, parameterised recursive functions, and data types and structures, while assembly language was considered "low-level". Today, many programmers might refer to C as low-level, as it lacks a large runtime-system (no garbage collection, etc.), basically supports only scalar operations, and provides direct memory addressing. It, therefore, readily blends with assembly language and the machine level of CPUs and title: High-level programming language text: High-level programming language In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language "elements", be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is. In the 1960s, high-level programming languages using a compiler were commonly called autocodes. Examples of autocodes are title: High-level programming language text: 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. One thing to note about high-level programming languages is that these languages allow the programmer to be detached and separated from the machine. That is, unlike low-level languages like assembly or machine language, high-level programming title: High-level programming language text: microcontrollers. Assembly language may itself be regarded as a higher level (but often still one-to-one if used without macros) representation of machine code, as it supports concepts such as constants and (limited) expressions, sometimes even variables, procedures, and data structures. Machine code, in its turn, is inherently at a slightly higher level than the microcode or micro-operations used internally in many processors. There are three general modes of execution for modern high-level languages: Note that languages are not strictly "interpreted" languages or "compiled" languages. Rather, implementations of language behavior use interpretation or compilation. For example, Algol 60 and Fortran have title: High-level programming language text: the HLL code. This is known as a "high-level language computer architecture" – the computer architecture itself is designed to be targeted by a specific high-level language. The Burroughs large systems were target machines for Algol 60, for example. High-level programming language In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language "elements", be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program