The Americans say ‘period’; the British say ‘full stop’. So, which is it? And what does this have to do with Computing?
The USA gets a lot of stick for ‘American English’ (AE) and it’s fundamentally unfair. Both AE and BE (‘British English’) have their origins in multiple phases of British history over the past few hundred years and both have evolved and expanded since. Both are very different from the language of the UK in the 17th and 18th centuries and there’s even some argument for saying that AE is a closer match than BE in that it’s stayed truer to the original principles. Bill Bryson is very worth reading on this. In fact, general comparison is almost impossible but a more focused approach might yield something useful, so let’s try …
Take the ‘.’ character used by both versions of English at the end of a sentence. What is it? Is it a ‘full stop’ (BE) or a ‘period’ (AE)? Surely, it’s just a matter of taste? There can’t be a right or wrong, can there? Well, let’s see …
And here comes the Computer Science: more particularly, the programming …
We just have to think about semicolons (‘;’) for a while, instead of periods/full stops (‘.’).
Many programming languages use semicolons to mark the break between one instruction in some code from the next. Otherwise, there might be situations in which it wasn’t possible to tell the difference between two simple instructions and a single more complex one. Most ‘C-type’ languages, for example, use a semicolon to unambiguously mark the end of an instruction. The following is a fragment of C# code in which we can clearly see a ‘;’ at the end of each instruction …
Well, that’s simple enough, isn’t it? Want to see some more examples? OK, here’s some code in the slightly older (but still used) Pascal programming language …
We’re still using ‘;’ after the instructions. And, apart from the instructions themselves and the way structure is denoted (Pascal uses BEGIN and END to mark blocks of code whereas C# uses { and }), that’s about the same, right?
Well, no, not quite. Look carefully. In particular, look at the end of each block – the last instruction in each block …
See the difference? Yes, that’s right. Pascal doesn’t seem to bother with the semicolon after the last instruction in a block whereas C# (and indeed all C-type languages) has a semicolon after every instruction – including the last. Why?
Well, without getting into the nitty-gritty of compiler design, the ‘;’ is simply performing a different (similar but subtly different) role in the two languages. In Pascal, it’s defined as a ‘separator’; in C, it’s defined as a ‘terminator’. In other words, in Pascal, the semicolon marks the break between two instructions whereas, in C, it marks the end of a single instruction. In C, this includes the last instruction, which still needs the ‘;’ to ‘terminate’ it. In Pascal, there’s nothing to ‘separate’ the last instruction from, so it doesn’t.
(Actually, Pascal won’t mind if you put the extra semicolon in but it doesn’t need it.)
And the words are both significant and self-explanatory here. In both languages, the ‘;’, used as a ‘separator’ and ‘terminator’, does ‘what it says on the tin’. So, does this help resolve the AE vs. BE ‘period’ vs. ‘full stop’ argument? Yes, it does …
Because, in this context – and helped by the programming analogy, ‘period’ suggests one thing; ‘full stop’ suggests another. A ‘period’ is an interval between events – two sentences in AE. A ‘full stop’ in BE is the end of something – a sentence in BE. So, using our analogy, a ‘period’ should be a separator whereas a ‘full stop’ must be a terminator.
So, we can resolve this by asking a simple question … Do we put a ‘.’ symbol at the end of every sentence we write in (either) English, including the last one in a paragraph or the last one in a complete essay, report, etc.? If we do, it’s a terminator; if we don’t then it’s a separator. As we clearly do, then the ‘.’ has to be a terminator, not a separator. It’s a ‘full stop’, not a ‘period’
And there you have it: for once, programming syntax comes to the aid of natural grammar. The next time an American insists on putting a ‘period’ at the end of the last sentence they write, ask ‘What exactly are you separating that from?’ or ‘Where are the two things that that’s a ‘period’ between?’
So, it’s a ‘full stop’. Period. Oh!
Like this:
Like Loading...
Related
So what do you think?