A note on Peter Seebach's vicious little tirade

  • Follow


http://spinoza1111.wordpress.com/2009/10/02/a-note-on-peter-seebachs-viciou=
s-little-tirade/


Peter Seebach has written a vicious little tirade on a computer
author, Herb Schildt which is at http://www.seebs.net/c/c_tcr.html. It
is characterized by a strikingly unethical misuse of logic and a
complete misunderstanding of rhetoric construed as how we say things
to be understood.

One of the most astonishing passages in Peter Seebach=92s vicious little
tirade about Herb Schildt=92s work is this:

"I am missing several hundred errors. Please write me if you think you
know of any I=92m missing. Please also write if you believe one of these
corrections is inadequate or wrong; I=92d love to see it.

Currently known: ... "

This is followed by a grand total of 20 errors.

That is, Seebach is using McCarthyist and Stalinist tactics in this
document. He presents 20 errors, some of which are trivial, and others
of which are matters of interpretation. He then apes Senator McCarthy,
who waved an empty sheet of paper in a Senate hearing on =93Communists
in the US government=94, making reference to a =93list=94.

Seebach=92s statement makes no sense, because he says at the end that
=93here are the known errors=94  but above he says =93I am missing several
hundred=94.

This can only logically be construed to mean that =93there must be
hundreds but I do not know what they are, and I=92d like you to join me
in this cybernetic lynching=94.


"Little did I dream you could be so reckless and cruel as to do an
injury to that lad. It is true he is still with Hale & Dorr. It is
true that he will continue to be with Hale & Dorr. It is, I regret to
say, equally true that I fear he shall always bear a scar needlessly
inflicted by you. If it were in my power to forgive you for your
reckless cruelty, I will do so. I like to think I am a gentleman, but
your forgiveness will have to come from someone other than me. "

....

"Let us not assassinate this lad further, senator. You have done
enough. Have you no sense of decency?"

- Joseph Welch, Army-McCarthy Hearings 9 June 1954
0
Reply spinoza1111 (3250) 10/2/2009 6:05:47 AM

On Thu, 01 Oct 2009 23:05:47 -0700, spinoza1111 wrote:
<snip>

> That is, Seebach is using McCarthyist and Stalinist tactics in this
> document. He presents 20 errors, some of which are trivial, and others
> of which are matters of interpretation. He then apes Senator McCarthy,
> who waved an empty sheet of paper in a Senate hearing on “Communists in
> the US government”, making reference to a “list”.
>
> Seebach’s statement makes no sense, because he says at the end that
> “here are the known errors”  but above he says “I am missing several
> hundred”.
>
> This can only logically be construed to mean that “there must be
> hundreds but I do not know what they are, and I’d like you to join me
> in this cybernetic lynching”.

Are you really not seeing this part of the original c_tcr document, or 
just pretending not to?

"The following is a partial list of the errors I am aware of, sorted by 
page number. I am not including everything; just many of them."
0
Reply gahr (143) 10/2/2009 7:13:27 AM


On Oct 2, 3:13=A0pm, Pietro Cerutti <g...@gahr.ch> wrote:
> On Thu, 01 Oct 2009 23:05:47 -0700, spinoza1111 wrote:
>
> <snip>
>
> > That is, Seebach is using McCarthyist and Stalinist tactics in this
> > document. He presents 20 errors, some of which are trivial, and others
> > of which are matters of interpretation. He then apes Senator McCarthy,
> > who waved an empty sheet of paper in a Senate hearing on =93Communists =
in
> > the US government=94, making reference to a =93list=94.
>
> > Seebach=92s statement makes no sense, because he says at the end that
> > =93here are the known errors=94 =A0but above he says =93I am missing se=
veral
> > hundred=94.
>
> > This can only logically be construed to mean that =93there must be
> > hundreds but I do not know what they are, and I=92d like you to join me
> > in this cybernetic lynching=94.
>
> Are you really not seeing this part of the original c_tcr document, or
> just pretending not to?
>
> "The following is a partial list of the errors I am aware of, sorted by
> page number. I am not including everything; just many of them."

As I've said, the page is contradictory, indeed to the point of
incoherence, which really undercuts Peter's claim to standing as a
critic and which may be why McGraw Hill shitcanned the fax.

"Partial" CONTRADICTS "currently known". And if "many" cannot be <
1/5, then there are at best 100 errors (including in all probability
trivia given the "known" list). This is not "hundreds".

Conclusions:

(1) Seebach is incapable of organizing a simple written document.

(2) From (1) it follows that Seebach has no standing in criticising
Schildt.

(3) Since the claims in the document are self-contradictory, Seebach
is lying.

(4) From (3) it follows that Seebach needs to take the post off the
Internet, and replace it with a public apology for the harm done
Schildt and his family.
0
Reply spinoza1111 (3250) 10/2/2009 9:18:03 AM

In 
<87676341-e969-4275-a0ee-7ac2f1395ddd@t11g2000prh.googlegroups.com>, 
spinoza1111 wrote:

<snip>

> Peter Seebach has written a vicious little tirade on a computer
> author, Herb Schildt which is at http://www.seebs.net/c/c_tcr.html.

Do you have a copy of "C: The Complete Reference"? Have you read it?

<snip>

-- 
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
"Usenet is a strange place" - dmr 29 July 1999
Sig line vacant - apply within
0
Reply rjh (10789) 10/2/2009 10:58:28 AM

spinoza1111 wrote:
> http://spinoza1111.wordpress.com/2009/10/02/a-note-on-peter-seebachs-vicious-little-tirade/

> Peter Seebach has written a vicious little tirade on a computer
> author, Herb Schildt which is at http://www.seebs.net/c/c_tcr.html. It

> This is followed by a grand total of 20 errors.
>
> That is, Seebach is using McCarthyist and Stalinist tactics in this
> document. He presents 20 errors, some of which are trivial, and others
> of which are matters of interpretation.

"Page 19
In general, negative numbers are represented using the two's complement 
approach...
This is not a C feature. It is a common implementation, but it is 
specifically not required. (Binary is, but one's complement is not unheard 
of.) "

'In general' can mean 'commonly'. Trivial nitpick.

"Page 33
The following heading occurs:

static Global Variables
No such thing. A static variable outside of a function has file scope, which 
is distinct from global scope."

Depends what the author meant by Global Variables (I haven't seen the book). 
Could be trivial.

"Page 163
You may also declare main() as void if it does not return a value.
Specifically untrue. ANSI mandates two declarations for main, and says that 
main may have declarations compatible with those. Both return int."

My K&R2 uses "main()" yet is highly thought of. Trivial.

"Page 333
After
 char str[80];

 sprintf(str,"%s %d %c", "one", 2, 3);

it is asserted that str will contain "one 2 3". This is incorrect; it would 
contain "one 2 ^C". (That's "control C" in ASCII, or a character with the 
value 3)"

Clearly this was a typo: that 3 in the sprintf call should have been '3'. 
Trivial.

Some of the others I can't comment on as I haven't seen the book. So I would 
have to agree a lot of this stuff depends on interpretation.

Perhaps the Schildt book just needed more thorough proof-reading.

-- 
Bartc 

0
Reply bartc (783) 10/2/2009 11:44:13 AM

On Thu, 1 Oct 2009 23:05:47 -0700 (PDT), spinoza1111
<spinoza1111@yahoo.com> wrote:

>Peter Seebach has written a vicious little tirade on a computer
>author, Herb Schildt which is at http://www.seebs.net/c/c_tcr.html. It

It's been there for the best part of a decade.
And you've commented on it many, many, many times before.

Why start another thread on this? Why this pretense that anyone is
"conducting a pogrom" or whatever hysterical analogy you're using now
(oh, I see it's "McCarthyist and Stalinist", those well-known
soulmates, not "Nazis" this week).

Less than a week ago you wrote:

On Fri, 25 Sep 2009 02:24:54 -0500 (CDT), spinoza1111
<spinoza1111@yahoo.com> wrote:
>Indeed, it appears to me that Seebach is maturing. I encourage this
>process, and as part of both Seebach's and Feather's growing up they
>both need to post a public apology to Schildt. Hopefully we can get
>their with this "peace process": that is my long term goal.

So much for Nilges' "peace process".

Neither Seebach or Feather have done anything to provoke this
resumption of hostilities. 

But that's it, isn't it?
You can't stand to be ignored. 
So busy writing your blog posts and waiting, waiting, waiting for
someone to come along and argue with you, in a place where you hold
the whiphand. 

0
Reply Harlan (60) 10/2/2009 12:26:18 PM

On 2 Oct, 07:05, spinoza1111 <spinoza1...@yahoo.com> wrote:

[Snip]

He really is something isn't he. I'm not quite sure what, but he
really is something.
0
Reply mark.bluemel (71) 10/2/2009 12:36:11 PM

In <jsqbc5tfn8u8kjjr3r6kampgclpquhdb50@4ax.com>, Colonel Harlan 
Sanders wrote:

<snip>
 
> So much for Nilges' "peace process".
> 
> Neither Seebach or Feather have done anything to provoke this
> resumption of hostilities.
> 
> But that's it, isn't it?
> You can't stand to be ignored.
> So busy writing your blog posts and waiting, waiting, waiting for
> someone to come along and argue with you, in a place where you hold
> the whiphand.

There's no point in holding a whiphand if there's nobody to whip. I 
would be very much surprised to discover any C experts reading his 
blog. What would be the point?

-- 
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
"Usenet is a strange place" - dmr 29 July 1999
Sig line vacant - apply within
0
Reply rjh (10789) 10/2/2009 12:56:25 PM

On Oct 2, 6:58=A0pm, Richard Heathfield <r...@see.sig.invalid> wrote:
> In
> <87676341-e969-4275-a0ee-7ac2f1395...@t11g2000prh.googlegroups.com>,
>
> spinoza1111wrote:
>
> <snip>
>
> > Peter Seebach has written a vicious little tirade on a computer
> > author, Herb Schildt which is athttp://www.seebs.net/c/c_tcr.html.
>
> Do you have a copy of "C: The Complete Reference"? Have you read it?

No.

Yes.

>
> <snip>
>
> --
> Richard Heathfield <http://www.cpax.org.uk>
> Email: -http://www. +rjh@
> "Usenet is a strange place" - dmr 29 July 1999
> Sig line vacant - apply within

0
Reply spinoza1111 (3250) 10/2/2009 4:46:37 PM

On Oct 2, 7:44=A0pm, "bartc" <ba...@freeuk.com> wrote:
> spinoza1111wrote:
> >http://spinoza1111.wordpress.com/2009/10/02/a-note-on-peter-seebachs-...
> > Peter Seebach has written a vicious little tirade on a computer
> > author, Herb Schildt which is athttp://www.seebs.net/c/c_tcr.html. It
> > This is followed by a grand total of 20 errors.
>
> > That is, Seebach is using McCarthyist and Stalinist tactics in this
> > document. He presents 20 errors, some of which are trivial, and others
> > of which are matters of interpretation.
>
> "Page 19
> In general, negative numbers are represented using the two's complement
> approach...
> This is not a C feature. It is a common implementation, but it is
> specifically not required. (Binary is, but one's complement is not unhear=
d
> of.) "
>
> 'In general' can mean 'commonly'. Trivial nitpick.
>
> "Page 33
> The following heading occurs:
>
> static Global Variables
> No such thing. A static variable outside of a function has file scope, wh=
ich
> is distinct from global scope."
>
> Depends what the author meant by Global Variables (I haven't seen the boo=
k).
> Could be trivial.
>
> "Page 163
> You may also declare main() as void if it does not return a value.
> Specifically untrue. ANSI mandates two declarations for main, and says th=
at
> main may have declarations compatible with those. Both return int."
>
> My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> "Page 333
> After
> =A0char str[80];
>
> =A0sprintf(str,"%s %d %c", "one", 2, 3);
>
> it is asserted that str will contain "one 2 3". This is incorrect; it wou=
ld
> contain "one 2 ^C". (That's "control C" in ASCII, or a character with the
> value 3)"
>
> Clearly this was a typo: that 3 in the sprintf call should have been '3'.
> Trivial.
>
> Some of the others I can't comment on as I haven't seen the book. So I wo=
uld
> have to agree a lot of this stuff depends on interpretation.
>
> Perhaps the Schildt book just needed more thorough proof-reading.

That could be correct.  Nothing justifies the harm Seebach has done.

>
> --
> Bartc

0
Reply spinoza1111 (3250) 10/2/2009 4:47:51 PM

On Oct 2, 8:26=A0pm, Colonel Harlan Sanders <Har...@kfc.com> wrote:
> On Thu, 1 Oct 2009 23:05:47 -0700 (PDT),spinoza1111
>
> <spinoza1...@yahoo.com> wrote:
> >Peter Seebach has written a vicious little tirade on a computer
> >author, Herb Schildt which is athttp://www.seebs.net/c/c_tcr.html. It
>
> It's been there for the best part of a decade.
> And you've commented on it many, many, many times before.

Yes, I have. And I will continue to do so when and where I choose
until Seebach and Feather replace their vicious little tirades with
apologies to Schildt.
>
> Why start another thread on this? Why this pretense that anyone is
> "conducting a pogrom" or whatever hysterical analogy you're using now
> (oh, I see it's "McCarthyist and Stalinist", those well-known
> soulmates, not "Nazis" this week).

Just because you know jackshit about McCarthyism, Stalinism, the
second-order relationship of the two, or Naziism don't mean I don't,
Bubba.
>
> Less than a week ago you wrote:
>
> On Fri, 25 Sep 2009 02:24:54 -0500 (CDT),spinoza1111
>
> <spinoza1...@yahoo.com> wrote:
> >Indeed, it appears to me that Seebach is maturing. I encourage this
> >process, and as part of both Seebach's and Feather's growing up they
> >both need to post a public apology to Schildt. Hopefully we can get
> >their with this "peace process": that is my long term goal.
>
> So much for Nilges' "peace process".
>
> Neither Seebach or Feather have done anything to provoke this
> resumption of hostilities.\

WTF did schildt do, KFC?
>
> But that's it, isn't it?
> You can't stand to be ignored.
> So busy writing your blog posts and waiting, waiting, waiting for
> someone to come along and argue with you, in a place where you hold
> the whiphand.

That's me, Kaintuck: Ilse, she-wolf of the SS, tigress of Siberia,
harem master of the oil sheikhs. What ev er turns you on.

You're just too chicken to post at the blog since you'll have to clean
up your act, Colonel.
0
Reply spinoza1111 (3250) 10/2/2009 4:52:36 PM

On Oct 2, 8:36=A0pm, Mark Bluemel <mark.blue...@googlemail.com> wrote:
> On 2 Oct, 07:05,spinoza1111<spinoza1...@yahoo.com> wrote:
>
> [Snip]
>
> He really is something isn't he. I'm not quite sure what, but he
> really is something.

Who?
0
Reply spinoza1111 (3250) 10/2/2009 4:52:55 PM

On Oct 2, 8:56=A0pm, Richard Heathfield <r...@see.sig.invalid> wrote:
> In <jsqbc5tfn8u8kjjr3r6kampgclpquhd...@4ax.com>, Colonel Harlan
>
> Sanders wrote:
>
> <snip>
>
> > So much for Nilges' "peace process".
>
> > Neither Seebach or Feather have done anything to provoke this
> > resumption of hostilities.
>
> > But that's it, isn't it?
> > You can't stand to be ignored.
> > So busy writing your blog posts and waiting, waiting, waiting for
> > someone to come along and argue with you, in a place where you hold
> > the whiphand.
>
> There's no point in holding a whiphand if there's nobody to whip. I
> would be very much surprised to discover any C experts reading his
> blog. What would be the point?

Gettin' a lot of hits  especially on "Software as a Philosophical
Pathology". I don't advise people how to use C since most people
shouldn't.
>
> --
> Richard Heathfield <http://www.cpax.org.uk>
> Email: -http://www. +rjh@
> "Usenet is a strange place" - dmr 29 July 1999
> Sig line vacant - apply within

0
Reply spinoza1111 (3250) 10/2/2009 4:54:18 PM

On 2009-10-02, bartc <bartc@freeuk.com> wrote:
> "Page 19
> In general, negative numbers are represented using the two's complement 
> approach...
> This is not a C feature. It is a common implementation, but it is 
> specifically not required. (Binary is, but one's complement is not unheard 
> of.) "

> 'In general' can mean 'commonly'. Trivial nitpick.

I think I'd agree at this point.  When I wrote that, I was much less aware
of connotational usage in language, and understood "in general" to be the
opposite of "in some cases".

> "Page 33
> The following heading occurs:
>
> static Global Variables
> No such thing. A static variable outside of a function has file scope, which 
> is distinct from global scope."
>
> Depends what the author meant by Global Variables (I haven't seen the book). 
> Could be trivial.

I don't think the author gets a vote in what "global" means.

> "Page 163
> You may also declare main() as void if it does not return a value.
> Specifically untrue. ANSI mandates two declarations for main, and says that 
> main may have declarations compatible with those. Both return int."
>
> My K&R2 uses "main()" yet is highly thought of. Trivial.

Not so.  "main()" declares main returning int.

It is arguably a fairly small issue, but it is one where he's definitely just
plain wrong.

> "Page 333
> After
>  char str[80];
>
>  sprintf(str,"%s %d %c", "one", 2, 3);
>
> it is asserted that str will contain "one 2 3". This is incorrect; it would 
> contain "one 2 ^C". (That's "control C" in ASCII, or a character with the 
> value 3)"
>
> Clearly this was a typo: that 3 in the sprintf call should have been '3'. 
> Trivial.

I don't think it's "clear" that it was a typo.  I am not a mind reader.

> Some of the others I can't comment on as I haven't seen the book.

The code provided is adequate to evaluate the claims.

> So I would 
> have to agree a lot of this stuff depends on interpretation.

I think some of it does, but at some point, when you have a large number
of samples of just-plain-wrong, you have to start asking why.

In particular, consider the ("%f", sizeof f) example, and the example
where he uses sizeof(a) where a is a function parameter declared as an
array.  You don't have to see the book to understand those, and to see
the problems.

You might be able to argue that the first is a "typo" again -- but now
we have to ask whether your "Clearly" evaluation of the sprintf example
above is right, because he seems to be more unclear on format specifiers
than you thought.  Maybe he really does think that %c works on numbers
that way; he appears to think that %f can print sizeof values.

The second, though, is just plain wrong, and can't be rendered right through
any trivial fix.

> Perhaps the Schildt book just needed more thorough proof-reading.

No.  It's not just the proof-reading errors, it's the conceptual errors.

I'll grant that some of the complaints were trivial, but not all were, and
they were only a small sample...  And I stand by the evaluation that it's a
very clear and lucid bit of writing describing a language similar to C,
but which is not actually C.

The thing is... *Third Edition*.  And yes, substantial revisions had occurred;
in the second edition, page 53 (I think?) had "<>" used as a synonym for !=.
So there were definitely revisions... But revisions which tell us that some
of the examples had never even COMPILED, let alone been run, are not
necessarily encouraging.

I would expect a third edition of a book to be pretty carefully vetted.

-s
-- 
Copyright 2009, all wrongs reversed.  Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
0
Reply usenet-nospam (2205) 10/2/2009 5:17:31 PM

On Oct 2, 7:44=A0am, "bartc" <ba...@freeuk.com> wrote:
>
> "Page 163
> You may also declare main() as void if it does not return a value.
> Specifically untrue. ANSI mandates two declarations for main, and says th=
at
> main may have declarations compatible with those. Both return int."
>
> My K&R2 uses "main()" yet is highly thought of. Trivial.

The only problem with K&R2's usage is that in the early chapters a
return statement is omitted, which is technically undefined behavior.
However, this was a pedagogical choice that is explained shortly
after, and correct code is provided from then on, IIRC. I won't attack
or defend their choice to allow undefined behavior for simplicity
sake, but this is quite different from doing so (regardless of the
reason) and then failing to correct the error both in explanation and
example.

Many of Schildt's errors from the time seem habitual, which suggests
that he himself didn't understand the language he was teaching well
enough to teach it. That is my gripe with these older books: a student
teaching a student usually results in two students with just enough
knowledge to be dangerous. Multiply that by however many copies his
best seller books have sold and the potential damage from first
generation readers alone is frightening.

In all fairness, when I glance through newer books by Schildt, they
don't usually strike me as being technically unsound.
0
Reply happyfrosty (97) 10/2/2009 5:53:52 PM

Julienne Walker <happyfrosty@hotmail.com> writes:
> On Oct 2, 7:44 am, "bartc" <ba...@freeuk.com> wrote:
>> "Page 163
>> You may also declare main() as void if it does not return a value.
>> Specifically untrue. ANSI mandates two declarations for main, and says that
>> main may have declarations compatible with those. Both return int."
>>
>> My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> The only problem with K&R2's usage is that in the early chapters a
> return statement is omitted, which is technically undefined behavior.
> However, this was a pedagogical choice that is explained shortly
> after, and correct code is provided from then on, IIRC. I won't attack
> or defend their choice to allow undefined behavior for simplicity
> sake, but this is quite different from doing so (regardless of the
> reason) and then failing to correct the error both in explanation and
> example.

The first sample program in K&R2 is:

#include <stdio.h>

main()
{
    printf("hello, world\n");
}

I suggest that there are actually three problems with that code:

1. It uses implicit int.  This is of course perfectly legal in
   C89/C90, but I personally consider it to be a poor style.

2. It uses () rather than (void).  I've argued here before that,
   strictly speaking, this invokes undefined behavior unless the
   implementation specifially allows that declaration for main.
   "main()" is not exactly equivalent to "main(void)".  This is
   a rather subtle point, and it's plausible that K&R themselves
   weren't aware of it at the time.

3. It doesn't return a value.  This is valid in C99, but of course the
   book predates C99 by about 10 years.  In C89/C90, it returns an
   undefined status to the environment.  On my system, when I compile
   and run the program, I get:
        hello, world
        Exit 13
   The second line comes from my shell, not from the program.

And yes, I know who I'm criticizing.  These are minor points.
I still consider K&R2 to be one of the best books on C, and one of
the best programming books overall.

[...]

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"
0
Reply kst-u (21481) 10/2/2009 6:32:27 PM

bartc wrote:

> My K&R2 uses "main()" yet is highly thought of. Trivial.

Your K&R2 is using implicit int. You need to learn C before commenting 
on Seebs' comments... :-)

> Perhaps the Schildt book just needed more thorough proof-reading.

Possibly. If I were technical author however, I'd be unhappy putting my 
name to something /that/ badly edited. I happen to have a book editor 
for a missus, I admit.

-- 
Mark McIntyre

CLC FAQ <http://c-faq.com/>
CLC readme: <http://www.ungerhu.com/jxh/clc.welcome.txt>
0
Reply markmcintyre2 (407) 10/2/2009 6:46:41 PM

bartc wrote:
> 
> sprintf(str,"%s %d %c", "one", 2, 3);
> 
> it is asserted that str will contain "one 2 3". This is incorrect; it 
> would contain "one 2 ^C". (That's "control C" in ASCII, or a character 
> with the value 3)"
> 
> Clearly this was a typo: that 3 in the sprintf call should have been 
> '3'. Trivial.

I disagree. This is supposed to be a technical reference work and its 
clearly intended to be read by people who might not realise its a typo. 
Such mistakes should not exist, and if they do there should be an 
erratum list somewhere. I don't think there is.

For my money, typos like this are as bad as a history book listing Queen 
  Victoria as dying in 1902 or Las Vegas as being the capital of Nevada. 
You just can't have them and remain credible.

-- 
Mark McIntyre

CLC FAQ <http://c-faq.com/>
CLC readme: <http://www.ungerhu.com/jxh/clc.welcome.txt>
0
Reply markmcintyre2 (407) 10/2/2009 6:50:34 PM


Keith Thompson wrote:

> Julienne Walker <happyfrosty@hotmail.com> writes:
> > On Oct 2, 7:44� am, "bartc" <ba...@freeuk.com> wrote:
> >> "Page 163
> >> You may also declare main() as void if it does not return a value.
> >> Specifically untrue. ANSI mandates two declarations for main, and says that
> >> main may have declarations compatible with those. Both return int."
> >>
> >> My K&R2 uses "main()" yet is highly thought of. Trivial.
> >
> > The only problem with K&R2's usage is that in the early chapters a
> > return statement is omitted, which is technically undefined behavior.
> > However, this was a pedagogical choice that is explained shortly
> > after, and correct code is provided from then on, IIRC. I won't attack
> > or defend their choice to allow undefined behavior for simplicity
> > sake, but this is quite different from doing so (regardless of the
> > reason) and then failing to correct the error both in explanation and
> > example.
>
> The first sample program in K&R2 is:
>
> #include <stdio.h>
>
> main()
> {
>     printf("hello, world\n");
> }
>
> I suggest that there are actually three problems with that code:
>
> 1. It uses implicit int.  This is of course perfectly legal in
>    C89/C90, but I personally consider it to be a poor style.
>
> 2. It uses () rather than (void).  I've argued here before that,
>    strictly speaking, this invokes undefined behavior unless the
>    implementation specifially allows that declaration for main.
>    "main()" is not exactly equivalent to "main(void)".  This is
>    a rather subtle point, and it's plausible that K&R themselves
>    weren't aware of it at the time.
>
> 3. It doesn't return a value.  This is valid in C99, but of course the
>    book predates C99 by about 10 years.  In C89/C90, it returns an
>    undefined status to the environment.  On my system, when I compile
>    and run the program, I get:
>         hello, world
>         Exit 13
>    The second line comes from my shell, not from the program.
>
> And yes, I know who I'm criticizing.  These are minor points.
> I still consider K&R2 to be one of the best books on C, and one of
> the best programming books overall.

To not weigh in too heavily on this. The real issue is Schildt's book
was promoted as a reference on C99 and his authority was the
contributions he made to the SC22/WG14 on C99. Both are not
true. At a point during the evolution of C that there was a real need
for clarity it didn't help.

The secondary problem is the book's publisher and author
don't seem to care about the errata.

w..



0
Reply walter20 (872) 10/2/2009 6:58:55 PM

On 2009-10-02, Mark McIntyre <markmcintyre@TROUSERSspamcop.net> wrote:
> I disagree. This is supposed to be a technical reference work and its 
> clearly intended to be read by people who might not realise its a typo. 
> Such mistakes should not exist, and if they do there should be an 
> erratum list somewhere. I don't think there is.

I basically agree -- which is embarassing because I'm pretty sure there's at
least one such error in my shell programming book which I have not yet set
up the errata list for.

-s
-- 
Copyright 2009, all wrongs reversed.  Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
0
Reply usenet-nospam (2205) 10/2/2009 7:00:56 PM

Mark McIntyre <markmcintyre@TROUSERSspamcop.net> writes:
> bartc wrote:
>> sprintf(str,"%s %d %c", "one", 2, 3);
>>
>> it is asserted that str will contain "one 2 3". This is incorrect;
>> it would contain "one 2 ^C". (That's "control C" in ASCII, or a
>> character with the value 3)"
>>
>> Clearly this was a typo: that 3 in the sprintf call should have been
>> '3'. Trivial.
>
> I disagree. This is supposed to be a technical reference work and its
> clearly intended to be read by people who might not realise its a
> typo. Such mistakes should not exist, and if they do there should be
> an erratum list somewhere. I don't think there is.
>
> For my money, typos like this are as bad as a history book listing
> Queen Victoria as dying in 1902 or Las Vegas as being the capital of
> Nevada. You just can't have them and remain credible.

It probably did originate as a typo, but it should never have
survived to appear in a published book.  If it was a typo in
Schildt's original code, it should have been caught as soon as he
compiled and ran the code -- and there's no excuse for not doing so
for code intended for a published book.

It's possible that Schildt's code was correct and the apostrophes
were lost later, perhaps in typesetting.  I don't know enough about
the process of publishing books to know how plausible that is.
If that's the case, then I can understand the error appearing in
the published book -- but then there needs to be an errata list
from either the author or the publisher.

And the number of other serious errors in Schildt's published code
makes it likely, but doesn't prove, that the error was Schildt's
and he just didn't bother to check it.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"
0
Reply kst-u (21481) 10/2/2009 7:06:54 PM

In 
<9429e201-e315-488d-8486-dd01f09573c2@y28g2000prd.googlegroups.com>, 
spinoza1111 wrote:

> On Oct 2, 6:58 pm, Richard Heathfield <r...@see.sig.invalid> wrote:
>> In
>> 
<87676341-e969-4275-a0ee-7ac2f1395...@t11g2000prh.googlegroups.com>,
>>
>> spinoza1111wrote:
>>
>> <snip>
>>
>> > Peter Seebach has written a vicious little tirade on a computer
>> > author, Herb Schildt which is
>> > athttp://www.seebs.net/c/c_tcr.html.
>>
>> Do you have a copy of "C: The Complete Reference"? Have you read
>> it?
> 
> No.
> 
> Yes.

Then I suggest you read it again, more closely this time.

-- 
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
"Usenet is a strange place" - dmr 29 July 1999
Sig line vacant - apply within
0
Reply rjh (10789) 10/2/2009 9:21:03 PM

In <c4d555d0-1a6c-45de-bc25-49b2fbac1843@j9g2000prh.googlegroups.com>, 
spinoza1111 wrote:

> On Oct 2, 8:56 pm, Richard Heathfield <r...@see.sig.invalid> wrote:
>> I would be very much surprised to discover any C experts reading
>> his blog. What would be the point?
> 
> Gettin' a lot of hits  especially on "Software as a Philosophical
> Pathology".

I have long since learned to take anything you say with a pinch of 
salt. Also, I doubt whether your hit counter is capable of 
distinguishing C experts.

> I don't advise people how to use C since most people shouldn't.

I actually agree with this. Most people should not be let anywhere 
near C. In fact, most people should not be let anywhere near a 
computer.

-- 
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
"Usenet is a strange place" - dmr 29 July 1999
Sig line vacant - apply within
0
Reply rjh (10789) 10/2/2009 9:23:34 PM

Richard Heathfield wrote:
> In <c4d555d0-1a6c-45de-bc25-49b2fbac1843@j9g2000prh.googlegroups.com>, 
> spinoza1111 wrote:
....
>> I don't advise people how to use C since most people shouldn't.
> 
> I actually agree with this. Most people should not be let anywhere 
> near C. In fact, most people should not be let anywhere near a 
> computer.

In today's world that would require an Amish-like lifestyle. There's 
computers in our cars, our kitchen appliances, our TV sets, and our 
telephones.
0
Reply jameskuyper (5171) 10/2/2009 9:29:30 PM

James Kuyper wrote:
> Richard Heathfield wrote:
>> In <c4d555d0-1a6c-45de-bc25-49b2fbac1843@j9g2000prh.googlegroups.com>, 
>> spinoza1111 wrote:
> ...
>>> I don't advise people how to use C since most people shouldn't.
>>
>> I actually agree with this. Most people should not be let anywhere 
>> near C. In fact, most people should not be let anywhere near a computer.
> 
> In today's world that would require an Amish-like lifestyle. There's 
> computers in our cars, our kitchen appliances, our TV sets, and our 
> telephones.

I know people I would not trust in a car, people I would not trust in a 
kitchen, people I would not trust with a TV, and definitely people I 
would like kept away from telephones!

Most people have no interest in programming. Of those that do a large 
number are not interested in C.
-- 
Flash Gordon
0
Reply smap (838) 10/2/2009 10:20:36 PM

In <kuaip6xh93.ln2@news.flash-gordon.me.uk>, Flash Gordon wrote:

> James Kuyper wrote:
>> Richard Heathfield wrote:
>>> [...] Most people should not be let anywhere
>>> near C. In fact, most people should not be let anywhere near a
>>> computer.
>> 
>> In today's world that would require an Amish-like lifestyle.
>> There's computers in our cars, our kitchen appliances, our TV sets,
>> and our telephones.
> 
> I know people I would not trust in a car, people I would not trust
> in a kitchen, people I would not trust with a TV, and definitely
> people I would like kept away from telephones!

<grin> You have a daughter too, huh?

But mostly I was referring to hosted systems (eg PCs, mainframes, 
etc).

<snip>

-- 
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
"Usenet is a strange place" - dmr 29 July 1999
Sig line vacant - apply within
0
Reply rjh (10789) 10/3/2009 12:01:32 AM

On Oct 3, 1:17=A0am, Seebs <usenet-nos...@seebs.net> wrote:
> On 2009-10-02, bartc <ba...@freeuk.com> wrote:
>
> > "Page 19
> > In general, negative numbers are represented using the two's complement
> > approach...
> > This is not a C feature. It is a common implementation, but it is
> > specifically not required. (Binary is, but one's complement is not unhe=
ard
> > of.) "
> > 'In general' can mean 'commonly'. Trivial nitpick.
>
> I think I'd agree at this point. =A0When I wrote that, I was much less aw=
are
> of connotational usage in language, and understood "in general" to be the
> opposite of "in some cases".

1 down, 19 to go.
>
> > "Page 33
> > The following heading occurs:
>
> > static Global Variables
> > No such thing. A static variable outside of a function has file scope, =
which
> > is distinct from global scope."
>
> > Depends what the author meant by Global Variables (I haven't seen the b=
ook).
> > Could be trivial.
>
> I don't think the author gets a vote in what "global" means.

I do. As a second generation computist, Peter, both literally and
agewise, you fail to understand here that Humpty Dumpty, in a
sociological sense, is right, despite the conservative fantasy that
texts (dictionaries included) determine word meaning.

When I, or we (where "we" is a discourse community) use a word, it
means what we or I mean: no more and no less. Ordinary programmers do
indeed confuse and conflate "file" and "global" scope especially
outside of C for two very good reasons:

(1) File scope is a C term, and C was so poorly designed it has no
apriori right to determine our usage whatsoever.

(2) Programmers, not computer scientists, created software praxis,
theory, and the lexicon. You weren't there, but I was.

As I relate in my book, a spiritual mentor was already writing
compilers that dared not speak their name in 1955 working for the
railroad industry on behalf of IBM. As was the case with early Greek
mathematics, working people developed the practice...and the theory.

But as a result, an urban legend existed by the 1960s that a new
priesthood of sheer nobodies was going to take over the worklives of
"real" people, defined as people whose skilled white collar work was
under threat by computerization. As in the case of Euclid and Plato,
self-defined "computer scientists" created credentialism based on the
work of the anonymous programmers just preceding them.

Which is how it should have been: except for one thing. Rather than
formalizing the praxis to the best of their ability, most computer
scientists outside of Dijkstra did as little work as possible and the
result was a series of mistakes and messes blessed by computer
science, including Multics, hierarchical data bases...and, we now
know, C.

Having seen this process first-hand, I believe you have no right
whatsoever to criticise Herb for misuse of words, since your
intellectual foundation is itself built on sand.

>
> > "Page 163
> > You may also declare main() as void if it does not return a value.
> > Specifically untrue. ANSI mandates two declarations for main, and says =
that
> > main may have declarations compatible with those. Both return int."
>
> > My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> Not so. =A0"main()" declares main returning int.
>
> It is arguably a fairly small issue, but it is one where he's definitely =
just
> plain wrong.

You've been foolishly replicating this trivial crap for years with the
result that the virus and its surrounding cloud of confusion pervades
the Internet.
>
> > "Page 333
> > After
> > =A0char str[80];
>
> > =A0sprintf(str,"%s %d %c", "one", 2, 3);
>
> > it is asserted that str will contain "one 2 3". This is incorrect; it w=
ould
> > contain "one 2 ^C". (That's "control C" in ASCII, or a character with t=
he
> > value 3)"
>
> > Clearly this was a typo: that 3 in the sprintf call should have been '3=
'.
> > Trivial.
>
> I don't think it's "clear" that it was a typo. =A0I am not a mind reader.

That's your problem, isn't it. Peter, what the HELL do you think
understanding, dialog, and civility ARE, and (to quote Elvis Costello)
what's so funny about peace love and here, understanding? Language
comprehension IS mind reading.

In the philosophical sense, your careless use of cliche is very
interesting, since it shows how the demotic understanding of the
scientific world view is what Richard Berman calls "the disenchantment
of the world".

You deny the possibility of an occult connection with Herb Schildt's
mind because you're a no-nonsense chap. But in so doing by way of
hackneyed prose, by saying "I'm not a mind reader", you inevitably, to
use my own cliche, throw the baby out with the bathwater, for people
in crummy little offices say "I'm not a mind reader" half the time
perfectly sensibly...and the other half when they don't want to listen
or read.

To deny the occult in the hackneyed register is ALSO to deny ordinary
non-occult mechanisms such as language by means of which we do become
"mind readers".
>
> > Some of the others I can't comment on as I haven't seen the book.
>
> The code provided is adequate to evaluate the claims.
>
> > So I would
> > have to agree a lot of this stuff depends on interpretation.
>
> I think some of it does, but at some point, when you have a large number
> of samples of just-plain-wrong, you have to start asking why.

What's the number and where's the list? You have given 20 items, some
of which you admit are trivial.
>
> In particular, consider the ("%f", sizeof f) example, and the example
> where he uses sizeof(a) where a is a function parameter declared as an
> array. =A0You don't have to see the book to understand those, and to see
> the problems.
>
> You might be able to argue that the first is a "typo" again -- but now
> we have to ask whether your "Clearly" evaluation of the sprintf example
> above is right, because he seems to be more unclear on format specifiers
> than you thought. =A0Maybe he really does think that %c works on numbers
> that way; he appears to think that %f can print sizeof values.

Does it matter what he thinks?

English departments of the 1950s, in the USA, taught the "new
Criticism" in which the author was axiomatically assumed either to be
all-knowing and all-enabled to communicate a pure intent, or deficient
if he was not either of those.

Analyzing Herb's books as Great Literature under New Criticism would
find them simply not as good as other books: big deal. This happens
every day: millions of books are published and some of them are not as
good as others.

"Deconstruction" on the other hand finds boners ("aporias") even in
Homer and stresses more how we make use of a text. It doesn't whine
about the author's Homeric nods.

As Nash and I discovered at the time C The Complete Reference was
published, there were (and are) multiple incompatible versions of C,
and Herb's audience also had to contend with this.

Booklovers don't write vicious little tirades itemizing a subset of 20
errors to imply hundreds, Peter. Hitler Youth do this.
>
> The second, though, is just plain wrong, and can't be rendered right thro=
ugh
> any trivial fix.
>
> > Perhaps the Schildt book just needed more thorough proof-reading.
>
> No. =A0It's not just the proof-reading errors, it's the conceptual errors=
..
>
> I'll grant that some of the complaints were trivial, but not all were, an=
d
> they were only a small sample... =A0And I stand by the evaluation that it=
's a
> very clear and lucid bit of writing describing a language similar to C,
> but which is not actually C.

Where is the complete list, Peter?
>
> The thing is... *Third Edition*. =A0And yes, substantial revisions had oc=
curred;
> in the second edition, page 53 (I think?) had "<>" used as a synonym for =
!=3D.
> So there were definitely revisions... But revisions which tell us that so=
me
> of the examples had never even COMPILED, let alone been run, are not
> necessarily encouraging.
>
> I would expect a third edition of a book to be pretty carefully vetted.

OK, ten years prior to C: The Complete Reference, Donald Knuth had
pioneered a technology (Tex & Literate Programming) for so integrating
source with prose as to be able to continually test the source code.

This should have been adopted by publishers given Brian Kernighan's
observation in 1976 that there were errors in many computer books'
code snippets.

It was not: when I published Build Your Own .Net Language and Compiler
in 2004, it was more important (for a good reason or bad) to my
editors that I use special screen capture software for screen shots
than it was for the code quoted in my .docx and subsequently .pdf file
to be extractable and testable  by an automatic tool just before I
sent the .pdf to the last time to Apress for shipment to a print
plant.

As it was I shipped GUIs with inspect() and test() buttons in the
download at Apress to have some control over bugs in the code, not as
it appeared on the printed page but in the download.

Under the conditions of production of C: The Complete Reference,
errors inevitably creep in. Had Brian's 1976 recommendations been
thought important, publishers would have been required by law to use
Tex and Literate Programming technologies to publish computer books,
but as usual, what programmers think "oughta be a law" does not
control. Herb did a more than acceptable job in the real world, and
did not deserve to be singled out by you, in a way that you knew, or
should have known, would self-replicate virally on the Internet, in
such a way as to magnify a trivial list of 20 typos and matters of
opinion!



>
> -s
> --
> Copyright 2009, all wrongs reversed. =A0Peter Seebach / usenet-nos...@see=
bs.nethttp://www.seebs.net/log/<-- lawsuits, religion, and funny picturesht=
tp://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!

0
Reply spinoza1111 (3250) 10/3/2009 6:39:33 AM

On Oct 3, 1:53=A0am, Julienne Walker <happyfro...@hotmail.com> wrote:
> On Oct 2, 7:44=A0am, "bartc" <ba...@freeuk.com> wrote:
>
>
>
> > "Page 163
> > You may also declare main() as void if it does not return a value.
> > Specifically untrue. ANSI mandates two declarations for main, and says =
that
> > main may have declarations compatible with those. Both return int."
>
> > My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> The only problem with K&R2's usage is that in the early chapters a
> return statement is omitted, which is technically undefined behavior.
> However, this was a pedagogical choice that is explained shortly
> after, and correct code is provided from then on, IIRC. I won't attack
> or defend their choice to allow undefined behavior for simplicity
> sake, but this is quite different from doing so (regardless of the
> reason) and then failing to correct the error both in explanation and
> example.
>
> Many of Schildt's errors from the time seem habitual, which suggests
> that he himself didn't understand the language he was teaching well
> enough to teach it. That is my gripe with these older books: a student
> teaching a student usually results in two students with just enough
> knowledge to be dangerous. Multiply that by however many copies his
> best seller books have sold and the potential damage from first
> generation readers alone is frightening.

Wow, Julienne, this is just nonsense. What you are saying is that
people can be "damaged" by "reading a book".

Please, think about that.

I now TEACH critical reading having been first requested to do so when
in Chicago I was teaching Visual Basic at uni level. And I teach
students that all reading is critical.

That is: the old Fundamentalist screed, against the reading of books
other than the Bible (or Q'uran), can be turned on its head.

The Fundamentalist says, "why read anything other than the Bible (or
Q'uran)? If it is in the Bible, or Q'uran, it is true: if it is not in
the Bible (or Q'uran) it is false."

But this is Fundamentally bullshit. For it implies that one should
only read the Bible (or Q'uran), once, and memorize it (which was the
practice of older traditions of Hinduism and Buddhism in preliterate
societies).

It's bullshit, because reading worth the name of reading CRITICALLY
CONNECTS with the text.

On the one hand it is alert for errors and aporias.

On the other, it makes an effort to cathect, to connect, to relate: to
find common ground. Peter Seebach could have said to himself "oh,
yeah, I can relate, I see where he's at" but he didn't, being a punk,
at least 15 years ago.

In a free society, no government, not even a powerful private entity
(such as a manipulated viral Internet opinion) has the right to claim
that a book's errors will have pernicious effect. This is because free
citizens in a free society will do as I did in January 1970 when I
bought my textbook for my first computer science class, Sherman's
"Programming and Coding for Digital Computers".

It described the IBM 7094 with its fixed word length as a paradigm
computer: but in lectures, the professor described the computer which
we were to use, which had a completely different architecture.

My figuring this out was and is called gittin' a edumocation. While no
author has the right to deliberately say things that aren't true, his
Homeric nods can be used in a free society to create truth in minds
sufficiently critical, sufficiently undulled by corporate horseshit,
to form their own views, and, in Herb's case, try his code out on
their own systems.

The C99 standards committee, and computer vendors who want to lay off
highly skilled compiler vendors to increase their stock price, have
done far more damage to C praxis than has Herb Schildt, because they
made an undefined and undefinable mess of what was a fairly clear
language before C99.
>
> In all fairness, when I glance through newer books by Schildt, they
> don't usually strike me as being technically unsound.

Oh aren't we dulcet fair, Julienne
Aren't we dulcet fair?
She does damage and speaks false
And then she moves on leaving not a lock of golden hair.

Oh aren't we dulcet fair? We have said what we have said
That a book may rot the reader's head,
And that it's perfectly OK
To go right ahead and say
Things that damage needlessly and hurt a family

Whilst over this darkling plain, where "ignorant armies clash by
night"
The corporations step on all of us as they wage their hideous fight.
0
Reply spinoza1111 (3250) 10/3/2009 6:59:54 AM

On Oct 3, 2:32=A0am, Keith Thompson <ks...@mib.org> wrote:
> Julienne Walker <happyfro...@hotmail.com> writes:
> > On Oct 2, 7:44=A0am, "bartc" <ba...@freeuk.com> wrote:
> >> "Page 163
> >> You may also declare main() as void if it does not return a value.
> >> Specifically untrue. ANSI mandates two declarations for main, and says=
 that
> >> main may have declarations compatible with those. Both return int."
>
> >> My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> > The only problem with K&R2's usage is that in the early chapters a
> > return statement is omitted, which is technically undefined behavior.
> > However, this was a pedagogical choice that is explained shortly
> > after, and correct code is provided from then on, IIRC. I won't attack
> > or defend their choice to allow undefined behavior for simplicity
> > sake, but this is quite different from doing so (regardless of the
> > reason) and then failing to correct the error both in explanation and
> > example.
>
> The first sample program in K&R2 is:
>
> #include <stdio.h>
>
> main()
> {
> =A0 =A0 printf("hello, world\n");
>
> }
>
> I suggest that there are actually three problems with that code:
>
> 1. It uses implicit int. =A0This is of course perfectly legal in
> =A0 =A0C89/C90, but I personally consider it to be a poor style.
>
> 2. It uses () rather than (void). =A0I've argued here before that,
> =A0 =A0strictly speaking, this invokes undefined behavior unless the
> =A0 =A0implementation specifially allows that declaration for main.
> =A0 =A0"main()" is not exactly equivalent to "main(void)". =A0This is
> =A0 =A0a rather subtle point, and it's plausible that K&R themselves
> =A0 =A0weren't aware of it at the time.
>
> 3. It doesn't return a value. =A0This is valid in C99, but of course the
> =A0 =A0book predates C99 by about 10 years. =A0In C89/C90, it returns an
> =A0 =A0undefined status to the environment. =A0On my system, when I compi=
le
> =A0 =A0and run the program, I get:
> =A0 =A0 =A0 =A0 hello, world
> =A0 =A0 =A0 =A0 Exit 13
> =A0 =A0The second line comes from my shell, not from the program.
>
> And yes, I know who I'm criticizing. =A0These are minor points.
> I still consider K&R2 to be one of the best books on C, and one of
> the best programming books overall.

OK. So how come you do not defend Schildt? He's not as good as K & R,
but K & R contain errors, and Schildt is admitted to be a good writer.

Could it be?

Could it be that Schildt is a Midwesterner with a funny-sounding, too
German name to be thought worthy of respect?

Like me?

And for this reason he became your scapegoat for your own failings?

>
> [...]
>
> --
> Keith Thompson (The_Other_Keith) ks...@mib.org =A0<http://www.ghoti.net/~=
kst>
> Nokia
> "We must do something. =A0This is something. =A0Therefore, we must do thi=
s."
> =A0 =A0 -- Antony Jay and Jonathan Lynn, "Yes Minister"- Hide quoted text=
 -
>
> - Show quoted text -

0
Reply spinoza1111 (3250) 10/3/2009 7:02:44 AM

On Oct 3, 2:50=A0am, Mark McIntyre <markmcint...@TROUSERSspamcop.net>
wrote:
> bartc wrote:
>
> > sprintf(str,"%s %d %c", "one", 2, 3);
>
> > it is asserted that str will contain "one 2 3". This is incorrect; it
> > would contain "one 2 ^C". (That's "control C" in ASCII, or a character
> > with the value 3)"
>
> > Clearly this was a typo: that 3 in the sprintf call should have been
> > '3'. Trivial.
>
> I disagree. This is supposed to be a technical reference work and its
> clearly intended to be read by people who might not realise its a typo.
> Such mistakes should not exist, and if they do there should be an
> erratum list somewhere. I don't think there is.
>
> For my money, typos like this are as bad as a history book listing Queen
> =A0 Victoria as dying in 1902 or Las Vegas as being the capital of Nevada=
..
> You just can't have them and remain credible.

The confusion here is between a constructed entity (C praxis and
theory) of trivial import, and real biological, historical and legal
facts. Since any one of us can in principle write a compiler or OS as
part of a supportive community (Linus Torvaldys having stunningly
proved this by example), while Queen Victoria was powerless over the
Grim Reaper's exact arrival, and the legislature of the state of
Nevada would have a fit, THERE IS A DIFFERENCE between "nature" and
"second nature" here which applies, and to treat C as a holy relic is
bullshit qed.

One reason I'd rather teach rug rats today is the grim self-importance
of programmers over such trivial, nasty and dead things, a self-
importance coupled shamefully with a mulish refusal to improve along
the one dimension that might make sense in terms of human survival:
software safety at the bare metal level.
>
> --
> Mark McIntyre
>
> CLC FAQ <http://c-faq.com/>
> CLC readme: <http://www.ungerhu.com/jxh/clc.welcome.txt>

0
Reply spinoza1111 (3250) 10/3/2009 7:07:58 AM

spinoza1111 <spinoza1111@yahoo.com> writes:

>As Nash and I discovered ....

Ah good, you managed to drop Nash's name again....

-- 
Chris.
0
Reply chris16 (580) 10/3/2009 7:09:33 AM

On Fri, 2 Oct 2009 09:52:36 -0700 (PDT), spinoza1111
<spinoza1111@yahoo.com> wrote:

>On Oct 2, 8:26�pm, Colonel Harlan Sanders <Har...@kfc.com> wrote:

>> Why start another thread on this? Why this pretense that anyone is
>> "conducting a pogrom" or whatever hysterical analogy you're using now
>> (oh, I see it's "McCarthyist and Stalinist", those well-known
>> soulmates, not "Nazis" this week).
>
>Just because you know jackshit about McCarthyism, Stalinism, the
>second-order relationship of the two, or Naziism don't mean I don't,
>Bubba.

And in your mind, writing a book review is equivalent to this.

>> Neither Seebach or Feather have done anything to provoke this
>> resumption of hostilities.
>
>WTF did schildt do, KFC?

None of the people actually involved in this -- Schildt, Seebach,
Feather -- have done a thing or said a word about it for the last ten
years, except in response to your obsessive rehashing of the subject
and vicious personal attacks  -- on people's character, intelligence,
politics, sexuality -- trying to get them to pay attention to you.

Are you really so lonely that engaging in Usenet flame wars is the
only social interaction you have?

Well, the group can survive the sport shoe and porn spammers, it can
survive you. 

0
Reply Harlan (60) 10/3/2009 7:09:53 AM

On Oct 3, 3:00=A0am, Seebs <usenet-nos...@seebs.net> wrote:
> On 2009-10-02, Mark McIntyre <markmcint...@TROUSERSspamcop.net> wrote:
>
> > I disagree. This is supposed to be a technical reference work and its
> > clearly intended to be read by people who might not realise its a typo.
> > Such mistakes should not exist, and if they do there should be an
> > erratum list somewhere. I don't think there is.
>
> I basically agree -- which is embarassing because I'm pretty sure there's=
 at
> least one such error in my shell programming book which I have not yet se=
t
> up the errata list for.

Gods bodykins man, better. Vse euerie man after his desart, and who
should scape whipping: vse them after your own Honor and Dignity. The
lesse they deserue, the more merit is in your bountie. Take them in.

(Shakespeare, Hamlet)

>
> -s
> --
> Copyright 2009, all wrongs reversed. =A0Peter Seebach / usenet-nos...@see=
bs.nethttp://www.seebs.net/log/<-- lawsuits, religion, and funny picturesht=
tp://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!

0
Reply spinoza1111 (3250) 10/3/2009 7:11:34 AM

On Oct 3, 2:58=A0am, Walter Banks <wal...@bytecraft.com> wrote:
> Keith Thompson wrote:
> > Julienne Walker <happyfro...@hotmail.com> writes:
> > > On Oct 2, 7:44=C2 am, "bartc" <ba...@freeuk.com> wrote:
> > >> "Page 163
> > >> You may also declare main() as void if it does not return a value.
> > >> Specifically untrue. ANSI mandates two declarations for main, and sa=
ys that
> > >> main may have declarations compatible with those. Both return int."
>
> > >> My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> > > The only problem with K&R2's usage is that in the early chapters a
> > > return statement is omitted, which is technically undefined behavior.
> > > However, this was a pedagogical choice that is explained shortly
> > > after, and correct code is provided from then on, IIRC. I won't attac=
k
> > > or defend their choice to allow undefined behavior for simplicity
> > > sake, but this is quite different from doing so (regardless of the
> > > reason) and then failing to correct the error both in explanation and
> > > example.
>
> > The first sample program in K&R2 is:
>
> > #include <stdio.h>
>
> > main()
> > {
> > =A0 =A0 printf("hello, world\n");
> > }
>
> > I suggest that there are actually three problems with that code:
>
> > 1. It uses implicit int. =A0This is of course perfectly legal in
> > =A0 =A0C89/C90, but I personally consider it to be a poor style.
>
> > 2. It uses () rather than (void). =A0I've argued here before that,
> > =A0 =A0strictly speaking, this invokes undefined behavior unless the
> > =A0 =A0implementation specifially allows that declaration for main.
> > =A0 =A0"main()" is not exactly equivalent to "main(void)". =A0This is
> > =A0 =A0a rather subtle point, and it's plausible that K&R themselves
> > =A0 =A0weren't aware of it at the time.
>
> > 3. It doesn't return a value. =A0This is valid in C99, but of course th=
e
> > =A0 =A0book predates C99 by about 10 years. =A0In C89/C90, it returns a=
n
> > =A0 =A0undefined status to the environment. =A0On my system, when I com=
pile
> > =A0 =A0and run the program, I get:
> > =A0 =A0 =A0 =A0 hello, world
> > =A0 =A0 =A0 =A0 Exit 13
> > =A0 =A0The second line comes from my shell, not from the program.
>
> > And yes, I know who I'm criticizing. =A0These are minor points.
> > I still consider K&R2 to be one of the best books on C, and one of
> > the best programming books overall.
>
> To not weigh in too heavily on this. The real issue is Schildt's book
> was promoted as a reference on C99 and his authority was the
> contributions he made to the SC22/WG14 on C99. Both are not
> true. At a point during the evolution of C that there was a real need
> for clarity it didn't help.
>
> The secondary problem is the book's publisher and author
> don't seem to care about the errata.
>
> w..- Hide quoted text -
>
> - Show quoted text -

This is untrue, and it is an example of why it's important not to
trigger viral rumors as has Seebach.

C: The Complete Reference was published BEFORE C99. Herb's book on the
Standard was published later and was attacked separately by another
member of the standards committee with a similar interest in trashing
individuals so as to divert attention from what was being done: the
protection of private investment in bad C compilers. Feather acted
because Peter had shown that Schildt was a safe target for bullies, is
my guess.
0
Reply spinoza1111 (3250) 10/3/2009 7:14:39 AM

On Oct 3, 3:06=A0am, Keith Thompson <ks...@mib.org> wrote:
> Mark McIntyre <markmcint...@TROUSERSspamcop.net> writes:
> > bartc wrote:
> >> sprintf(str,"%s %d %c", "one", 2, 3);
>
> >> it is asserted that str will contain "one 2 3". This is incorrect;
> >> it would contain "one 2 ^C". (That's "control C" in ASCII, or a
> >> character with the value 3)"
>
> >> Clearly this was a typo: that 3 in the sprintf call should have been
> >> '3'. Trivial.
>
> > I disagree. This is supposed to be a technical reference work and its
> > clearly intended to be read by people who might not realise its a
> > typo. Such mistakes should not exist, and if they do there should be
> > an erratum list somewhere. I don't think there is.
>
> > For my money, typos like this are as bad as a history book listing
> > Queen Victoria as dying in 1902 or Las Vegas as being the capital of
> > Nevada. You just can't have them and remain credible.
>
> It probably did originate as a typo, but it should never have
> survived to appear in a published book. =A0If it was a typo in
> Schildt's original code, it should have been caught as soon as he
> compiled and ran the code -- and there's no excuse for not doing so
> for code intended for a published book.
>
> It's possible that Schildt's code was correct and the apostrophes
> were lost later, perhaps in typesetting. =A0I don't know enough about
> the process of publishing books to know how plausible that is.
> If that's the case, then I can understand the error appearing in
> the published book -- but then there needs to be an errata list
> from either the author or the publisher.

While Apress and I published errata on my books, this is not a
universal practice for the very good reason that people don't read
such lists. Instead, careful and critical readers learn from the
author's Homeric nods and treat his clarity (something admitted by
Schildt's enemies) as more important.

And, as I have said, no programmer takes printed code seriously to the
extent of blindly running it unless he's a complete buffoon. Are you a
complete buffoon, or only part of one?
>
> And the number of other serious errors in Schildt's published code
> makes it likely, but doesn't prove, that the error was Schildt's
> and he just didn't bother to check it.
>
> --
> Keith Thompson (The_Other_Keith) ks...@mib.org =A0<http://www.ghoti.net/~=
kst>
> Nokia
> "We must do something. =A0This is something. =A0Therefore, we must do thi=
s."
> =A0 =A0 -- Antony Jay and Jonathan Lynn, "Yes Minister"- Hide quoted text=
 -
>
> - Show quoted text -

0
Reply spinoza1111 (3250) 10/3/2009 7:17:56 AM

On Oct 3, 3:09=A0pm, Chris McDonald <ch...@csse.uwa.edu.au> wrote:
> spinoza1111<spinoza1...@yahoo.com> writes:
> >As Nash and I discovered ....
>
> Ah good, you managed to drop Nash's name again....

Right. And the point was highly Germane, as in Sophie, for Nash had
correctly calculated a limit value by subtracting one from the 31st
power of two. The Microsoft compiler treated this differently from the
Borland compiler, and I'd already learned, while doing in-house
compiler development at Bell Northern Research, that calculating
values at compile time in a constant operation requires those values
to calculated outside of default precision limits.

You're shitting repeatedly on Schildt's name. I conclude that it's
venial of me to namedrop benignly in response to people who shit on
his family, especially because most of you probably have never worked
outside of some cheesy bank, nor traveled, nor read widely. For you,
knowledge is a conspiracy theory, reality is TV, and life experience
is banned "original research" as if we're nothing more than jurors
selected for our utter banality. Which you are, which I am not.
>
> --
> Chris.

0
Reply spinoza1111 (3250) 10/3/2009 7:24:47 AM

On Oct 3, 8:01=A0am, Richard Heathfield <r...@see.sig.invalid> wrote:
> In <kuaip6xh93....@news.flash-gordon.me.uk>, Flash Gordon wrote:
>
> > James Kuyper wrote:
> >> Richard Heathfield wrote:
> >>> [...] Most people should not be let anywhere
> >>> near C. In fact, most people should not be let anywhere near a
> >>> computer.
>
> >> In today's world that would require an Amish-like lifestyle.
> >> There's computers in our cars, our kitchen appliances, our TV sets,
> >> and our telephones.
>
> > I know people I would not trust in a car, people I would not trust
> > in a kitchen, people I would not trust with a TV, and definitely
> > people I would like kept away from telephones!
>
> <grin> You have a daughter too, huh?
>
> But mostly I was referring to hosted systems (eg PCs, mainframes,
> etc).
>
> <snip>
>
> --
> Richard Heathfield <http://www.cpax.org.uk>
> Email: -http://www. +rjh@
> "Usenet is a strange place" - dmr 29 July 1999
> Sig line vacant - apply within

0
Reply spinoza1111 (3250) 10/3/2009 7:27:09 AM

On Oct 3, 8:01=A0am, Richard Heathfield <r...@see.sig.invalid> wrote:
> In <kuaip6xh93....@news.flash-gordon.me.uk>, Flash Gordon wrote:
>
> > James Kuyper wrote:
> >> Richard Heathfield wrote:
> >>> [...] Most people should not be let anywhere
> >>> near C. In fact, most people should not be let anywhere near a
> >>> computer.
>
> >> In today's world that would require an Amish-like lifestyle.
> >> There's computers in our cars, our kitchen appliances, our TV sets,
> >> and our telephones.
>
> > I know people I would not trust in a car, people I would not trust
> > in a kitchen, people I would not trust with a TV, and definitely
> > people I would like kept away from telephones!
>
> <grin> You have a daughter too, huh?

Ham. For if the Sun breed Magots in a dead dogge, being a good kissing
Carrion=3D=3D=3D
Haue you a daughter?
Pol. I haue my Lord.
Ham. Let her not walke i'th Sunne: Conception is a blessing, but not
as your daughter may conceiue. Friend looke too't.

(Shakespeare, Hamlet)

Part of the problem here is something I shall have to call patriarchal
hysteria: the fear that one's daughter, like Ophelia, might be sending
Hamlet sexy messages on SMS is linked to the fear that some longhaired
man might be able to publish books "full of errors" while one can only
publish on Google Groups.

The fact is that men are still biologically filled with instinct to be
patriarchs, but deprived by the corporation of the ability. The result
is scapegoating and Fundamentalism, here in the minor key of C
fundamentalism, elsewhere Jesus-walloping and Islamic fundamentalism.
>
> But mostly I was referring to hosted systems (eg PCs, mainframes,
> etc).
>
> <snip>
>
> --
> Richard Heathfield <http://www.cpax.org.uk>
> Email: -http://www. +rjh@
> "Usenet is a strange place" - dmr 29 July 1999
> Sig line vacant - apply within

0
Reply spinoza1111 (3250) 10/3/2009 7:32:41 AM

On Oct 3, 3:14=A0pm, spinoza1111 <spinoza1...@yahoo.com> wrote:
> On Oct 3, 2:58=A0am, Walter Banks <wal...@bytecraft.com> wrote:
>
>
>
>
>
> > Keith Thompson wrote:
> > > Julienne Walker <happyfro...@hotmail.com> writes:
> > > > On Oct 2, 7:44=C2 am, "bartc" <ba...@freeuk.com> wrote:
> > > >> "Page 163
> > > >> You may also declare main() as void if it does not return a value.
> > > >> Specifically untrue. ANSI mandates two declarations for main, and =
says that
> > > >> main may have declarations compatible with those. Both return int.=
"
>
> > > >> My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> > > > The only problem with K&R2's usage is that in the early chapters a
> > > > return statement is omitted, which is technically undefined behavio=
r.
> > > > However, this was a pedagogical choice that is explained shortly
> > > > after, and correct code is provided from then on, IIRC. I won't att=
ack
> > > > or defend their choice to allow undefined behavior for simplicity
> > > > sake, but this is quite different from doing so (regardless of the
> > > > reason) and then failing to correct the error both in explanation a=
nd
> > > > example.
>
> > > The first sample program in K&R2 is:
>
> > > #include <stdio.h>
>
> > > main()
> > > {
> > > =A0 =A0 printf("hello, world\n");
> > > }
>
> > > I suggest that there are actually three problems with that code:
>
> > > 1. It uses implicit int. =A0This is of course perfectly legal in
> > > =A0 =A0C89/C90, but I personally consider it to be a poor style.
>
> > > 2. It uses () rather than (void). =A0I've argued here before that,
> > > =A0 =A0strictly speaking, this invokes undefined behavior unless the
> > > =A0 =A0implementation specifially allows that declaration for main.
> > > =A0 =A0"main()" is not exactly equivalent to "main(void)". =A0This is
> > > =A0 =A0a rather subtle point, and it's plausible that K&R themselves
> > > =A0 =A0weren't aware of it at the time.
>
> > > 3. It doesn't return a value. =A0This is valid in C99, but of course =
the
> > > =A0 =A0book predates C99 by about 10 years. =A0In C89/C90, it returns=
 an
> > > =A0 =A0undefined status to the environment. =A0On my system, when I c=
ompile
> > > =A0 =A0and run the program, I get:
> > > =A0 =A0 =A0 =A0 hello, world
> > > =A0 =A0 =A0 =A0 Exit 13
> > > =A0 =A0The second line comes from my shell, not from the program.
>
> > > And yes, I know who I'm criticizing. =A0These are minor points.
> > > I still consider K&R2 to be one of the best books on C, and one of
> > > the best programming books overall.
>
> > To not weigh in too heavily on this. The real issue is Schildt's book
> > was promoted as a reference on C99 and his authority was the
> > contributions he made to the SC22/WG14 on C99. Both are not
> > true. At a point during the evolution of C that there was a real need
> > for clarity it didn't help.
>
> > The secondary problem is the book's publisher and author
> > don't seem to care about the errata.
>
> > w..- Hide quoted text -
>
> > - Show quoted text -
>
> This is untrue, and it is an example of why it's important not to
> trigger viral rumors as has Seebach.
>
> C: The Complete Reference was published BEFORE C99. Herb's book on the
> Standard was published later and was attacked separately by another
> member of the standards committee with a similar interest in trashing
> individuals so as to divert attention from what was being done: the
> protection of private investment in bad C compilers. Feather acted
> because Peter had shown that Schildt was a safe target for bullies, is
> my guess.- Hide quoted text -
>
> - Show quoted text -

That's enough...this is a waste of spirit in an expense of shame.
Richard Heathfield, don't you EVER take a vacation? Still a pompous
stuffed shirt, Keith Thompson. Colonel Harlan, hoss, illegitimi non
carborundum. Peter, grow up.

All are welcome to my blog palace at any time. Yeah, Harlan, Kaintuck,
you will be judged by me. There, and there only.
0
Reply spinoza1111 (3250) 10/3/2009 7:35:30 AM

"spinoza1111" <spinoza1111@yahoo.com> wrote in message 
news:6ea1272f-8382-494c-9bb5-d46a91a2ac00@r24g2000prf.googlegroups.com...
> On Oct 3, 3:00 am, Seebs <usenet-nos...@seebs.net> wrote:
> > On 2009-10-02, Mark McIntyre <markmcint...@TROUSERSspamcop.net> wrote:
> >
> > > I disagree. This is supposed to be a technical reference work and its
> > > clearly intended to be read by people who might not realise its a 
> > > typo.
> > > Such mistakes should not exist, and if they do there should be an
> > > erratum list somewhere. I don't think there is.
> >
> > I basically agree -- which is embarassing because I'm pretty sure 
> > there's at
> > least one such error in my shell programming book which I have not yet 
> > set
> http://www.youtube.com/watch?v=zN5XHUw_l8Iup the errata list for.

> Gods bodykins man, better. Vse euerie man after his desart, and who
> should scape whipping: vse them after your own Honor and Dignity. The
> lesse they deserue, the more merit is in your bountie. Take them in.

> (Shakespeare, Hamlet)


Good versus pure 100% horrible cheating evil:

http://www.youtube.com/watch?v=zN5XHUw_l8I 

0
Reply no6 (2791) 10/3/2009 9:12:04 AM

"Chris M. Thomasson" <no@spam.invalid> wrote in message 
news:ha74gk$vuj$1@news.ett.com.ua...
> "spinoza1111" <spinoza1111@yahoo.com> wrote in message 
> news:6ea1272f-8382-494c-9bb5-d46a91a2ac00@r24g2000prf.googlegroups.com...
>> On Oct 3, 3:00 am, Seebs <usenet-nos...@seebs.net> wrote:
>> > On 2009-10-02, Mark McIntyre <markmcint...@TROUSERSspamcop.net> wrote:
>> >
>> > > I disagree. This is supposed to be a technical reference work and its
>> > > clearly intended to be read by people who might not realise its a 
>> > > typo.
>> > > Such mistakes should not exist, and if they do there should be an
>> > > erratum list somewhere. I don't think there is.
>> >
>> > I basically agree -- which is embarassing because I'm pretty sure 
>> > there's at
>> > least one such error in my shell programming book which I have not yet 
>> > set
>> http://www.youtube.com/watch?v=zN5XHUw_l8Iup the errata list for.
>
>> Gods bodykins man, better. Vse euerie man after his desart, and who
>> should scape whipping: vse them after your own Honor and Dignity. The
>> lesse they deserue, the more merit is in your bountie. Take them in.
>
>> (Shakespeare, Hamlet)
>
>
> Good versus pure 100% horrible cheating evil:
>
> http://www.youtube.com/watch?v=zN5XHUw_l8I


spinoza1111... Would Seebs be the dragon, or the germ? According to you of 
course! 

0
Reply no6 (2791) 10/3/2009 9:14:28 AM

On Fri, 02 Oct 2009 23:59:54 -0700, spinoza1111 wrote:


> In a free society, no government, not even a powerful private entity
> (such as a manipulated viral Internet opinion) has the right to claim
> that a book's errors will have pernicious effect. This is because free
> citizens in a free society will do as I did in January 1970 when I

float f;
printf("sizeof f=%f\n", sizeof f);

My guess is that uninitialized readers (like Schild's)
will be *very* confused by the above lines.
But as a professional teacher you'll of course know better.

HTH,
AvK
0
Reply root32 (398) 10/3/2009 12:07:47 PM

Colonel Harlan Sanders wrote:
....
> Well, the group can survive the sport shoe and porn spammers, it can
> survive you. 

I'm not so sure about that; I don't see anyone responding to the sport 
shoe and porn spammers, but for some reason many people (like you) are 
responding to this guy.

0
Reply jameskuyper (5171) 10/3/2009 1:44:46 PM

On Sat, 03 Oct 2009 09:44:46 -0400, James Kuyper
<jameskuyper@verizon.net> wrote:

>Colonel Harlan Sanders wrote:
>...
>> Well, the group can survive the sport shoe and porn spammers, it can
>> survive you. 
>
>I'm not so sure about that; I don't see anyone responding to the sport 
>shoe and porn spammers, but for some reason many people (like you) are 
>responding to this guy.

Point taken.
However, I'm trying to dissuade people from taking the bait.
If he wasn't exciting dozens of replies for his deliberately
provocative posts I wouldn't even do that. 
As it is, after my summing up I was about to retire anyway.

I wish that Heathfield could step back and see how he's being played.
Knowing he will always respond is probably a major reason Spinoza
keeps haunting this group. 
But his privilege to post as he wishes. 

0
Reply Harlan (60) 10/3/2009 3:21:03 PM

spinoza1111 <spinoza1111@yahoo.com> writes:

>On Oct 3, 3:09=A0pm, Chris McDonald <ch...@csse.uwa.edu.au> wrote:
>> spinoza1111<spinoza1...@yahoo.com> writes:
>> >As Nash and I discovered ....
>>
>> Ah good, you managed to drop Nash's name again....

>You're shitting repeatedly on Schildt's name. I conclude that it's
>venial of me to namedrop benignly in response to people who shit on
>his family, especially because most of you probably have never worked
>outside of some cheesy bank, nor traveled, nor read widely. For you,
>knowledge is a conspiracy theory, reality is TV, and life experience
>is banned "original research" as if we're nothing more than jurors
>selected for our utter banality. Which you are, which I am not.


You'll observe (it's not difficult, if you bother) that I made no mention
of, or reference to, Shildt's name, nor his family, nor his book, so
it's very unclear how I am "shitting repeatedly on Schildt's name".
You're shitting repeatedly on the Internet.

You do not drop Nash's name benignly;  you drop it frequently in the false
hope that it will give your dross some credence.  It does not. I've read
no statement that Nash was particularly advanced with his C programming,
so the fact that someone helped him with C is no more amazing than the
fact that many c.l.c. readers help others with C everyday.

-- 
Chris.
0
Reply chris16 (580) 10/3/2009 11:05:24 PM

Keith Thompson wrote:
> Julienne Walker <happyfrosty@hotmail.com> writes:
> 
>>On Oct 2, 7:44 am, "bartc" <ba...@freeuk.com> wrote:
>>
>>>"Page 163
>>>You may also declare main() as void if it does not return a value.
>>>Specifically untrue. ANSI mandates two declarations for main, and says that
>>>main may have declarations compatible with those. Both return int."
>>>
>>>My K&R2 uses "main()" yet is highly thought of. Trivial.
>>
>>The only problem with K&R2's usage is that in the early chapters a
>>return statement is omitted, which is technically undefined behavior.
>>However, this was a pedagogical choice that is explained shortly
>>after, and correct code is provided from then on, IIRC. I won't attack
>>or defend their choice to allow undefined behavior for simplicity
>>sake, but this is quite different from doing so (regardless of the
>>reason) and then failing to correct the error both in explanation and
>>example.
> 
> 
> The first sample program in K&R2 is:
> 
> #include <stdio.h>
> 
> main()
> {
>     printf("hello, world\n");
> }
> 
> I suggest that there are actually three problems with that code:

> 3. It doesn't return a value.  

That point is addressed by the the text of the book.

1.7 Functions

     In the interests of simplicity, we have omitted return statements
     from our main functions up to this point, but we will include them
     hereafter, as a reminder that programs should return status to their
     environment.

-- 
pete
0
Reply pfiland (6613) 10/4/2009 9:44:25 AM

Colonel Harlan Sanders <Harlan@kfc.com> wrote:

> On Sat, 03 Oct 2009 09:44:46 -0400, James Kuyper
> >Colonel Harlan Sanders wrote:
> >...
> >> Well, the group can survive the sport shoe and porn spammers, it can
> >> survive you. 
> >
> >I'm not so sure about that; I don't see anyone responding to the sport 
> >shoe and porn spammers, but for some reason many people (like you) are 
> >responding to this guy.
> 
> Point taken.
> However, I'm trying to dissuade people from taking the bait.

....while going for it hook, line and sinker yourself.

Well done; mucho congratulationes.

Richard
0
Reply raltbos (821) 10/4/2009 8:29:09 PM

In article <hIlxm.100864$OO7.16454@text.news.virginmedia.com> "bartc" <bartc@freeuk.com> writes:
....
 > "Page 163
 > You may also declare main() as void if it does not return a value.
 > Specifically untrue. ANSI mandates two declarations for main, and says that 
 > main may have declarations compatible with those. Both return int."
 > 
 > My K&R2 uses "main()" yet is highly thought of. Trivial.

You did not know that when no return type is given it defaults to int?
-- 
dik t. winter, cwi, science park 123, 1098 xg amsterdam, nederland, +31205924131
home: bovenover 215, 1025 jn  amsterdam, nederland; http://www.cwi.nl/~dik/
0
Reply Dik.Winter (1625) 10/7/2009 2:12:43 PM

Dik T. Winter wrote:
> In article <hIlxm.100864$OO7.16454@text.news.virginmedia.com> "bartc" <bartc@freeuk.com> writes:
> ...
>  > "Page 163
>  > You may also declare main() as void if it does not return a value.
>  > Specifically untrue. ANSI mandates two declarations for main, and says that
>  > main may have declarations compatible with those. Both return int."
>  >
>  > My K&R2 uses "main()" yet is highly thought of. Trivial.
>
> You did not know that when no return type is given it defaults to int?

He might be unaware of that rule because it's no longer true in C99.
Of course, even when that rule applied, it was a bad idea to take
advantage of it, for precisely the same reasons that the rule has
since been removed. K&R2 was written before there was much awareness
of the fact that it was a bad idea.

0
Reply jameskuyper (5171) 10/7/2009 2:43:39 PM

48 Replies
27 Views

(page loaded in 0.631 seconds)


Reply: