![]() |
bunch of pedants
The regulars go on denying that C uses a stack. They should
read this: <begin quote> Any function in C may be recursive (without special declaration) and most possess several "automatic" variables local to each invocation. These characteristics suggest strongly that a stack must be used to store the automatic variables, caller's return point, and saved registers local to each function; in turn, the attractiveness of an implementation will depend heavily on the ease with which a stack can be maintained. <end quote> This was written by an expert in C. True, there is no mention of a stack in their bible Fact is, there isn't any C implementations that don't use a stack to store the automatic variables. Up to now, this people are unable to put forward a single example of an implementation that doesn't use a hardware stack (maintained by a register in a contiguous memory addressing space) Their first "example" was ARM and some Risc processors. I proved them wrong. Then they started tripping with IBM mainframes. Nope, I showed them the documentation of the IBM compilers for mainframes where they describe the stack and its associated register (r13) Then they started with the 8051. I showed them that that processor has a stack (it has PUSH/POP instructions apparently) but it is too small, so some compilers use an external stack. Even if they have not a single example, they go on with bullshit of the style "but an implementation *could* exist that... blah blah blah" Facts are not important. The C standard does not mention a stack, and that is it. It is possible then to throw at unaware people that asks questions in this group sentences like "C has no stack" "There is no stack in C" Since they have no arguments, they discuss with tricks like 1) After you have proved them yet another time wrong, they will answer with the eternal sentence "The standard doesn't mention a stack" and the discussion can start from the beginning 2) After you have proved that the machine XYZ DOES have a stack, they say "But an implementation *could* exist" and the discussion can start from the beginning. I decided that it is a waste of time to discuss with them. They just repeat their bullshit without caring about what you answer to them Personally I will not answer any more to falcolner and co. "C has no stack" for them? Let it be. -- jacob navia jacob at jacob point remcomp point fr logiciels/informatique http://www.cs.virginia.edu/~lcc-win32 |
Re: bunch of pedants
jacob navia wrote:
> The regulars go on denying that C uses a stack. They should > read this: > If you think that, you really are on another planet. -- Ian Collins. |
Re: bunch of pedants
jacob navia wrote:
> The regulars go on denying that C uses a stack. Many regulars never bother with this question, never deny nor affirm anything about C using a stack, and refuse to be part of your stupid baiting game. Kudos to them; shame on you. |
Re: bunch of pedants
jacob navia said:
> The regulars go on denying that C uses a stack. No, the "regulars" go on denying that the C language specification requires the use of a stack, and this is perfectly true, because it doesn't. The fact that most (or possibly even all) implementations do use a stack is irrelevant. They could easily use some other data structure; the reason they *don't* is that it doesn't appear to have any advantages over a stack. But if someone discovers such an advantage, the C language won't stop them from exploiting it. The stack is a bit like gravity. Most (or possibly even all) C implementations operate in a gravitational field that tends to accelerate them towards the centre of the Earth at around 9.8m/s/s. Nevertheless, nowhere in the C Standard will you find any such *requirement* imposed on C implementations, which is just as well for the future of space travel, right? In the same way, no *requirement* is imposed on C implementations to use a stack. > They should read this: > > <begin quote> > Any function in C may be recursive > (without special declaration) and most possess several "automatic" > variables local to each invocation. These characteristics suggest > strongly that a stack must be used to store the automatic variables, > caller's return point, and saved registers local to each function; > in turn, the attractiveness of an implementation will depend heavily > on the ease with which a stack can be maintained. > <end quote> > > This was written by an expert in C. Nevertheless, it is not normative text. <snip> > I decided that it is a waste of time to discuss with them. They just > repeat their bullshit without caring about what you answer to them If you read what we wrote, instead of what you think we're writing, that would make a big difference to these discussions. > Personally I will not answer any more to falcolner and co. "C has no > stack" for them? Let it be. Good. The sooner you drop these ridiculous claims, the better for all concerned. -- Richard Heathfield <http://www.cpax.org.uk> Email: -http://www. +rjh@ Google users: <http://www.cpax.org.uk/prg/writings/googly.php> "Usenet is a strange place" - dmr 29 July 1999 |
Re: bunch of pedants
On Sun, 16 Mar 2008 05:53:30 +0100,jacob navia wrote:
> The regulars go on denying that C uses a stack. They should read this: > > <begin quote> > Any function in C may be recursive > (without special declaration) and most possess several "automatic" > variables local to each invocation. These characteristics suggest > strongly that a stack must be used to store the automatic variables, > caller's return point, and saved registers local to each function; in > turn, the attractiveness of an implementation will depend heavily on the > ease with which a stack can be maintained. <end quote> > > This was written by an expert in C. > > True, there is no mention of a stack in their bible Fact is, there isn't > any C implementations that don't use a stack to store the automatic > variables. > > Up to now, this people are unable to put forward a single example of an > implementation that doesn't use a hardware stack (maintained by a > register in a contiguous memory addressing space) > > Their first "example" was ARM and some Risc processors. > > I proved them wrong. > > Then they started tripping with IBM mainframes. Nope, I showed them the > documentation of the IBM compilers for mainframes where they describe > the stack and its associated register (r13) > > Then they started with the 8051. I showed them that that processor has a > stack (it has PUSH/POP instructions apparently) but it is too small, so > some compilers use an external stack. Thank you for these provings. > > Even if they have not a single example, they go on with bullshit of the > style "but an implementation *could* exist that... blah blah blah" > > Facts are not important. The C standard does not mention a stack, and > that is it. It is possible then to throw at unaware people that asks > questions in this group sentences like "C has no stack" > "There is no stack in C" Yes, the C99 standard doesn't even leave a word about stack. Stack is the implementation's thing, beyond the standard's defination. > > Since they have no arguments, they discuss with tricks like > > 1) After you have proved them yet another time wrong, they will > answer with the eternal sentence "The standard doesn't mention a > stack" and the discussion can start from the beginning > > 2) After you have proved that the machine XYZ DOES have a stack, > they say "But an implementation *could* exist" and the discussion > can start from the beginning. > > I decided that it is a waste of time to discuss with them. They just > repeat their bullshit without caring about what you answer to them > > Personally I will not answer any more to falcolner and co. "C has no > stack" for them? Let it be. I would say standard C doesn't define the concept of stack, at least now, although nearly all implementations do. Please don't play word games. -- Hi, I'm a .signature virus, please copy/paste me to help me spread all over the world. |
Re: bunch of pedants
On 16 Mar, 04:53, jacob navia <ja...@nospam.com> wrote:
> I decided that it is a waste of time to discuss with them. They just > repeat their bullshit without caring about what you answer to them Starting a new thread on the topic is hardly reflective of your decision that the discussion is a waste of time. It appears to be the exact opposite, in fact. |
Re: bunch of pedants
jacob navia <jacob@nospam.com> writes:
> The regulars go on denying that C uses a stack. They should > read this: > > <begin quote> > Any function in C may be recursive > (without special declaration) and most possess several "automatic" > variables local to each invocation. These characteristics suggest > strongly that a stack must be used to store the automatic variables, > caller's return point, and saved registers local to each function; > in turn, the attractiveness of an implementation will depend heavily > on the ease with which a stack can be maintained. > <end quote> > > This was written by an expert in C. And it wasn't worth your time either to identify the expert (it's from a paper written by Johnson and Ritchie) or to mention that it was published 30 years ago. > True, there is no mention of a stack in their bible > Fact is, there isn't any C implementations that don't use > a stack to store the automatic variables. > > Up to now, this people are unable to put forward a single > example of an implementation that doesn't use a hardware > stack (maintained by a register in a contiguous memory > addressing space) [...] > Then they started tripping with IBM mainframes. Nope, I showed > them the documentation of the IBM compilers for mainframes > where they describe the stack and its associated register (r13) I read the excerpt you posted from the documentation for *one* C compiler for *one* operating system on *one* IBM mainframe. It did not state that the "stack frames" are allocated contiguously, and another poster stated that in fact they are not. There's your example. [...] > Even if they have not a single example, they go on with bullshit of the > style "but an implementation *could* exist that... blah blah blah" How is it "bullshit"? Do you claim that such an implementation could not possibly exist? (I don't expect a straight answer to that question.) > Facts are not important. The C standard does not mention a stack, > and that is it. The fact that the C standard does not mention a stack is important (but apparently not to you). > It is possible then to throw at unaware people that > asks questions in this group sentences like > "C has no stack" > "There is no stack in C" I've addressed this in another thread. [snip] > I decided that it is a waste of time to discuss with them. They just > repeat their bullshit without caring about what you answer to them Then why did you start a new thread? > Personally I will not answer any more to falcolner and co. "C has no > stack" for them? Let it be. I am not CBFalconer. Please do not try to put his words in my mouth, or mine in his. I do not say this to criticize him, or even necessarily to disagree with him, but to refute your apparent belief that everyone who disagrees with you must be making the same arguments. -- Keith Thompson (The_Other_Keith) <kst-u@mib.org> Nokia "We must do something. This is something. Therefore, we must do this." -- Antony Jay and Jonathan Lynn, "Yes Minister" |
Re: bunch of pedants
"Richard Heathfield" <rjh@see.sig.invalid> wrote in message news:4cKdnaHwpP9FVUHanZ2dneKdnZydnZ2d@bt.com... > Most (or > possibly even all) C implementations operate in a gravitational field that > tends to accelerate them towards the centre of the Earth at around > 9.8m/s/s. Nevertheless, nowhere in the C Standard will you find any such > *requirement* imposed on C implementations, which is just as well for the > future of space travel, right? > Er, wasn't a Mars Rover stuck because of a buffer overrun in its C code? -- Free games and programming goodies. http://www.personal.leeds.ac.uk/~bgy1mm |
Re: bunch of pedants
On Sun, 16 Mar 2008 05:53:30 +0100, jacob navia wrote:
> Since they have no arguments, they discuss with tricks like > > 1) After you have proved them yet another time wrong, they will > answer with the eternal sentence "The standard doesn't mention a > stack" and the discussion can start from the beginning That is a bogus argument. I've seen only one person try to use that. He shouldn't have, but you're wrong for ignoring everybody else because of it too. > 2) After you have proved that the machine XYZ DOES have a stack, > they say "But an implementation *could* exist" and the discussion > can start from the beginning. No, not "an implementation *could* exist", but "an implementation *does* exist". A specific implementation has been mentioned that doesn't use a stack, unless by stack you mean something different from what the OP meant in the thread you should've responded to. |
Re: bunch of pedants
jacob navia wrote:
> The regulars go on denying that C uses a stack. They should > read this: C does not need to use a hardware stack, which was most probably what "CJ" meant, and the responses given for his statement were perfectly appropriate, until you decided to start another flamefest. > <begin quote> > Any function in C may be recursive > (without special declaration) and most possess several "automatic" > variables local to each invocation. These characteristics suggest > strongly that a stack must be used to store the automatic variables, > caller's return point, and saved registers local to each function; > in turn, the attractiveness of an implementation will depend heavily > on the ease with which a stack can be maintained. > <end quote> Note the crucial word: *suggest* . Not mandate. <snip> > Facts are not important. The C standard does not mention a stack, > and that is it. It is possible then to throw at unaware people that > asks questions in this group sentences like > "C has no stack" > "There is no stack in C" In the context of what CJ meant (i.e. that C imposed the requirement of a contiguous hardware stack), the answers were perfectly appropriate. <snip> > I decided that it is a waste of time to discuss with them. They just > repeat their bullshit without caring about what you answer to them > > Personally I will not answer any more to falcolner and co. "C has no > stack" for them? Let it be. So you need to start another thread simply to say you won't discuss this further? Jacob, I don't think newbies are so stupid that they need some sort of "rescuing" by you. The vast majority of newbies are not even concerned with the stack. Those who ask specific questions (like CJ) are given the appropriate response. No one is saying "C has no stack". In fact Keith was written several excellent posts on the matter that elucidate the issue more clearly than you or I could. Why don't you give this a rest? |
| All times are GMT. The time now is 05:30 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.