A notation for the precise description of computer programs or algorithms. It is designed to be mutually comprehensible to computers and humans. A particular digital computer operates in binary notation and all instructions must ultimately be produced in the appropriate binary code, known as machine code.
A high-level programming language is a language that resembles natural language or mathematical notation more closely than machine code. It is designed to reflect the requirements of particular problems. A compiler is a program that is used to convert a high-level language to machine code. There are many different high-level languages suitable for different applications. Examples include Pascal, Fortran, C, C++, Java, python, and occam.
A low-level programming language is one that resembles machine code more closely that natural language, and has structures that directly reflect the architecture of the computer. See also assembly language.