My take on the matter is that it's similar to the its/it's difference in
English: it isn't all that important in itself, but if people get such
Well, there's a fairly clear logical reason for the its/it's
distinction (beyond just "follow the standard, Stupid!", which is an
important reason in general but leaves me with a desire for more
justification in some cases) *Its* is a possessive pronoun; pronouns
never form possessives by adding *'s*. Using *it's* as a possessive
pronoun is similar to using *he's* or *she's* or *him's* instead of *his*
or *her*. *It's* (properly used) is a conjunction of it and is. Using
*its* as a conjunction would be like using hes or shes instead of *he's*
or *she's*. (I've used * as a delimiter here since quotes may look
confusing with all the apostrophes...)
So anotherwords:
"Hes running" should be "He's running" (or "He is running" if you don't
like conjunctions in formal writing!)
"Its running" should be "It's running"
"He's property" should be "His property"
"It's property" should be "Its property"
Obviously common usage has made it's and its interchangable in many
cases; from the POV that it's OK as long as your point is clear, this is
fine. From the POV that you wish to score a perfect 100% on your
English exam, or impress everyone with your composition, this isn't fine.
I might bend this rule in hasty informal writing - not b/c of laziness or
apathy but simply b/c of human error. Otherwise IMHO, the sloppiness of
"hes" instead of "his", which seems parallel to and more obvious than
its/it's, indicates that correct usage important in all of these cases.
Getting back to programming - I definitely see many reasons why I would
use int instead of void for main:
- "Follow the standard, Stupid!"
- It's correct to use int
- It's no harder to use int than main
- Cross compiler compatibility
- I live in fear of vast pillars of flame chasing me around usenet, god
help me please save me from the flames
For these reasons I use int main (or would if I still used C!).
However, it would be nice to hear a purely logical reason (the above
all seem to be somewhat practical in nature) for this part of the standard
The best logical reason I've read so far in this thread is to support
example code from K&R, which is certainly practical but not 100% logical
reasoning. (i.e. something more along the lines of "possessive pronoun vs
conjunction" instead of "you're next english professor might fail you
even if your current one doesn't".) If no totally persuasive
logical reason exists, the above reasons are all sufficient anyway, IMO.
Dave