Stefan said:
Common terms, such as »variable« or »object«, have different
meaning in Java Language Specification, Third Edition than in
ISO/IEC 9899:1999 (E). This shows that even such common terms
simply do not have a meaning independent of a language or
specification.
You are right that such common terms don't have a meaning which
is fixed and independent of all context. (Nor do many words.)
Therefore, as a reader or listener, in order to communicate
effectively, one must ascertain the intended context, and
interpret the word in light of that context. This is a
fundamental part of human communication, which is not
mathematically precise but which instead requires the
application of insight about context (as well as other things,
like pragmatics) in order to apprehend the meaning.
Likewise, from the other side, the writer/speaker should make a
strong effort to make this process as easy as possible by not
introducing unnecessary ambiguities or other difficulties, to
the extent this is practical and doesn't interfere with other
concerns (like brevity).
When discussing Java or when discussing in the newsgroup
»comp.lang.java.programmer«, I have no reason to use the
terminology of ISO/IEC 9899:1999 (E), so I use the terminology
of Java Language Specification, Third Edition.
I, on the other hand, did have a reason to use the terminology
of a context other than the JLS: I was making a comparison.
I recognize that a Java-centric interpretation of terms should
be given some extra priority in any Java-centric forum, but I
wouldn't go so far as to say that only Java meanings for words
should be used.
Having said all that, I suppose this is enough discussion for me
on this particular point. I think we have both explained our
views quite clearly, and I can't imagine much can be gained by
discussing it further, and I have no particular desire to do
things which aren't gainful.
- Logan