C the complete nonsense

N

Nick Keighley

Nick Keighley wrote:


The standard calls
  & the "bitwise AND operator"
  | the "bitwise inclusive OR operator"
  ^ the "bitwise exclusive OR operator"

There are also logical operators, but they are different.
  && is the "logical AND operator"
  || is the "logical OR operator"

So, no, there are no "logical assignment operators" in C.
(The standard speaks of "compound assignment".)

I must be misunderstanding

x &= 0xf;

is a valid C statement, yes? Are you just arguing terminology?
 
S

Seebs

If what you say is right then we've actually discovered something very
interesting. The books sell well, and are into edition 4. So either
there are a lot of deluded people out there, or technical accuracy
really isn't so important in a programming book. Either statement
seems hard to swallow, but one must be correct. I'd go for the second.

It's not just technical accuracy; it's that the writing is also much worse
than I thought.
I think if the book really wasn't an effective tutorial/reference,
then no amount of slick marketing and readable prose would have made
it successful in the marketplace. So it must be that people find it
useful.

I don't agree. Useless books can sell extremely well if they look like
they *will* be useful. I have bought a great number of books which looked
good on an initial page-through in the store, but turned out to be completely
worthless for learning a topic.

Keep in mind, the positive reviews of this book nearly always come from people
who picked it to learn C and have a short amount of experience. Now combine
that with the Dunning-Kruger effect and you see the problem; people who don't
understand C well enough to know whether or not they've learned it think this
book does a great job of teaching them C.

Once you actually know the language a bit better, the errors start popping
out at you, but by that time, you've long since forgotten that eight years
ago you posted a positive review on Amazon.

-s
 
S

Seebs

I must be misunderstanding
x &= 0xf;
is a valid C statement, yes? Are you just arguing terminology?

I think so. That's a bitwise compound assignment, but it's not a logical
compound assignment.

Since &&/|| are "logical operators", I would expect a "logical assignment
operator" to be "&&=".

In other words,

x &= 0xf; /* strip out bits other than 0xf from x */
x &&= 0xf; /* x = 1 if x is not 0 */

The latter would be a logical assignment operator, but doesn't exist.

-s
 
N

Nick Keighley

can we gather up all the examples of errors and post them on a web
site?

No. [snip odd politics][/QUOTE]

so were those criticisms of schildt's book incorrect? You aren't
trying to censor correct technical criticism are you?

In my experience, dear heart, that's what they "say" they do. Then,
when you look at their code, they didn't do it because each particular
program, they say, was meant to be "fast and dirty". In each case,
management had created an artificial time scarcity.

our experiences obviously vary

Why puke? The "inelegance" shows a strange charity for computers

I was objecting to the waste of *my* processing cycles. I don't care a
monky's about the compilers cycles (well within reason). I dislike
strange coding styles.
and
their picocycles which is missing in the treatment of Schildt, or
newbies,

I have no problem with newbies
or posters from China here.

I haven't seen any mistreatment of programmers from china here

I like "wasting" computer time in
a good cause, such as an interpretive program with rules that can be
changed by the user.

good we're in agreement

...and wise programmers will parenthesize and bracket because "teams"
in corporate practice are primitive, regressed and devolved neo-tribal
entities in which oppression of all by all does management's work for
them, allowing the suits to literally talk a different language and
inhabit a different world. They become, in Elvis Costello's words, the
gods of antiquity who have feasts on the backsides of beasts.
whatever




My, we are snarky, aren't we.
:)

The trouble being that my standard is
the only way to code truly reusable preprocessor macros. I've seen
what passes for quality here in Seebach's and Heathfield's garbage,
and they've been so long livin' in garbage that something merely
workmanlike seems very strange to them.

<snip>
 
N

Nick Keighley

[spinny]
Just blank the page, Peter, and this matter will disappear and be
forgotten.
I assure you it won't.
I don't think your sort of harrassment should be allowed to succeed.

Oh, it's succeeded.

I have, at last count, 7,869 words of much more carefully researched material
on the current edition of Schildt's books, showing that not only does he still
not understand basic C features and functionality, but that he himself
accepted my criticisms of the previous book -- but didn't understand them
well enough to apply their logical conclusions.  :)

I'm having some folks review it for a bit before I post it.

But I assure you, once I have a much better-written, much more comprehensive,
article explaining just how much Schildt's books suck, I will happily alter
the old one to indicate that it is incomplete and based on an older edition.

I wouldn't want Nilges to think that his pleadings have gone unheard.  He
has, in fact, motivated me to action -- it's taken several hours to produce
the new document.  :)

ah good. I didn't think you'd crack but lord he is persistent
 
S

Seebs

so were those criticisms of schildt's book incorrect? You aren't
trying to censor correct technical criticism are you?

Of course he was, because -- and this is *important* -- it was technical
criticism which would have revealed him to be wrong, not just a little bit,
but on a truly epic scale.

It's not that, on study, we find that my criticisms were too strong and
Schildt's book much better than I described it. It's that, on study, we
find that my criticisms were nowhere near strong enough, and Schildt's book
was much WORSE than I described it.
our experiences obviously vary

Yes. I've yet to see real code outside Schildt's book and student
exercises which does not adequately parenthesize function-like
macros.
I was objecting to the waste of *my* processing cycles. I don't care a
monky's about the compilers cycles (well within reason). I dislike
strange coding styles.

Exactly. Making the programmer do more work is ridiculous.
I have no problem with newbies

I love newbies.
I haven't seen any mistreatment of programmers from china here

A majority of my coworkers are Chinese. Most of them are newbies; they
have one or two years of experience and not much of it practical before
they start with us. I love working with them, because they're for the
most part diligent, focused, and interested in learning. They don't want
to do well enough to collect a paycheck and then slack off; they want to
be good programmers.

It would have been a lot more persuasive if it had taken him fewer tries
to implement the functionality of strstr(), I think.

-s
 
S

Seebs

ah good. I didn't think you'd crack but lord he is persistent

His persistance is giggle-inducing. The crazier he gets, the funnier I
think he is. Keep in mind, I used to spend happy afternoons browsing
crank.net. If I'm hanging around with friends and I have wifi, I'll
look up things like people who have found new and more accurate values
for pi and talk about them until other people are sick of it. :)

If we had a forum to communicate in which was neither private (I do not
wish to exchange communications with Nilges in a forum he can easily lie
about without getting caught) nor a waste of everyone else's time, I'd
probably spend a fair bit of time asking him questions just to try to figure
out how he thinks. I didn't end up working in psychology professionally, but
I am still enthralled by the ways in which humans go mad*.

-s
[*] Note that nearly all humans are at least a bit irrational around the
edges, myself included. I find it all interesting. I am also fascinated,
for instance, by the blind confidence most people have in their reading of
facial expressions, even though you can prove that most people aren't all
that good at it.
 
J

James Harris

....

Yes, your reputation is in tatters with the people here who matter,
and who know their trade, as opposed to self-serving little corporate
dweebs who post nonsense about computer books, pay their way onto
standards boards, and backstab to get what they want.

This is more fantasy, Ed. ISTM that such conclusions of your success
take place within the confines of your own mind.

James
 
J

James Harris

[...]
But I must congratulate Mr. Nilges.  After a mere 7 months of frothing,
raving, incoherence, he has managed to persuade me (with some help) that
the deficiencies in C:TCN justify taking the time to update and improve
it.  On the down side (for him, anyway), it turns out that the real problem
was that I had vastly understated the scope, depth, and severity of the
flaws in the text.  This will be corrected.

I encourage you to retain the existing version of the web page,
either unchanged or with a small number of clearly marked
annotations.  I find it to be of historical interest.

I second that. Apart from adding a note on which edition it relates to
and a forwarding link to the new page few other changes are needed.

James
 
J

James Harris

If what you say is right then we've actually discovered something very
interesting. The books sell well, and are into edition 4. So either
there are a lot of deluded people out there, or technical accuracy
really isn't so important in a programming book. Either statement
seems hard to swallow, but one must be correct. I'd go for the second.
I think if the book really wasn't an effective tutorial/reference,
then no amount of slick marketing and readable prose would have made
it successful in the marketplace. So it must be that people find it
useful.

Good point. What does make a book sell well? Some possiblities

* the author's prior reputation
* being part of a set by an author
* being part of a series of the publisher
* a good write-up on Amazon and other such retailers
* good presentation - e.g.
- looks easy to read
- looks fun to read
- has lots of short examples
* targets a recognised qualification
* readable prose (as you mention)
* absence of competition

Not sure if any of these apply to Schildt's book.

James
 
I

Ian Collins

If what you say is right then we've actually discovered something very
interesting. The books sell well, and are into edition 4. So either
there are a lot of deluded people out there, or technical accuracy
really isn't so important in a programming book. Either statement
seems hard to swallow, but one must be correct. I'd go for the second.
I think if the book really wasn't an effective tutorial/reference,
then no amount of slick marketing and readable prose would have made
it successful in the marketplace. So it must be that people find it
useful.

I've seen the book recommended as the cheapest way to get a printed copy
of the standard. These recommendation often come with a caveat about
the tutorial.
 
S

Seebs

I've seen the book recommended as the cheapest way to get a printed copy
of the standard. These recommendation often come with a caveat about
the tutorial.

That applies to _The Annotated ANSI C Standard_. At the time, an official
copy of the standard cost about $120, and _The Annotated ANSI C Standard_
cost about $40. Consensus was that this was a fair price to pay for the
annotations.

http://www.lysator.liu.se/c/schildt.html

-s
 
S

Seebs

Another amusing review...

Yes. After studying the errors in C:TCR more carefully, though, I am
pretty sure that the problem is not so much lack of space for good
annotations, as that Schildt simply doesn't understand some of the advanced
material well enough to comment on it. For instance, in C:TCR 4e (published
in 2000), we find that he still doesn't appear to understand the distinctions
between byte, character, and char.

-s
 
S

spinoza1111

Yes.  After studying the errors in C:TCR more carefully, though, I am
pretty sure that the problem is not so much lack of space for good
annotations, as that Schildt simply doesn't understand some of the advanced
material well enough to comment on it.  For instance, in C:TCR 4e (published
in 2000), we find that he still doesn't appear to understand the distinctions
between byte, character, and char.

You need to stop making these inferences, because a computer text
including exemplary code is not a computer program and as such can be
interpreted >1 way. If we are so freely to speculate on another
person's knowledge without working with that person (you refused to
work with Schildt) I'd say that as a programmer you have no clue about
necessary abstraction, like many low-level paraprogrammers.

You see, programmers of real software have to program in such a way
that their code often works independent of "the distinctions between
byte, character and char" imposed by a crude and out of date
programming language, and you seem to have been misled by Herb's
somewhat higher ability to abstract.

When are you going to blank or insert a disclaimer in CTCN and modify
the Reception section in the wikipedia article?
 
S

spinoza1111

Ah, my bad.

 >http://www.lysator.liu.se/c/schildt.html

Another amusing review...

No, this is a copycat drive-by that was instigated by Seebach's
garbage and in the same superficial style. It is very familiar as
having its own errors and is grandstanding. These two half-literate
attacks constitute the sole source of the Schildt canard. NO computer
scientist or author of note has participated in the Schildt canard.
 
S

spinoza1111

But I must congratulate Mr. Nilges.  After a mere 7 months of frothing,
raving, incoherence, he has managed to persuade me (with some help) that
the deficiencies in C:TCN justify taking the time to update and improve
it.  On the down side (for him, anyway), it turns out that the real problem
was that I had vastly understated the scope, depth, and severity of the
flaws in the text.  This will be corrected.
I encourage you to retain the existing version of the web page,
either unchanged or with a small number of clearly marked
annotations.  I find it to be of historical interest.

I second that. Apart from adding a note on which edition it relates to
and a forwarding link to the new page few other changes are needed.

James

If Seebach wishes to immortalize his incompetence and malice, the
clearest way would be to create a wikipedia article on this affair,
describing how a small number of the more intelligent posters on clc
got him to retract. That should be interesting.
 
S

spinoza1111

ah good. I didn't think you'd crack but lord he is persistent

His persistance is giggle-inducing.  The crazier he gets, the funnier I
think he is.  Keep in mind, I used to spend happy afternoons browsing
crank.net.  If I'm hanging around with friends and I have wifi, I'll
look up things like people who have found new and more accurate values
for pi and talk about them until other people are sick of it.  :)

If we had a forum to communicate in which was neither private (I do not
wish to exchange communications with Nilges in a forum he can easily lie
about without getting caught) nor a waste of everyone else's time, I'd
probably spend a fair bit of time asking him questions just to try to figure
out how he thinks.  I didn't end up working in psychology professionally, but
I am still enthralled by the ways in which humans go mad*.

-s
[*]  Note that nearly all humans are at least a bit irrational around the
edges, myself included.  I find it all interesting.  I am also fascinated,
for instance, by the blind confidence most people have in their reading of
facial expressions, even though you can prove that most people aren't all
that good at it.

Hmm, in this regard, I've gotten you to admit a very serious error,
amounting to a malicious lie as in libel, for since 2000 you have had
control over a Web page that, quite apart from its own errors ("the
'heap' is a DOS term") describes only 6 errata and wastes the reader's
time with your silly opinions in the remaining 14 reports.

Guess I'll stay a crank.
 
S

spinoza1111

It's not just technical accuracy; it's that the writing is also much worse
than I thought.


I don't agree.  Useless books can sell extremely well if they look like
they *will* be useful.  I have bought a great number of books which looked
good on an initial page-through in the store, but turned out to be completely
worthless for learning a topic.

Keep in mind, the positive reviews of this book nearly always come from people
who picked it to learn C and have a short amount of experience.  Now combine
that with the Dunning-Kruger effect and you see the problem; people who don't
understand C well enough to know whether or not they've learned it think this
book does a great job of teaching them C.

If they think so they are right in any human sense. That is what books
and freedom of thought are all about. You want technology to be the
sort of Fascist state that you're too cowardly to ask for in the real
world, where people can be shamed over shibboleths as blacks were
forced to use separate rest rooms because you believe being affiliated
at a low level with Linux makes you a better programmer.

It does not. When I told David Hansen at Princeton that I'd been a
Cobol programmer, he said that he felt that using louche platforms can
make one better since one must solve more problems. This logic doesn't
always work.

But you have given us evidence that you can't code.
Once you actually know the language a bit better, the errors start popping
out at you, but by that time, you've long since forgotten that eight years
ago you posted a positive review on Amazon.

"Above all, do no harm." It is much worse, and may amount to a civil
cause of action, that ten years ago, a fourth edition corrected the
errors you identify yet you did not erase the review. A glowing review
of some book by some idiot is just free speech under the law. CTCN is
maliciously false libel as is the Reception section of the wikipedia
article insofar as that section is based on CTCN.

And when are you going to change CTCN? And correct wikipedia? Or are
you just lying?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,262
Messages
2,571,045
Members
48,769
Latest member
Clifft

Latest Threads

Top