|
"An artificial language used to write instructions that can be translated into machine language and then executed by a computer."
That is by definition a programming language.
The instructions the definition speaks of are things that we type in. We have to think to perform this. The series of instructions that we find in a source were done as a result of us expressing our ideas.
It is obvious that a programming language is a tool for us to use.
Tool: A device used to do work or perform a task.
Now that we know that a programming language is a tool, we must next understand why it is a tool for thinking in. Remember, the series of instructions that you see in a source were written by a person (one way or another) who used their thoughs to express what they wanted done. The series of instructions represents what they wanted their program to do.
How can a programming language not be considered a tool for thinking in?
Einstein said, "Everything should be as simple as possible, but no simpler". His statement should be acknowledged here. The book definition and Paul Graham's definition have the same meaning. Graham's definition is far more simpler and allows us to understand it easier. Someone new to computers would be better off learning the book definition of it, even though both are correct. The second definition would confuse them, but if you work with programming languages then knowing that they are a tool for thinking in should make more sense to you because you know how they work, as opposed to the person who is new to computers and does not, at all, understand what a programming language is.
"By Mr. Graham's definition, English, French, Spanish and Swahili are all programming languages, as you can use them to think in and express thoughts."
So they have the same meaning, what's your point?
|