Life is a many splendoured thing. Life begins with the twelfth letter of the alphabet.
While the ability to move back and forth so easily between these two senses is convenient, it actually belies something very fundamental about the nature of natural language and its descriptive power. When we use a word, we are using language as an object language, a language which solely talks about the world. It can talk about entities in this world, and assign truth values to them. When a word is mentioned, however, we are using language to talk about itself. In the second sentence of the example, English is talking about the orthography of one of its words. This self-referential capability is a property of a metalanguage. What is so fascinating is that we are able to discuss both the world and our own manner of discourse (language) with the same language!
In typical writing, words that are mentioned are placed in quotation marks, in order to make it clear that we mean to refer to the word itself. 2 According to this convention, the second sentence of the example should really be written:
"Life" begins with the twelfth letter of the alphabet
Outside of logic and proper writing, the use-mention distinction has found an interesting place in the study of computer science. Consider the case of a bit of code that prints something out to the screen. Taking an example from C, the typical syntax for this would be:
printf("Hello World!");
where the quotation marks are used to delimit what is to be outputted. But what if we wanted to print out a phrase that itself contained quotation marks? Instead of using the quotation marks, we should like to mention them in our phrase. How does the computer know the difference between these two functions? The answer is to be found with escape characters which are are a conventional way to signal that we wish to mention the quotation marks.
printf("Why does every single textbook program write out \"Hello World\"? Arrgh!");
Finally to end this discussion on a fun note, here's something amusing that I found written in the Linguistics dept. lounge at the University of Edinburgh:
If you use a mention in use then you don't use the use-mention distinction usefully. (just thought I should mention it)
There is a special case of language in which the use-mention distinction is particularly vital: computer languages, with pointers. Just like in human languages, it provides great power - but it is also a great cause of errors, especially for programmers who are copying code examples without comprehension of what's going on.
Let's look at this pseudo-C/C++ fragment.
Things get even more complicated when we add pointers-to-pointers. That would be akin to "Tommy asked, "Did Katie say, "Devilbunny needs a ham!"?".".¹
All of this is rather different from standard languages, in which one does not normally work on the second level, with values that are mutable. Ice Cream can be two words or a tasty treat - but it's rare to try to reassign it to no longer mean that sweet melting stuff... while almost the whole purpose of using a pointer is to reassign it. Still, the matter of content vs. container is the heart of this distinction.
Taking up the escape character idea above, note that HTML uses the "&" for escaping things, but does so via macros rather than simple escapes. That is to say, to type that ""&"", I had to type "&", and to type THAT, I had to type "&", ad nauseam. It's just as bad as the mess with asterisks and ampersands that C and C++ provide.
Actually, it looks like you can get away with bare quotation marks in HTML, so I would only have had to expand the ampersand.
¹Yes, that last bit of punctuation was incorrect for English - but it makes sense. And snce they had had different end marks, it was actually kind of important. Sorry for letting that rant leak in here
printable version chaos
Everything2 Help
cooled by donfreenut