That's pretty slithery ...
No, it's an honest statement. The fact is that the meaning of
words comes out of popular usage. (See the OED.) If a dictionary
definition is demonstrably incorrect or incomplete, it behooves
you to clarify what is actually meant in common parlance. You
can't think or communicate clearly until you have a sharp,
shared meaning for the words you use to describe critical concepts.
That would be pretty hard considering I've cited the dictionary
definition before as well.
Okay, you asked for it. I'll deal with the rest of your posting
separately (if the mood strikes me). Let's look at your self
proclaimed integrity vis a vis dictionary definitions.
I chased your links:
http://www.m-w.com/dictionary/portable
http://www.thefreedictionary.com/portable
http://dictionary.reference.com/search?q=portable
and found two distinct definitions of "portable" related to
computing:
Merriam-Webster:
1b: usable on many computers without modification <portable software>
American Heritage Dictionary:
3: Computer Science. Relating to or being software that can run on
two or more kinds of computers or with two or more kinds of operating
systems.
So it's clear that the dictionary definitions confine themselves
to *software*. Thus, the OP's elliptical question, "C, really
portable?" is nonsense. C is not software, but a programming
language. Nevertheless, you initially joined in the nonsense:
: pemo wrote:
: > Is C really portable?
:
: No. The standard embodies a portable syntax which exists as subset of
: any compliant compiler, but that's exactly as meaningless as you might
: suspect it is. For example, I don't believe there exists any pair of C
: compilers from different vendors that have exact source space
: compatibility.
So you begin by applying your beloved definition(s) to something
they were never intended to cover. And you go on in that vein
for several paragraphs.
Then the subject matter shifts:
: > I don't write portable C code [...]
:
: (well practically nobody does so ...)
You're now discussing portability in the dictionary sense,
but you're uttering demonstrable nonsense. In a *practical*
sense, *quite a few* people write portable code. Just look
around you.
After a few more paragraphs on this theme, the discussion
shifts again:
: > Conclusion: Whilst the language is portable, applications are not.
:
: A subset of the *syntax* is portable. Nothing more.
Now you're applying the concept of portability to syntax.
Nothing about that in any of your dictionaries, so once
again you're talking nonsense, but of a different flavor.
Then, in your first reply to me you said:
: > Before C came along, I was doing similar things with Fortran,
: > and with reasonable success.
:
: Well yeah, and you could do the same thing with Visual Basic, and the
: various Basic interpretors available for UNIXs, and so on. If you push
: the entire job of portability up to the actual developer of the code,
: well then in fact *MOST* languages are portable. If fact, did you know
: its fact possible to be portable *BETWEEN* many languages? When you
: put the onus onto the programmer, you can claim all sorts of
: capabilities for your language.
Now, portability is a "job" for the programmer. Or wait,
it's back to being an attribute of a language. No, it's
a thing that can exist *BETWEEN* (emphasis yours) many
languages. The dictionaries are receding at the speed of
light.
But we're not done yet. In the next paragraph, you say:
: There is a subtle difference between a language begin portable, and
: software which has been painstakingly ported.
Now we see yet another concept -- "porting" is something that's
*done* to programs. Not in your dictionaries, which insist that
portability comes "without modification". No pains there.
Then, a few posts later, we find you saying:
: Portability describes a *CHARACTERISTIC* of the degree of
: transportability of source code. By itself, its not a measure of cost.
Now you're talking about a "degree of transportability",
but neither of your beloved dictionary definitions treats
"portable" as anything other than a Boolean attribute.
And then:
: > [...] it's not a Boolean. Availability is thus an important
: factor in improving portability.
:
: No. Availability affects where you can port to. The nature of a given
: source code's portability is always taken against the set of platforms
: that have a compiler for that platform.
Now code is portable only if there's a compiler for a given
platform. Where does it say that in any dictionary?
(It's also not necessarily true.)
And then we come to:
: > Only if you think in black and white. We informally say that
: > a language is portable if it lowers the cost of writing
: > programs that are portable (cheaper to move than to completely
: > rewrite).
:
: Well no, *you* informally say that, because you have little respect for
: precise language. Its a good thing you aren't on any committee that
: manages a international standard. Oh wait ...
First you deny that you're using portability in a popular,
but non-dictionary sense, when you clearly are. Then you
accuse *me* of being imprecise, even though I was careful
to say what I meant and you were, shall we say, haphazard
at best. Then you fall back on insults, the last refuge of
the rhetorically challenged.
But then you say:
:
http://www.m-w.com/dictionary/portable
:
http://www.thefreedictionary.com/portable
:
http://dictionary.reference.com/search?q=portable
:
: There's nothing about cost in any of those definitions. Also notice
: that the definitions include the "two or more platforms" in them.
: Meaning that "portability" is not related to the number of platforms
: your code is portable, but rather the degree to which the software
: itself is inherently portable.
After brushing up on the definitions, you immediately say
portability is not related to the number of platforms
your code is portable, which directly contradicts the
previous sentence. And then you introduce the concept
of "degree of inherent portability" which is *not* in
the dictionary and *not* precisely any of the things
you said earlier.
So please don't lecture me on the proper use of dictionaries,
or precision in communication. And watch who you're calling
slithery. If the snake skin fits...
P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com