What is the difference between “O” (O Canada) and “Oh” (Oh my goodness)? Which one is grammatically correct? Was “O” in vogue before “oh” or vice versa?
O is just olde-fashioned. I don’t think there’s any difference other than style.
As I use it and understand it, O is a marker of the vocative, that is, when you’re addressing someone or something. So, “O Captain, my captain,” is addressing someone. Whereas “oh” is an interjection like, “Oh! So that’s the secret!” That said, I do see “oh” sometimes introduce a vocative phrase.
“O” is used in English to indicate the equivalent of the vocative case (where the speaker is addressing another, in this case, Canada), in a poetical form.
Since English lacks declensions to show cases, “O” is the method used.
“Oh” is usually considered an interjection. It can be used in place of “O”, but some stylists argue that it should just be used as an interjection.
For more info, see the wiki article on the vocative case, in the section dealing with English.
My dictionary says Oh and O are the same word.
I’m almost certain I remember a thread on this question just a few weeks ago. But I’m not seeing anything from Googling it.
For most of my life, I had been under the impression that “O” was a title or formalism that indicated great respect, to be used when addressing an elder or a superior. I never understood (until having ignorance fought right here on SDMD) that is was used simply to address anybody. I think I got this impression because I only ever saw it used in prayerbooks, and specifically in the expression “O God”.