[snips]
In the real world, people are taught about stacks as lesson #1. And that
includes C courses.
Hmm. True. However, once one gains a certain level of skill and
experience, one comes to realize that what one learns in lesson #1 is not
the totality of what there is to learn. One such thing we learn is that
C defines no concept of stack, nor does it require one, as there are
systems which have no stack, yet which can - and do - have conforming
implementations.
Malcolm again creates confusion by terminology. Those implementations
_may_ use a stack data structure to track recursion and the like, but if
so, that's an implementation detail; the language, which we discuss here,
neither defines nor requires any such data structure, nor hardware stack.
This thread is almost as useless as RHs ridiculous
claim that there are no such things as global variables in C. Word games
can and do have their place. But the use of them needs to be considered
carefully to match the audience.
It isn't a word game, though, any more than to point out that in C, "byte"
is not restricted to 8 bytes, no matter how many people use the two
concepts interchangeably. It is a case of ensuring that the information
provided is either correct, or gets corrected.
I would suggest that "no stack" architectures are OT
Properly speaking, they are; the group is about C. C, however, neither
defines nor requires a stack, so the assumption that such an entity will
be in place on an arbitrary implementation is erroneous. The mentioning
of those systems is simply to show _why_ no such requirement is imposed by
the language.