No, really.
I've struggled to come up with a really great definition. Here's my take till now:
A programming language is a formal language, containing syntax. Syntactical rules are used to form statements. Programming languages are used to create a set of instructions that a computer can understand. A collection of syntactical statements is called a program.
I know it doesn't read very well, so it would be nice to have some help in this.
Here's Wikipedia's first paragraph on the topic:
A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication.
I think it's one of those things in life that everyone knows what it is, but it's deceivingly difficult to define.
Am I alone? Your thoughts?