The first thing to think about in answering this question is: What is a programming language? If you ask Wikipedia that question, you will find that a Programming Language "is a formal language, which comprises a set of instructions that produce various kinds of output," which is of course true, but in true encyclopedia form also mostly unhelpful.