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.
— Wikipedia

So high-level language hide some low-level details and provide more high-level abstractions. Which can make programming easier to write code.

So simplify can be used natural language elements, automating significant tasks (like memory management), this is abstraction elements. Amount of abstractions defines how “high-level” a programming language is.

First high-level programming language was Plankalkül, created by Konrad Zuse in 1942, but it was not implemented in his time (but has influence to others).

So the first significantly widespread high-level programming language was Fortran, created in 1950s.

In the 1960s, a high-level programming language using a compiler was commonly called an autocode. Examples of autocodes are COBOL and Fortran.
— [@HighlevelProgrammingLanguage2023]

Instead, dealing with registers, memory addresses and call stacks (low-level programming language), high-level languages deals with:

  • variables
  • arrays
  • objects
  • complex arithmetic or boolean expressions
  • subroutines and functions
  • loops
  • threads
  • locks
  • other abstractions

I learn some high-level languages, listed in programming language note.