Yes, I accept that you would not consider a number smaller than (or
even close to) 10 to be "many." In fact, I accept that you consider
whatever you claim to consider. Whether those considerations are
accurate is another matter.
You seem to be incapable of understanding a simple argument. In general
a number smaller than 10 is not considered to be "many" and as there are
fewer than 10 C99 implementations there are not many C99 implementations.
Since there *are* fewer than 10 C99 implementations it is a ogical
conclusion.
Yes, I didn't produced any evidence. You have the evidence that "more
than two people in this thread" are also in agreement with you. But it
would take more than two people in this thread to consider any such
evidence to be relevant, so it is not much of an evidence.
We also have the other evidence which you claim is not evidence. This
claim on your part is evidence that you do not understand what the term
"evidence" actually means.
Google researches can't prove this.
I have not claimed it proves it. However, it *is* evidence and
reasonable people accept the possibility that what evidence suggests is
actually true especially when there is no counter-evidence available.
You have not presented such evidence. The fact that it is not the
default doesn't mean they don't consider it to be suitable for use as
a C99 implementation. They also have a C89 implementation, and it also
isn't the default. Do they not consider GCC to be suitable as a C89
implementation? I wouldn't think so.
They state EXPLICITLY that the reason GNU89 is not the default is that
the C99 implementations is not finished. To understand my point you do
have to understand that there is actually a relationship between GNU89
and C89 and another relationship between GNU99 and C99. However, you
seem to have difficulty understanding the relationships between things.
[...] You said
"Given that most people starting to write new apps don't actually have
a C99 implementation,"
Which is, let's admit it, gibberish.
No, it's simply true.
False.
Hmm. Microsoft Visual Studio is probably the most used C compiler on
Windows and it does not even *attempt* to come close to C99.
But it isn't the only C compiler on Windows.
No, just the most common by a very long way. So it is almost certainly
the compiler most commonly used when developing new C application on
Windows. So it not conforming to C99 is very strong evidence that you
are wrong.
First you say "No [it isn't the only C compiler on Windows], just the
most common by a very long way." And then you say that I'm wrong. Your
above paragraph contradicts itself.
I'll be clearer as you could not understand what I wrote. MS VCC is by
far the most used Windows C compiler, so whether it is the *only*
compiler is irrelevant to what most new C development is done in. MS VCC
has NO support for C99. Therefore most new C development on Windows is
NOT done in C99. This is a strong piece of evidence (but not the only
evidence) that most new C development is not done in C99.
You forgot the words "in Windows" in that last sentence.
No, I didn't. A piece of evidence on the state of one part of a field is
evidence of the state of all of the field. The more areas of the field
you have evidence from the more confident you can be about the state of
the entire field.
The above applies to the fields farmers use, scientific fields,
engineering fields, computer fields, magnetic fields and all other
fields I can think of at the moment. So it applies to this discussion.
And yes,
perhaps most new C development _in Windows_ is not done in C99, but
that wasn't what you objected to; it was to what I said about MSVC not
being the only C compiler on Windows.
Your point that other compilers are available for Windows is completely
irrelevant to the main argument as to which version of C most people are
using. That is what is proved by this point. So it is YOUR claim that is
irrelevant and the claim I've made that you have now accepted is what
shows it to be irrelevant.
You agreed that MSVC wasn't the only C compiler on Windows, and then
you claimed that I was wrong. That *is* self-contradiction.
Your first statement in the block of quote a little bit above was
disputing Richard's claim that most people don't have a C99
implementation. Your refutation was wrong.
No, I haven't been presented with such evidence.
It has been presented, the problem seems to be that you don't know what
the word "evidence" actually means. I'll give you a clue, it does not
mean conclusive proof otherwise there would be evidence to support the
"Laws of Thermodynamics".
It doesn't mention that C99 support is broken; it mentions which
features of C99 in GCC are broken. If you believe I'm wrong, please
provide a quote from the page where they explicitly state what you're
claiming.
So you claim that if A is made of B, C and D knowledge that C is broken
is not evidence that A (of which C is part) is not broken.
OK, I've got this car which is not broken that I would like to sell you.
You can tell it isn't broken because the horn works!
The last sentence is wrong.
Where is your evidence for this wild and unsupported claim? It is safe
to assume you are wrong since there is no evidence to support it.
But, what does that have to do with GCC
users having access to other compilers?
It is pointing out that not everyone being like me (which I agree is
true) is not evidence that gcc users have access to some other compiler
that *is* a C99 compiler.
I.e. you completely failed to refute my point.
Yes. Oh, and the reason a lot of people I have seen on this group have
been aware of C99 is that they were told about C99 *on* this group!
In my case, the only C developers I have come across who have
heard of K&R before I have mentioned it to them are people on this
group. In fact, most people would hear about K&R and think about the
book (most likely the 2nd edition, actually), instead of the ancient
language.
I did not say that I was referring to the language defined by the first
edition of the book. I said K&R. OK, perhaps I should have spelled out
their names in full and said that what versions of their book people
know about was irrelevant.
Oh, and don't forget that the 2nd edition of the book K&R is about the
language as defined by C89 (this time I do mean the ANSI standard rather
than the technically identical ISO standard that followed). So someone
who knows the 2nd edition of the book knows C89, so more people knowing
about the book than knowing C99 implies that more people will be
programming in C89 than C99 because the only version of C they know is C89.
So we shall.
Actually, it's only common sense.
There has been a lot of suggestion that C is mostly used in embedded
programming these days, so considering it to be a special case without
presenting a good reason is not sensible. Even if it is not used more in
embedded programming than non-embedded it is certainly used a *lot* as
evidenced the number of processor manufacturers who release a C compiler
for their embedded processors.
Above is eye-witness evidence in support of this position. However, you
don't understand the term so it is no wonder you did not comment on it.
I have never said that that's my definition of a C99 implementation.
No, you completely refuse to define it. However, it seems to be that if
it is vaguely close to conforming then it is one. Most C90+extensions
compilers are closer to conforming to C90 than GNU is to conforming to
C99 (most extensions are written so as not to break conformance) so by
your definition most C90+extensions compilers are C90 compilers. So
their use is evidence by your definition of what a Cxx compiler is that
C90 is used.
I've never made an argument saying that people are working in C90 +
extensions.
No, however *I* am arguing that use of C90+extensions is use of C90 by
your terms and that most people are using C90+extensions.
In that case either:
1) gcc is *not* a C99 compiler so people using it are not using C99 and
as people using gcc seems to be your main argument for the popularity of
C99 your position is completely untenable.
Or:
2) The evidence I presented about people using C90+extensions (e.g.
Using gcc in its default mode) is evidence of people using C90.
Could you point me to that evidence?
Most new posters to this group who use gcc use it in its default mode as
shown by their posts. Also it is the mode that GNU encourage so it is
likely that most GNU SW (and there is a lot written by a lot of people)
is developed in this mode.
You did claim that most new C development is in C90 + extensions. Your
words were
"There, you now have a reasoned argument as to why most new C
development is in C90 + extensions and *not* in C99 - bits not
implemented or broken."
OK, my memory is not perfect. Possibly I did say that.
However, we have now established that by your definition that woud count
as most C development being in C90 rather than C99.
Well, since that is the mode most people use because that is the mode
most compilers default to...
Yes, safe, though I wouldn't bet on it...
Well, feel free to bet against the evidence. It must make you popular
with book-makers.
No, all you are doing is repeatedly claim to have some evidence which
(whether it's true or not) you are not presenting.
The problem here is that you do not understand what the term evidence
means. Well, not the only problem, another problem is that you do not
understand reasoned argument.
I'm not sure which arguments you're talking about, but the ones in
this thread certainly haven't proved anything.
You need to learn what the word "argument" means.
I'll help, here are some quotes from dictionaries.
argument
2
a.A course of reasoning aimed at demonstrating truth or falsehood...
b.A fact or statement put forth as proof or evidence; a reason...
c.A set of statements in which one follows logically as a
conclusion from the others.
evidence
1. A thing of things helpful in forming a conclusion or judgement...
2. Something indicative; an outward sign...
No, they don't. Again, if you believe I'm wrong, please provide a
quote from the page where they explicitly state what you're claiming.
Here is the quote for you. "broken". It appears several times on the page.
Oh, and do you accept that the vast majority of implementations are C90
implementations even if they are also C99 implementations?
Well, that's gcc rules out as a C99 implementation.
The fact that I don't refute it doesn't mean I accept it. Though in
this particular case, it's true what you say about GCC's info pages
saying that the C99 standard is not fully supported. But that's
obvious--I don't need to further comment on it.
So we have it not fully supported and broken. Sounds like it is not
something that cannot be considered a C99 implementation to me.
Furthermore, [your argument] made improper use
of an implicit assumption that the mere availability of a C99
implementation for a platform indicates that a significantly large
proportion of C developers using that platform have obtained a copy of
that implementation.
How so? Why do you think it made that assumption?
I don't know why your argument made that assumption.
Then that makes your whole point null.
You have miss-interpreted each other.
Richard meant (I think) that he does not know why you chose to make that
assumption. He does understand what about your argument assumes that.
But I don't see how my argument made that assumption.
You start off trying to prove that most new C development is in C99
I'm not trying to prove that, as I know it's impossible to prove it
(just as it is impossible to prove the opposite). I simply point it
out.
Well, several of us have "just pointed out" that you are wrong. The
difference is that we have actually presented evidence.
No, you haven't. Again you're making wild claims about having some
evidence, and it's only reasonable to assume you don't have it since
you don't present it.
It has been presented, you just don't understand what the word
"evidence" actually means.
It's not an evidence, as I pointed out, but it _is_ a strong clue.
More evidence that you don't know what the word "evidence" actually means.
All the evidence points towards it. Of course, as you don't know what
the word evidence means...
There are probably more non-C99 than there are C99 compilers, but the
reason I said it isn't very likely that C99 will not be available
because of management specifying which compiler to use is that it has
nothing to do with management specifying which compiler to use!
Can you not see that if management specify "use compiler X" then that
means that compiler Y is not available to those programmers?
You only made a comment about C99's availability. It had nothing to do
with management specifying which compiler to use.
It does. Anything management forbids you from using is not available to you.
Not if they're not aware of any free C90 implementation, which was the
point in the first place anyway.
Awareness of C90 is irrelevant. Re-read the above and this time try to
actually understand it. You probably need to learn what "the aw of
averages" means though.
Actually, it is simple probability theory. If there are a lot more items
of type A in the bag than there are items of type B then someone is more
likely to select an item of type A. There are a lot more compilers that
support C90 than compilers that support C99 so a randomly selected
compiler is more likely to support C90 than C99. When you add the fact
that most C99 compilers are also C90 compilers the odds of *not* picking
a compiler that supports C90 drop to almost zero.
Your analogy has nothing to do with being or not being aware of free
C90/C99 implementations.
It has everything to do with what the compiler selected is likely to
support *unless* the compiler is selected specifically to support a
specific version of the standard.
Whether the compiler they're using provides C90 conformance but not
C99 conformance does not relate to being or not being aware of free
implementations.
No, but it very strongly relates to whether they are using a C99 compiler.
So you accused me of being wrong,
Yes.
and then make a completely unrelated
comment (by your own admission).
No, it is relevant to the specific point you made. A point about which
you were wrong. You are wrong to think that a C99 implementation is
likely to be of lower quality than a C90 implementation. The reason
being that the C90 implementation might have stopped development 20
years ago when various compiler technologies were less well understood
where-as a C99 implementation has definitely been under development
since the late 90s.
That annuls both your claim about me
being wrong AND your claim about me talking rubbish. It also raises
some interesting questions as to what goes through your mind when you
make these replies.
No, it shows that you have not understood the point.
No, you not being able to prove that *you*'re right makes it safe to
assume that you're wrong.
The same argument applies more strongly to you. You have not even
presented any evidence, not even low quality evidence.
Again you're claiming to have some kind of evidence, which you have
not presented. You only made some claims about the reasons people
would use C99, with NO supporting facts or evidence.
Incorrect. A number of people have presented evidence. You just don't
understand what the word means.
You made no rebuttal; you simply talked about your C development
career.
Well, we have already established that you don't know what eye-witness
evidence is.
The three points were, again: of the people who can afford a C99
implementation, not everyone likes them; of those who do, not everyone
can make the decision of buying them; and of those who do, not
everyone wants to spend money one them. Then I say that those points
are equally applicable to an implementation of any standard, and you
refute to it by saying that there is only one compiler that supports
C99 but not C90. I don't see how you can link these things together.
Buy some new glasses. Unless they are forced to use a pre-ANSI compiler
(which obviously does not support C99 since C99 is a long way post-ANSI)
or they are forced to use the one and only compiler that supports C99
but not C89, then they are forced to use a compiler that definitely
supports C89. Note that if they are forced to use gcc they are forced to
use a compiler that supports C89 as just *one* example.
<snip>
What if they can't afford them? What if they don't like them? What if
they can't make the decision of buying them? What if they don't want
to spend money on them? (In case you don't realize, these are the
points being discussed.)
I'm talking about the compiler THEY ALREADY HAVE!
If they don't have a compiler and they cannot obtain one then they
cannot compile their code anyway so it is irrelevant.
Now try re-reading the above and actually understand it rather than
doing what I can only assume is deliberately failing to understand it.
From that point of view, it is related, but it fails to explain why
the points made about C99 aren't equally applicable for an
implementation of any standard.
It is ENTIRELY relevant. There are more C89 compilers than C99
compilers, therefore throw all the C compilers in to a bag and pick one
out at random and it is more likely that you will get a C90 compiler
than a C99 compiler. Therefore any reason for selecting a compiler other
than for conformance to a specific standard is more likely to select a
C89 compiler than a C99 compiler.
It doesn't, since hardly relates to what was being discussed, and
doesn't give any arguments against it.
Incorrect. It is entirely relevant to all your claims that reasons why
one might not end up with a C99 compiler as less likely to apply to C90.
See above.
Yes, in general, considering my limited knowledge about their
requirements. But I never claimed that Richard's work is for embedded
systems.
I still have not said you made that claim.
So you're assuming that I implicitly claimed that Richard's work is
not for embedded systems because (a) I make the assumption that they
would most likely be able to accept C99 code, and (b) because I
accepted that embedded systems would be a place where C90 would be
more advantageous. No, you misinterpreted my words; I never made that
claim, neither implicitly nor explicitly. You'd be better off not
assuming implicit claims that I have not explicitly stated.
It is the logical conclusion.
A leads to NOT B.
You claim B, therefore you are assuming NOT A.
If Richards customers are using his code for embedded systems then C99
is NOT acceptable.
You claim that C99 is likely to be acceptable.
For you claim to be true Richards customer cannot be using his code for
embedded systems (because if they were then C99 would not be acceptable.
Neither did I claim to *know*; I claimed to *think* that, most
*likely*, and considering my limited knowledge about their
requirements, they would find C99 acceptable.
Your knowledge is based on what Richard has said, and Richard has said
that C99 would be likely to be rejected. So you seem to be claiming to
know more about his customers than he does.
Have [GNU] actually said, "we don't have a C99
implementation"?
I don't know whether they've ever used those precise words, but...
If so, could you point me to the site where it's stated?
...
http://gcc.gnu.org/c99status.htmlmakesitveryclear.
Like I already told Keith, they don't mention that there.
Yes, they do, by listing the ways in which their implementation does not
conform to C99.
That doesn't imply the words "we don't have a C99 implementation"
either explicitly or implicitly.
Well, there info page states as the reason for not making gnu99 the
default mode (instead of gnu89) that it is not fully implemented. Since
the extensions GNU provide to C99 are *also* extensions they provide to
C90, it is obviously the implementation of the base C99 language they
consider to be too far from compete for it to be the default mode. That,
to me, *does* imply that they do not consider gcc to have a C99
implementation yet, just something they are working on getting there.
To me, it implies that they consider GCC to have a C90 implementation,
a C99 implementation, and a custom implementation of their own for
each of the two standards. But we've yet got to see what they say.
The GNU developers do not often post here. However you should be able to
see why some people (most people don't care) consider it to imply that
they do not have a C99 implementation.
It isn't about what some people consider; it's about what it implies
or not, and what you said does not imply that they do not have a C99
implementation.
There is enough of an implication for at least some people to read it
the way Richard and I have read it. Therefore that page does not prove
your point. In fact, we have more evidence for it refuting your point
than for it supporting your point.
You have no evidence since you're only making an inaccurate assumption
about an implicit implication on their website. I, on the other hand,
am only pointing out what they have *explicitly* stated. Therefore, my
point is stronger.
They explicitly state it is broken on their web site. This *is*
evidence. It may not *prove* the point, but it *is* evidence.
Oh, and I have done a small amount of work on the GNU tool-chain, so to
a very small degree I am one of the developers. I would not claim to
speak for the majority, but...