The C Programming Language: Third Edition

P

pduncan00

I've been reading here frequently, and I'm finally posting.
Can anybody recommend a textbook to replace K&R2?
It should explain all of the new C99 features.
 
R

Richard Heathfield

(e-mail address removed) said:
I've been reading here frequently, and I'm finally posting.
Can anybody recommend a textbook to replace K&R2?

Alas, no. Whilst certainly not a perfect book, it is very, very good indeed,
and is unquestionably the best C tutorial/reference book available.
It should explain all of the new C99 features.

Why? :)
 
K

Keith Thompson

I've been reading here frequently, and I'm finally posting.
Can anybody recommend a textbook to replace K&R2?
It should explain all of the new C99 features.

I know of no tutorial comparable to K&R2 that covers C99.

H&S5 is a very good reference that does cover C99. If you already
understand C90 from K&R2, a reference is probably sufficient for the
additional features of C99.

H&S5 is Harbison & Steele's _C: A Reference Manual_, 5th Edition.
 
R

Robert Gamble

I've been reading here frequently, and I'm finally posting.
Can anybody recommend a textbook to replace K&R2?
It should explain all of the new C99 features.

"C In A Nutshell" by O'Reilly covers C99. I haven't read through the
book but I do own it and the parts that I have read have been, for the
most part, presented very well and accurately. The text is
comprehensive and the author does a good job of pointing out features
and functions new to C99 as well as instances where the behavior is
technically implementation defined or undefined. It's not perfect but
it is a heck of a lot better than most books out there and I would
recommend it. Of course you can't go wrong with H&S for a reference
either.

Robert Gamble
 
J

jacob navia

Richard Heathfield a écrit :
(e-mail address removed) said:




Alas, no. Whilst certainly not a perfect book, it is very, very good indeed,
and is unquestionably the best C tutorial/reference book available.




Why? :)

Because it is the standard Heathfield
 
R

Richard Heathfield

jacob navia said:
Richard Heathfield a écrit :

Because it is the standard Heathfield

There isn't a standard Heathfield. We have a wide variety of Heathfields -
Imperial Heathfields, metric Heathfields, Jedi Heathfields and even a
quilting Heathfield - and no standard has yet emerged. There is some talk
amongst interested parties of having a chat with ISO, but frankly we doubt
if it will come to anything.

As for the C99 Standard, we all know it's toothless - don't we? If you need
portability, C99 is Not Good Enough. And if you don't, why bother with
/any/ Standard?

You've had six and a half years, people - and *still* almost nobody is using
a fully conforming C99 compiler or library. I *still* cannot take advantage
of any single C99 feature (unless it is also a C90 feature) and guarantee
that my program will be as portable as I need it to be. I *still* cannot
even use snprintf, let alone compound literals.

Wake me up when GNU and Microsoft have conforming C99 compilers and
libraries - because until that happens, C99 is a pipe-dream. If it ever
does happen, that won't mean the work is over, but at least it will be a
strong marketplace indication that C99 is considered commercially viable.
Until then, we might as well ignore C99 - and C0X is a spectactular
exercise in futility.
 
J

jacob navia

Richard Heathfield a écrit :
jacob navia said:




There isn't a standard Heathfield. We have a wide variety of Heathfields -
Imperial Heathfields, metric Heathfields, Jedi Heathfields and even a
quilting Heathfield - and no standard has yet emerged. There is some talk
amongst interested parties of having a chat with ISO, but frankly we doubt
if it will come to anything.

And we have you Heathfield, helas
As for the C99 Standard, we all know it's toothless - don't we? If you need
portability, C99 is Not Good Enough. And if you don't, why bother with
/any/ Standard?

OK you are against C99, it is your right, but please don't speak about
"Standard C" then, as you often do. Just say you are against standards
and let it at that!
You've had six and a half years, people - and *still* almost nobody is using
a fully conforming C99 compiler or library.

Intel has a compliant compiler, gcc has an almost pefect implementation,
Comeau has a 100% implementation, Sun, etc.

Well, it is true that you said: "almost nobody".


I *still* cannot take advantage
of any single C99 feature (unless it is also a C90 feature) and guarantee
that my program will be as portable as I need it to be. I *still* cannot
even use snprintf, let alone compound literals.

Bad for you Heathfield. You better suicide then.

Wake me up when GNU and Microsoft have conforming C99 compilers and
libraries - because until that happens, C99 is a pipe-dream.


gcc -std=c99 is (to negligable details) a standard implemnetation.
But go to sleep. You can count on me to "wake you up" :)

If it ever
does happen, that won't mean the work is over, but at least it will be a
strong marketplace indication that C99 is considered commercially viable.
Until then, we might as well ignore C99 - and C0X is a spectactular
exercise in futility.


Down with standards then, let's adopt the "Heathfield" standard that
is...

People that like to use the aptly named "pedantic" options of some
compilers.
 
R

Richard Heathfield

jacob navia said:
Richard Heathfield a écrit :

OK you are against C99,

No, I am *not* against C99. What I'm against is non-portability. When C99
becomes as portable as C90 is now, I'll be perfectly happy to take
advantage of C99 features. But it's not there yet.
it is your right, but please don't speak about
"Standard C" then, as you often do. Just say you are against standards
and let it at that!

But I am not against standards. I am against an /absence/ of standards. And
C99 is an absence of standard, as far as real world portable programming is
concerned.
Intel has a compliant compiler, gcc has an almost pefect implementation,

But gcc's implementation is, by their own admission, far from perfect. And
whilst I'm sure Intel has a reasonable user base, it's not exactly the most
widely-used compiler under the sun.
Comeau has a 100% implementation, Sun, etc.

Well, it is true that you said: "almost nobody".

gcc isn't there yet, and it seems it never will be. Microsoft isn't there.
Borland isn't there. Without them, C99 is a pipe-dream.
I *still* cannot take advantage

Bad for you Heathfield. You better suicide then.

Did you have a /rational/ point to make about the lack of C99 portability?
gcc -std=c99 is (to negligable details) a standard implemnetation.

Not according to their docs.
If it ever

Down with standards then,

You think so? Wouldn't it be better to get Microsoft and Borland and gcc on
board the C99 boat? And let's not forget the big iron (C/370, LE 370, etc).
let's adopt the "Heathfield" standard that is...

No, let's get C99 in place in the real world. In the meantime, we have C90.

People that like to use the aptly named "pedantic" options of some
compilers.

Yes, in comp.lang.c the word "pedantic" is used to describe those who care
about accuracy, by those who don't.
 
J

jacob navia

Frederick Gotham a écrit :
jacob navia posted:





Why do so many people portray themselves as mentally retarded on Usenet?

Yes, I wonder why...

Care to let us know?

You miss your mother care?

Didn't have breast feeding ?
 
K

Keith Thompson

jacob navia said:
Richard Heathfield a écrit : [...]
As for the C99 Standard, we all know it's toothless - don't we? If
you need portability, C99 is Not Good Enough. And if you don't, why
bother with /any/ Standard?

OK you are against C99, it is your right, but please don't speak about
"Standard C" then, as you often do. Just say you are against standards
and let it at that!

C90 is still a de facto standard, and code that conforms to C90 while
avoiding conflicts with C99 is remarkably portable. That's what
standards are for.

(Richard has already refuted your claim that he's "against C99".)
Intel has a compliant compiler, gcc has an almost pefect
implementation, Comeau has a 100% implementation, Sun, etc.

Do you know more about gcc's C99 status than the gcc implementers
themselves do? The URL <http://gcc.gnu.org/c99status.html> has been
posted here dozens of times; have you read it?

I'd like to use some of the C99 features. If I do so, my code will
not be portable. I wish that weren't the case, but it is, and there's
no a whole lot I can do about it myself.
I *still* cannot take advantage

Bad for you Heathfield. You better suicide then.

WHAT????

Jacob, think carefully about what you're doing. You are becoming a
troll, just as bad as certain others whose names I won't mention.
Unlike them, you have some valuable contributions to make both here
and in comp.std.c, but if you continue this kind of inexcusably rude
behavior you're going to end up in a lot of killfiles. Stick to
technical discussions and keep the personal insults to yourself.

You owe Richard an apology, and you owe all of us a different
attitude.
 
K

Kenny McCormack

jacob navia posted:



Why do so many people portray themselves as mentally retarded on Usenet?

It looks like your newsreader/poster (+) has a bug that caused you to
respond to the wrong post (probably some kind of "off by one" error).

ITYM:

* Richard Heathfield posted:

* > <snip garbage>

* Why do so many people portray themselves as mentally retarded on Usenet?

(No thanks are necessary. Just doing my job)

(+) Just out of curiosity, what newsreading software/platform are you
using?
 
F

Frederick Gotham

Kenny McCormack posted:

It looks like your newsreader/poster (+) has a bug that caused you to
respond to the wrong post (probably some kind of "off by one" error).


Thank you, Kenny McCormack, but you're mistaken.

I also view *you* as a mentally retarded person, and, while I have no
desire to offend you or any other mentally retarded person based upon their
condition, I don't want to talk to you.

ITYM:

* Richard Heathfield posted:


No. Actually, I would regard Richard Heathfield as one of the more
productive contributors to the group.

(No thanks are necessary. Just doing my job)


The human condition. Ever hear of it?

It's the reason why you are posting here.

It's unfortunate that your past experiences in life have led you to such a
shameful existence at this moment and time, but you have my every hope that
one day you will surpass yourself.
 
I

Ian Collins

Frederick said:
Kenny McCormack posted:






Thank you, Kenny McCormack, but you're mistaken.

I also view *you* as a mentally retarded person, and, while I have no
desire to offend you or any other mentally retarded person based upon their
condition, I don't want to talk to you.
Such comments are neither appropriate or welcome on a technical news
group. You are taking a short cut to the land of the trolls.
 
M

Mark F. Haigh

Richard Heathfield wrote:
As for the C99 Standard, we all know it's toothless - don't we? If you need
portability, C99 is Not Good Enough. And if you don't, why bother with
/any/ Standard?

You've had six and a half years, people - and *still* almost nobody is using
a fully conforming C99 compiler or library. I *still* cannot take advantage
of any single C99 feature (unless it is also a C90 feature) and guarantee
that my program will be as portable as I need it to be. I *still* cannot
even use snprintf, let alone compound literals.

As I wrote in another article:

* GCC / Linux has much of C99 implemented, and is gradually improving.
* Sun Studio / Solaris 10 has C99 support.
* IBM VisualAge / AIX 5.3 has C99 support.
* HP compiler / HPUX 11 has C99 support.
* Portland Group / Win32/64 has C99 support.
* Comeau compiler / Dinkum C99 libs have C99 support.
* Intel C compiler has smatterings of C99.

This is not "almost nobody", by any stretch. If snprintf is not built
in to your favorite system, use one of the freely available
implementations. Include a feature test in your build infrastructure.
Wake me up when GNU and Microsoft have conforming C99 compilers and
libraries - because until that happens, C99 is a pipe-dream. If it ever
does happen, that won't mean the work is over, but at least it will be a
strong marketplace indication that C99 is considered commercially viable.

<snip>

Complete rubbish. It has __already happened__ for people willing to
pay for it. Sun, IBM, HP, Portland, Comeau, and Dinkum are not doing
the hard work for altruistic purposes, but for commercial ones.

As usual, GCC will be ready when it's ready. Give it a few more years.


Mark F. Haigh
(e-mail address removed)
 
J

jacob navia

Keith Thompson a écrit :
WHAT????

Jacob, think carefully about what you're doing. You are becoming a
troll, just as bad as certain others whose names I won't mention.
Unlike them, you have some valuable contributions to make both here
and in comp.std.c, but if you continue this kind of inexcusably rude
behavior you're going to end up in a lot of killfiles. Stick to
technical discussions and keep the personal insults to yourself.

You owe Richard an apology, and you owe all of us a different
attitude.

Look, I am fed up with that guy.

I have spent several years implementing C99, and I see this people that
do nothing but spread lies and lies:

"C99 is inexistent", "almost no one implements it", etc etc.

In the list of C99 implementations I sent there wasn't even a hint
of lcc-win32.

So, that can't be the reason for spreading all those lies.

I am FED UP with people that want to return to 1989, or even
better, to the PDP 11.

And later see the SAME PEOPLE with the mouth full of

"STANDARD C", ONLY STANDARD C IS ON TOPIC HERE and all that
RUBBISH!

Yes, "STANDARD C" means whatever I want it to mean but not
what actually means: the current C standard as adopted by
the ANSI/ISO comitee.

As you yourself could notice, I am not a fan of the C commitee
and I have had strong disagreement with them, as the latest discussion
about the gets() function demonstrated.

But I do care about standards, and when I mean standards I mean
the actual standards as specified by the ISO comitee, not whatever
happens to be in my mind!
 
M

Mark McIntyre

jacob navia posted:



Why do so many people portray themselves as mentally retarded on Usenet?

Its a mystery. In this case however its probably because Jacob is a
semi-troll who often takes the opportunity to attack the regulars, as
he is often offended by being asked to stop postingt offtopic garbage
here.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
 
M

Mark McIntyre

I'd like to use some of the C99 features. If I do so, my code will
not be portable.

This isn't entirely true though - it will be portable, but not
maximally portable. Plenty of implemnentations exist which implement
*some* c99 features.

Hard though it is for me to disagree with Richard /this/ is actually
untrue. I've yet to meet a C compiler younger than my son that
didn't accept // comments.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
 

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

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top