Re: Sequence points
- From: spinoza1111 <spinoza1111@xxxxxxxxx>
- Date: Sun, 20 Jan 2008 03:14:10 -0800 (PST)
On Jan 20, 5:16 pm, Richard Heathfield <r...@xxxxxxxxxxxxxxx> wrote:
spinoza1111 said:
...are defined in ISO/TEC 9899:TC2 committee draft-May 6 2005
They have been in the Standard since the Standard first appeared in 1989,
almost twenty years ago.
, and
yes, preincrement and postincrement is delayed until the sequence
point,
No, you still don't understand sequence points. Preincrement and
postincrement, like any other evaluation, *may* be delayed until (but not
later than) the sequence point. The evaluation order between consecutive
sequence points is up to the implementor.
I will never "understand" a mistake to your satisfaction, and I won't
drink the Kool-ade. Furthermore, the evaluation order between
consecutive sequence points with respect to ordinary operations tracks
precedence. It is not "up to the implementor". Learn your trade and
learn to write.
and the standard has an elaborate explanation of where sequence
points occur.
Indeed.
They make C programs easier to optimize and pipeline since you don't
want to wait, in p++ for the postincrement to occur (which is a memory
access) after stacking p.
That's up to the implementor. Anyway, well done - you've finally worked out
why x=x-- is undefined in C (and C++).
Screw you, you patronising son of a bitch. This is not something that
was worth my time, since it was an artifact of the criminal dishonesty
of the standards team. It is FORTRAN era crap and an infantile
disorder.
The hard fact is that immature and uneducated programmers have long
felt unmanned by a mythos of "real", "hard", masculine programming in
the early days but are of course unequal to it, for having done such
programming myself, I can confirm that its successful practitioners
were well-educated people, whether as autodidacts or in top
universities, in areas outside of programming. One such person that I
knew personally and with whom I worked against the Vietnam war had a
Harvard degree in mathematics and was the Socialist Workers party
candidate for governor of Illinois.
But the mythos always remains just that: a male fantasy. When actual
computer science professors design simple, machine language
interpreters in software, their students complain, especially students
with what passes for programming experience. Just as the chickenhawks
who started the criminal war in Iraq didn't serve, latter day C
programmers are in fact unequal to the demands of assembler language,
which is why they demand the ability to code "close to the machine" in
a male fantasy.
As I've said, it is criminal misrepresentation to use C for truly low-
level code in a real organization because this gives the managers the
ability to fantasize that the solution is portable, which it isn't
without a line by line audit.
The results of this criminal dishonesty are on display in Beautiful
Code in which the reader is expected to know bad practice (the
usability of value parameters) to understand a recursive but
completely inadequate "regular expression" processor.
You could be a hardass on the order of a
Wirth and insist that p++, as a legacy mistake,
Begging the question. It has not been demonstrated that post-increment is a
mistake, legacy or otherwise.
It had insufficient justification. What part of p = p + 1 don't you
understand? It's the compiler's job to optimize push p, increment,
store p to an in-memory operation that bypasses the stack.
be implemented as an
indivisible atomic operation in the interest, under-represented on the
committee, of safety and therefore humanity but it appears that the
Standards committee members were birds of a Feather.
Translation: you screwed up because you didn't understand how evaluation
order works in C, and now you're claiming that it's a safety issue because
there might be other people using C who are as bad at it as you are. Well,
maybe that's possible - stranger things have happened - but C was designed
for use by skilled programmers. Sharp tools have sharp edges, by
definition. Don't run with scissors.
Screw you, you patronising and half-educated son of a bitch. I've used
C as I have said, and no man can force me to use a tool which I
determined, even before the standard, was inadequate based on my prior
to experience, in rapid succession, with machine, assembler, Fortran,
PL/I, Algol, Cobol, Rexx, and Pascal because I believe in computing
humanism and I don't worship machines. I am merely remembering things
I forgot because I went on to object-oriented programming in C Sharp
and VB.Net, producing and explaining a 26000 line compiler thereby in
the tradition of the great Herbert Schildt, who's more of a programmer
than you'll ever be.
You are a fraud. Your "expertise" is the knowledge exclusively of
criminal artifacts.
The problem is that this nonsense invalidates existing C code
Not properly written code, no. But yes, it may well invalidate some of your
code.
Up yours. I've rewritten all code for which I was responsible in other
languages because I take responsibility for code over its lifetime,
and I don't sit in my *** and whine about incompetent software
maintenance by people who have a right to expect operators to be
executed in a sensible order, or, at a minimum, an option (that is not
provided) to do so.
<the usual sociology snip>
I could see the wisdom of the standards team: all I have to do is not
use C, and I am delighted not to use C.
Right - all you have to do is leave C alone and let C programmers get on
with using it.
They are engaged in mail fraud, among other activities.
<more sociology snipped>
Insofar as this code was coded by programmers who expected p++ to be
atomic (in a statement which doesn't assign it),
...it should be fixed by programmers who Actually Know The Language. What a
radical idea!
It is impossible to "know" a programming language at your level of
general and computing culture. You simply do not have a broad enough
education outside of technology to appreciate user needs in society,
what you're pleased to call "sociology" and which you "snip".
You give no evidence of a liberal education (with the Evangelical
Christianity being to me personally an evidence of its lack, not in
itself but in the way you flog it at your site) and for this reason,
all you know about the world outside programming is filtered through
an authoritarian screen, represented by the User. But his real need
for a class of solutions over time is something of which you're not
even aware, and as a result, you think there's a one-to-one
correspondence between problems, and idealized texts.
Inside of computer science, you have not given me the slightest
impression that you can think about algorithms independently of C. As
is the case of Kernighan and Pike, you think inside C.
You don't comprehend the meaning of static textual nesting because
you've never encountered it. For this reason you don't even know it's
a problem that a function has no ability to create objects beyond the
simplest objects in a C function. You think it's fine if it calls
something located outside its namespace subject to all sorts of
potential damage.
This means that you've never thought about a problem in multiple
levels at all.
In evolutionary terms, you predate homo faber, the toolmaker, and are
instead the ape that's figured out how to use appropriately shaped
bones and rocks basically to smash things.
At best, you are qualified to be the sort of coder who would write in
detail instructions given to him in general by an analyst in some
language. You're certainly not qualified to be an authority of any
sort, and this is also shown by your clerkish respect for authority in
the "standard", and the way you use "undefined" to weasel your way out
of difficult situations.
Under genuine pressure, you crack. You confuse && and || as we saw
earlier this month when you took the online test, and you exploit the
worst features of C (such as aliasing) under stress in all probability
when you are employed (which is when?) because all you "know" are
words such as "undefined" which is the knowledge of the absence of
knowledge.
As a Platonist, you are persuaded of the existence of ideal Forms,
programs, which you had a hand in constructing. But in fact you've
created nothing but confusion here.
Several people have asked you to leave. I have asked you at a minimum,
to stop bothering me, especially insofar as you think me "incompetent"
an opinion which I'll take as a compliment based on what the "real"
Spinoza says in Of Human Freedom. I ask again that you STOP BOTHERING
ME.
Under separate cover and by email I have advised Clive Feather to not
post here, since he's unaware, as is Julienne, of the Lynch mob
dynamics of a bunch of hobbyists and incompetents and so in a state of
confusion at this time.
<snip>
I don't think Herb Schildt understood what was going on in the
standard.
Unwittingly, you have spoken the truth at last: Herbert Schildt did indeed
fail to understand the Standard.
But if he had, and had explained it properly, there might
...have been much less reason to criticise his C writings.
<snip>
--
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
.
- Follow-Ups:
- Re: Sequence points
- From: Clive D. W. Feather
- Re: Sequence points
- From: Richard Heathfield
- Re: Sequence points
- From: Randy Howard
- Re: Sequence points
- References:
- Sequence points
- From: spinoza1111
- Re: Sequence points
- From: Richard Heathfield
- Sequence points
- Prev by Date: Re: Sequence points
- Next by Date: Re: A note on computing thugs and coding bums
- Previous by thread: Re: Sequence points
- Next by thread: Re: Sequence points
- Index(es):