The annotated annotated annotated C standard part 3
- From: spinoza1111 <spinoza1111@xxxxxxxxx>
- Date: Thu, 17 Jan 2008 06:51:30 -0800 (PST)
I continue my deconstruction of CDW Feather's character assassination
of Herb Schildt, which upon investigation is a series of amateurish
comments on style, fabricated "errors", errors that are matters of
interpretations biased towards the creation of a fraudulent C
standard, and non-errors. As before, Feather's remarks are unprefixed,
Schildt's start with -Schildt-> and mine with -Nilges->
6.1.2.3
There is no mention of the fact that each structure and union type has
its own namespace, so that more than one structure or union can have a
field with a given name.
-Nilges-> Herb was commenting on the standard and as such exercised
his discretion not to mention EVERYTHING the incompetent C programmer
can do to *** up a program, one of which is the repetition of the
same name in two structs or two unions, indicating, often,
insufficient factoring.
6.1.2.5
-Schildt-> An unsigned integer expression cannot overflow. This is
because
## there is no way to represent such an overflow as an unsigned
## quantity.
More nonsense. An implementation either does or doesn't have a way to
represent overflow - usually integers don't, while floating point may
or may not (some systems have INFINITY values that effectively
indicate overflow). However, an unsigned integer expression cannot
overflow because the standard says so - the choice was made that
unsigned integer arithmetic is done modulo some base (UINT_MAX+1 for
unsigned int, ULONG_MAX+1 for unsigned long). There is no magic about
this; it was an arbitrary decision by the authors of the standard.
-Nilges->This bug/feature is what I assisted John Nash with.
-Nilges->This superstitious and Fundamentalist respect for the authors
of the standard, people engaged in corporate missions to exert
corporate control in large measure, is one of the major problems
here.
-Nilges->The fact is that on most systems, UINT_MAX is 2**31 - 1. Add
to this the fact that most computers provide instructions for this
type of integer, it follows that an unsigned integer expression cannot
represent INFINITY (Feather irrevelantly mentions, as a show-off, his
knowledge of some floating point systems, information irrevelant
here).
-Nilges->The student needs to know that the available bits on real
systems don't provide a way to represent overflow. Herb explains this
rationally. Feather wants the student to sit down, shut the *** up,
and obey in some sort of New Order.
6.1.3.1
[left hand page]
## fractional-constant:
## digit-sequence[opt] . digit-sequence
## digit-sequence
There should be a dot after the second alternative as well. Otherwise
this syntax generates "123" (not actually a floatingconstant) but not
"123." (which is).
-Nilges->One of the first real errors. A typo in all probability which
Herb should have caught. There are typos in this, Feather's document.
"Use every man according to his deserts, and none should 'scape
whipping" - Hamlet
6.1.3.4
## x = 'A'; /* give x the value 65 */
This comment, and the following text, leave the reader believing that
'A' must have the value 65, and by extension that C requires the use
of ASCII codes. This is of course false, but it would be hard to tell
from the book.
This, plus the comments assuming 8-bit bytes, and use of the terms
"high byte" and "low byte" of integers later on, makes me wonder
whether a better title for the book is: The ANSI C Standard annotated
for some MSDOS compilers :-).
-Nilges->Schildt needs to show code that will work on MOST systems
because he's not a Platonist, who believes like a Silly *** that
the Standard exists in Platonic heaven INDEPENDENT of the greed of
compiler vendors and the vanity of academic time-servers: he's an
Aristotelean who like St. Thomas Aquinas needs to show embodied
instances in a field otherwise bloodless, abstract, Euclidean, in
which ignorant Platonists make ignorant claims.
-Nilges->It's a comment. Feather obviously thinks that comments are
for girls and might be wrong.
I am sick to my stomach now and I would like to throw up again after
having reviewed a little more of Feather's inaccurate, uncollegial,
uncharitable, and Scholastic horse ***.
.
- Follow-Ups:
- Re: The annotated annotated annotated C standard part 3
- From: Clive D. W. Feather
- Re: The annotated annotated annotated C standard part 3
- From: Malcolm McLean
- Re: The annotated annotated annotated C standard part 3
- Prev by Date: Re: The annotated annotated annotated C standard
- Next by Date: Re: The annotated annotated annotated C standard
- Previous by thread: Errors cancel sometimes
- Next by thread: Re: The annotated annotated annotated C standard part 3
- Index(es):