I wrote this down in notepad in order to clear my own thoughts about 'programming language'. I liked it and so searched for the question which it answers. "What is a programming language?". I contribute this here so that others may benefit from this.
A 'programming language' is a specially designed artificial language in which you can give instructions to the computer. Hence it can be called an 'instruction language' using which the programmer instructs the computer to do things.
The programming language (like C, Java, Python or Lisp) that a programmer uses to give instructions to the computer comes with an accompanying software program called an 'interpreter' or 'compiler' (or even comes with both of them) that understands this language. Hence it understands the programmer's instructions given in this programming language.
This software program also understands the special 'machine language' which is the only language that a computer machine understands. That is, the computer cannot understand instructions given to it in any other language other than the special 'machine language'. (Different computers have their own special machine language which is the only language that they understand. And so it is the only language in which they can take , and obey, instructions).
The computer cannot take instructions in 'programming language' because it only understands 'machine language'. The programmer does not know 'machine language' and only knows how to give instructions in 'programming language'. Since this 'compiler' or 'interpreter' understands both the 'programming language' as well as the 'machine language', it can translate the instructions given by the programmer in 'programming language' into the 'machine language' instructions so that the computer may know what the programmer is trying to instruct it to do.