High-level programming language
In computer science, a high-level programming language is a programming language that does not require knowledge of computer hardware. The advantage with high-level programming languages is that programmers only need to understand the syntax (i.e. the type of structure of the code) of the programming language and don't have to understand computer hardware to program well. Low-level programming languages require knowledge of both the syntax and the hardware they are programming for.
Features of high-level programming languages
What determines a programming language as "high-level" depends on how much the programming language relies on hardware knowledge. Programming languages that require less knowledge about computer hardware are called "high-level" programming languages. It doesn't matter whether a programming language is considered easy to learn or not.
Rather than dealing with functions of computer hardware, high-level programming languages deal with more abstract concepts. High-level programming languages focus more on what the program will output. An interpreter is required to translate high-level programming language for low-level programming languages to tell the hardware what to do.
High-level programming languages can use variables, arrays, conditional statements, subroutines, loops, and among other functions to help produce the output. High-level programming languages are generally easier to do than low-level programming languages. The syntax used to make a program generally has clearer language than lower-level programming languages.