on Mar 15, 2012
Rick recently asked:
Off topic here Shamus, but I’m curious. As a programmer and a writer does it bug you that writing convention has close quotes after the period at the end of a sentence?
Vader explained “Luke, I am your father.”
As a programmer it infuriates me that the quote reaches out past the end of the sentence. It’s within the sentence, therefore logic dictates it should finish within the sentence.
I’ve even seen plenty of books/magazines/websites/newspapers miss the closing quote marks completely when at the end of a paragraph. For it to be that widespread it must be a typographical rule I’m unfamiliar with.
I’m sure a lot of this weirdness comes from the way the written word has evolved. First as pen-on-paper, then typeset, and finally to this digital form. However, that doesn’t excuse the lapses of logic in the system.
One of the problems here is that we’re nesting sentences.
Vader explained to Luke that he was his father.
That’s a complete sentence. So is this:
Luke, I am your father.
Both of them should get a full stop. My programmer logic says it should be like this:
Vader explained “Luke, I am your father.”.
So we have two full stops, one for the thing being said and another for the sentence relating who said it. Now, you could argue that the dot-quote-dot at the end just looks strange, and so leaving out a dot is a stylistic shorthand. This could be similar to the way the expression
b=b+1 can also be expressed as
b++, simply because this is such a common thing to do. However, shorthands should be offered in addition to the long-form correct way, and dot-quote-dot is not correct according to the accepted rules.
This becomes a problem when the ending punctuation of the quoted sentence doesn’t match the containing sentence. For example, some people like to say:
Not bad for a Monday!
Let’s say this gets on my nerves, and I want to ask if you feel the same way. Apparently the grammatically correct way to do this is:
Don’t you hate when people say “Not bad for a Monday”?
But this obliterates the exclamation in the original quote. I think this is a much better way to do it:
Don’t you hate when people say “Not bad for a Monday!”?
Unfortunately, this is wrong, and will get red-penned by any self-respecting instructor or editor.
Yes, it looks odd, but I suspect that’s only because this is unfamiliar to us. At least this system makes sense and follows rules that can be intuited. The rules on using quotes in written prose are dauntingly complex and filled with odd exceptions.
However, the written word is not the only place we find annoying exceptions. The
for loop in C++ has always annoyed me. In C++, we are taught that ALL STATEMENTS MUST END WITH A SEMICOLON. Except for this one spot in the humble for loop:
for ( x=0; x<3; x++) cout < < "The value of X is:" << x << endl;
The for loop begins with three expressions inside of the parenthesis. The first is executed once, when the loop begins. Then the second is evaluated, and the loop will repeat until this expression evaluates to false. The third is performed every time the program reaches the end of the loop. But there's no semicolon after that third expression.
In defense of C++, I think you can throw a semicolon in there like this:
for ( x=0; x<3; x++;) cout < < "The value of X is:" << x << endl;
I'm pretty sure the compiler won't complain. However, your fellow coders will. A lot. So don't do this unless you want to end up getting shivved in the break room. (I can't test this because I haven't installed a compiler since re-installing my OS. I didn't realize this until just now. I think this is the longest I've been without a compiler since 1994 or so.)
Shamus Young is an old-school OpenGL programmer, author, and composer. He runs this site and if anything is broken you should probably blame him.