473,403 Members | 2,338 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,403 software developers and data experts.

K&R2 Still good?

Hey everyone,

I am a Java programmer, somewhere between novice to advanced. I wanted
to know if it is still recommended to read "The C Programming
Language" 2nd Edition? This edition was released in 1988, it is now
2007, almost 20 years. Also, since it is so old, is there some
supplemental tutorial recommend to go along with it? Thanks for your
advice.

Rajiv Battula

Oct 7 '07 #1
26 2071
ra***********@gmail.com wrote:
Hey everyone,

I am a Java programmer, somewhere between novice to advanced. I wanted
to know if it is still recommended to read "The C Programming
Language" 2nd Edition? This edition was released in 1988, it is now
2007, almost 20 years. Also, since it is so old, is there some
supplemental tutorial recommend to go along with it? Thanks for your
advice.
The book remains an excellent introduction to C. Keep in mind that C99
hasn't yet been implemented completely and widely and probably never
will. After you go through K&R2, and do all the exercises, you'll be
proficient enough to read and understand the Standard itself, (or a
draft of it), and work out the details of C99 and it's extras.

Here are some resources:

Books:
======

1. The C Programming Language Second Edition by Kernighan and Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden

Online tutorials:
=================

Steve Summit's C notes:
<http://www.eskimo.com/~scs/cclass/>

Tom Torf's C resources:
<http://cprog.tomsweb.net/>

Also Steve Summit maintains the very useful C FAQ:
<http://www.c-faq.com/>

There's also a clc "wiki":
<http://clc-wiki.net/>

Other resources include:

<http://www.lysator.liu.se/c/>
<http://www.dinkumware.com/manuals/>
<http://www-ccs.ucsd.edu/c/>
<http://www.open-std.org/jtc1/sc22/wg14/>
<http://www.knosof.co.uk/cbook/cbook.html>
<http://www.cpax.org.uk/prg/portable/c/index.php>

Oct 7 '07 #2
On Oct 6, 11:55 pm, santosh <santosh....@gmail.comwrote:
rajiv.batt...@gmail.com wrote:
Hey everyone,
I am a Java programmer, somewhere between novice to advanced. I wanted
to know if it is still recommended to read "The C Programming
Language" 2nd Edition? This edition was released in 1988, it is now
2007, almost 20 years. Also, since it is so old, is there some
supplemental tutorial recommend to go along with it? Thanks for your
advice.

The book remains an excellent introduction to C. Keep in mind that C99
hasn't yet been implemented completely and widely and probably never
will. After you go through K&R2, and do all the exercises, you'll be
proficient enough to read and understand the Standard itself, (or a
draft of it), and work out the details of C99 and it's extras.

Here are some resources:

Books:
======

1. The C Programming Language Second Edition by Kernighan and Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden

Online tutorials:
=================

Steve Summit's C notes:
<http://www.eskimo.com/~scs/cclass/>

Tom Torf's C resources:
<http://cprog.tomsweb.net/>

Also Steve Summit maintains the very useful C FAQ:
<http://www.c-faq.com/>

There's also a clc "wiki":
<http://clc-wiki.net/>

Other resources include:

<http://www.lysator.liu.se/c/>
<http://www.dinkumware.com/manuals/>
<http://www-ccs.ucsd.edu/c/>
<http://www.open-std.org/jtc1/sc22/wg14/>
<http://www.knosof.co.uk/cbook/cbook.html>
<http://www.cpax.org.uk/prg/portable/c/index.php>
Thanks for the resources, I have seen Steve Summit's FAQ but not the
notes or any of the other great links. Had a question, if C99 is a
standard why don't compilers implement it? Is it because it's features
are hard to implement?

Oct 7 '07 #3

"Rajiv Battula" <ra***********@gmail.comwrote in message
news:11**********************@o3g2000hsb.googlegro ups.com...

Had a question, if C99 is a
standard why don't compilers implement it? Is it because it's features
are hard to implement?
The way I see it, it's because there is (so far) not
much demand for it.

-Mike
Oct 7 '07 #4
Rajiv Battula wrote:
On Oct 6, 11:55 pm, santosh <santosh....@gmail.comwrote:
> rajiv.batt...@gmail.com wrote:
Hey everyone,
I am a Java programmer, somewhere between novice to advanced. I
wanted to know if it is still recommended to read "The C
Programming Language" 2nd Edition? This edition was released in
1988, it is now 2007, almost 20 years. Also, since it is so old, is
there some supplemental tutorial recommend to go along with it?
Thanks for your advice.

The book remains an excellent introduction to C. Keep in mind that
C99 hasn't yet been implemented completely and widely and probably
never will. After you go through K&R2, and do all the exercises,
you'll be proficient enough to read and understand the Standard
itself, (or a draft of it), and work out the details of C99 and it's
extras.

Here are some resources:
<snip>
Had a question, if C99 is a standard why don't compilers implement it?
Is it because it's features are hard to implement?
Most of the additions are not particularly hard to implement. There have
been repeated debates about the possible reasons for C99's slow
acceptance by posters far more knowledgeable than me on the subject. A
quick Google Groups search of this group and comp.std.c will turn up
many of these interesting discussions.

A reasonable view seems to be that many of C99's features were not
really in demand by the programming community. In parallel the rise of
C++ attracted many of the implementors and programmers who would have
otherwise put their efforts into C99. Absence of wide availability
seems to have acted as a kind of "negative feedback loop" and turned
away yet more developers.

A few commercial compilers like Comeau and some Standard libraries like
Dinkunware do claim full conformance. However the total lack of
interest shown by Microsoft and the rather reluctant support by gcc
have been important obstacles in C99 widespread acceptance.

Oct 7 '07 #5
Rajiv Battula wrote, On 07/10/07 17:43:

<snip>
Thanks for the resources, I have seen Steve Summit's FAQ but not the
notes or any of the other great links. Had a question, if C99 is a
standard why don't compilers implement it? Is it because it's features
are hard to implement?
Well, *some* compilers do implement it (more strictly some
implementations, since the library is part of the implementation but
often separate from the compiler).

There have been various discussions here on why C99 has taken a long
time to implement. There was a strong demand for the original standard
because before then it was hard to write portable code as all compilers
behaved differently. With C99 there was not the same demand since we
*already* had a portable language.
--
Flash Gordon
Oct 7 '07 #6
In article <fe**********@aioe.org>, santosh <sa*********@gmail.com>
writes
>Rajiv Battula wrote:
>On Oct 6, 11:55 pm, santosh <santosh....@gmail.comwrote:
>> rajiv.batt...@gmail.com wrote:
Hey everyone,

I am a Java programmer, somewhere between novice to advanced. I
wanted to know if it is still recommended to read "The C
Programming Language" 2nd Edition? This edition was released in
1988, it is now 2007, almost 20 years. Also, since it is so old, is
there some supplemental tutorial recommend to go along with it?
Thanks for your advice.

The book remains an excellent introduction to C. Keep in mind that
C99 hasn't yet been implemented completely and widely and probably
never will. After you go through K&R2, and do all the exercises,
you'll be proficient enough to read and understand the Standard
itself, (or a draft of it), and work out the details of C99 and it's
extras.

Here are some resources:

<snip>
>Had a question, if C99 is a standard why don't compilers implement it?
Is it because it's features are hard to implement?

Most of the additions are not particularly hard to implement. There have
been repeated debates about the possible reasons for C99's slow
acceptance by posters far more knowledgeable than me on the subject. A
quick Google Groups search of this group and comp.std.c will turn up
many of these interesting discussions.

A reasonable view seems to be that many of C99's features were not
really in demand by the programming community. In parallel the rise of
C++ attracted many of the implementors and programmers who would have
otherwise put their efforts into C99. Absence of wide availability
seems to have acted as a kind of "negative feedback loop" and turned
away yet more developers.

A few commercial compilers like Comeau and some Standard libraries like
Dinkunware do claim full conformance. However the total lack of
interest shown by Microsoft and the rather reluctant support by gcc
have been important obstacles in C99 widespread acceptance.
Irrespective of Microsoft most of the major compiler makers for targets
other than the Pc desktop, where C is still the main language have not
bothered with C99 either.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Oct 7 '07 #7
On Oct 7, 11:22 am, Chris Hills <ch...@phaedsys.orgwrote:
In article <feb5vo$6h...@aioe.org>, santosh <santosh....@gmail.com>
writes
Rajiv Battula wrote:
On Oct 6, 11:55 pm, santosh <santosh....@gmail.comwrote:
rajiv.batt...@gmail.com wrote:
Hey everyone,
I am a Java programmer, somewhere between novice to advanced. I
wanted to know if it is still recommended to read "The C
Programming Language" 2nd Edition? This edition was released in
1988, it is now 2007, almost 20 years. Also, since it is so old, is
there some supplemental tutorial recommend to go along with it?
Thanks for your advice.
>The book remains an excellent introduction to C. Keep in mind that
C99 hasn't yet been implemented completely and widely and probably
never will. After you go through K&R2, and do all the exercises,
you'll be proficient enough to read and understand the Standard
itself, (or a draft of it), and work out the details of C99 and it's
extras.
>Here are some resources:
<snip>
Had a question, if C99 is a standard why don't compilers implement it?
Is it because it's features are hard to implement?
Most of the additions are not particularly hard to implement. There have
been repeated debates about the possible reasons for C99's slow
acceptance by posters far more knowledgeable than me on the subject. A
quick Google Groups search of this group and comp.std.c will turn up
many of these interesting discussions.
A reasonable view seems to be that many of C99's features were not
really in demand by the programming community. In parallel the rise of
C++ attracted many of the implementors and programmers who would have
otherwise put their efforts into C99. Absence of wide availability
seems to have acted as a kind of "negative feedback loop" and turned
away yet more developers.
A few commercial compilers like Comeau and some Standard libraries like
Dinkunware do claim full conformance. However the total lack of
interest shown by Microsoft and the rather reluctant support by gcc
have been important obstacles in C99 widespread acceptance.

Irrespective of Microsoft most of the major compiler makers for targets
other than the Pc desktop, where C is still the main language have not
bothered with C99 either.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch...@phaedsys.org www.phaedsys.org\/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
I see, so there is little demand for C99. Well, thanks for the input
and advice everyone. I guess I will buy K&R2 after all.

Oct 7 '07 #8
ra***********@gmail.com wrote:
Hey everyone,

I am a Java programmer, somewhere between novice to advanced. I wanted
to know if it is still recommended to read "The C Programming
Language" 2nd Edition? This edition was released in 1988, it is now
2007, almost 20 years.
To my mind, K&R2, is one of the best programming books ever written, and
C89 is what most people still use today.

Get it... now! :-)

--
Tor <torust [at] online [dot] no>

C-FAQ: http://c-faq.com/
Oct 8 '07 #9
santosh wrote:

[...]
Here are some resources:

Books:
======

1. The C Programming Language Second Edition by Kernighan and Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden
This is a FAQ, see Q 18.10.

[3] Received only a "recommended with reservations" by ACCU.
http://accu.org/index.php/book_revie...erm=advanced+c
and [2] and [4] are not for beginners.

--
Tor <torust [at] online [dot] no>

C-FAQ: http://c-faq.com/
Oct 8 '07 #10
[This article contains a review of a review about "C Unleashed". I must of
course register an interest, since I was the lead author on that book, so
you should read this article with that in mind. Nevertheless, I haven't
actually received any income from sales of the book for some years, and I
doubt very much whether that situation will change, no matter what I write
here. Consequently, I think that the time is right to answer the review in
detail, which I can't recall doing before.

Is this article a defence of the book? Yes, it is, although I am being as
objective as I can be. But is this article an attempt to protect or extend
a revenue stream? No, it isn't. I'm too pragmatic to fool myself that
anything I say here will have any effect on my income from the book. In
any case, caveat lector.]

Tor Rustad said:
santosh wrote:

[...]
>Here are some resources:

Books:
======

1. The C Programming Language Second Edition by Kernighan and Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden

This is a FAQ, see Q 18.10.

[3] Received only a "recommended with reservations" by ACCU.
http://accu.org/index.php/book_revie...erm=advanced+c

Very true. Francis has never forgiven the authors for writing a book about
C instead of C++. :-)

Seriously, the reservations he had were/are:

1) only one short chapter on C99.

This is of course quite true. The chapter in question was written by Peter
Seebach, who was a member of ISO at the time the book was published (and
still is, for all I know). In 1999, the C community (or at least that part
of it that is voluble on Usenet) was quite optimistic about C99, and so it
is not unreasonable to complain that C99 was under-represented in CU.
Eight years on, I can't help wondering whether C99 is actually given a bit
too much space, given that implementors have all but ignored it.

2) "many of the topics covered in this book are no longer the natural
domain of C".

Perhaps. But my own view is rather different. I think of programming
languages as representing ways of thinking about programming, and we have
different languages because we think in different ways. To someone for
whom C fits his or her mindset very well, the topics covered in the book
/are/ the natural domain of C. To those for whom other languages fit their
mindset better, obviously they will see those other languages as being
more suitable. Horses for courses.

3) "some of the co-authors seem to have a limited perspective. The chapter
on dealing with dates is a case in point."

An innate sense of diplomacy prevents me from commenting openly about this
point.

4) "The level of assumed reader expertise varies wildly from chapter to
chapter."

Yes, it does! In my own chapters, I took the view that the reader
understood the basic syntax of the language, and was sufficiently familiar
with C to be able to do things like split a program into multiple source
files, but had probably learned C the way many of us did - either ad hoc,
or from a programming teacher who had not bothered to learn the language
properly him- or herself. That was why I spent a little time attempting to
correct some common misconceptions.

5) "ISO C (and I do wish the authors would remember that that is what we
should call it.)"

Yes, it does kind of read as if we tossed a coin every time we mentioned
the standards body: "heads, ANSI; tails, ISO". Oops. (We didn't *actually*
do that, I promise! It just wasn't one of the things we considered
important enough to sort out in advance.)

Those were pretty much the only negative comments about the book. The rest
of the review was reasonably positive.
and [2] and [4] are not for beginners.
Neither is [3]!

--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Oct 8 '07 #11
santosh <sa*********@gmail.comwrites:
>
1. The C Programming Language Second Edition by Kernighan and Ritchie
Excellent. Best tutorial approach of ANY technical book IMO.
2. C: A Reference Manual by Harbison and Steele
A reference and not for the new C programmer IMO.
3. C Unleashed by Heathfield, Kirby et al.
Not printed anymore afaik. Also I wouldn't recommend it for a new C
programmer. It is disjoint in that it is the work of a few professional
programmers all singing from different song sheets. A good reference
mind you and certainly informative.
4. Expert C Programming by Peter Van der Linden
Excellent. I would recommend this with K&R2 for any budding C
programmer. This is a fun book to read and deals with real issues.
Oct 8 '07 #12
Richard said:
santosh <sa*********@gmail.comwrites:
<snip>
>3. C Unleashed by Heathfield, Kirby et al.

Not printed anymore afaik.
Correct.
Also I wouldn't recommend it for a new C programmer.
Neither would I.
It is disjoint in that it is the work of a few professional
programmers all singing from different song sheets.
Much as I would like to disagree with you, I can't.
A good reference mind you and certainly informative.
I agree with every word you have said here, but I still defend your right
to say it.
>4. Expert C Programming by Peter Van der Linden

Excellent. I would recommend this with K&R2 for any budding C
programmer. This is a fun book to read and deals with real issues.
I'm less enthusiastic than most clc-ers about this book, although I won't
deny that it's an entertaining romp. (And how often can you say that about
a book on computer programming?)
--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Oct 8 '07 #13
Richard Heathfield wrote:
Richard said:
santosh <sa*********@gmail.comwrites:
<snip>
3. C Unleashed by Heathfield, Kirby et al.
Not printed anymore afaik.

Correct.

It's often available from libraries, for instance both my company
library and the local public library have copies.


Brian
Oct 8 '07 #14
Richard Heathfield wrote:

<snip>
Tor Rustad said:
>santosh wrote:

[...]
>>Here are some resources:

Books:
======

1. The C Programming Language Second Edition by Kernighan and
Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden
<snip>
>and [2] and [4] are not for beginners.

Neither is [3]!
Well, neither is [1]. K&R assume previous exposure to basic programming.
In fact most beginners seem to have a rather hard time with it,
particularly with solving the exercises.

Oct 8 '07 #15
Richard Heathfield wrote:
[...]
Tor Rustad said:
>santosh wrote:

[...]
>>Here are some resources:

Books:
======

1. The C Programming Language Second Edition by Kernighan and Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden
This is a FAQ, see Q 18.10.

[3] Received only a "recommended with reservations" by ACCU.
http://accu.org/index.php/book_revie...erm=advanced+c

Very true. Francis has never forgiven the authors for writing a book about
C instead of C++. :-)
I'm not going to defend the ACCU review, some valid point was given, but
I do think the little C99 coverage, made it drop a category, which IMO
was rather unfair.
>and [2] and [4] are not for beginners.

Neither is [3]!
It depends on the chapter, some topics was advanced, but not covered in
depth. The book would have been more interesting, if some chapters had
been dropped, and others had greater technical detail.

IIRC, no systems programming, and a very weak coverage of interesting
topics/chapters like optimization and encryption. I also slept through
the CGI and TCP/IP chapters. <g>

--
Tor <torust [at] online [dot] no>
Oct 8 '07 #16
On Oct 8, 11:32 am, Tor Rustad <tor_rus...@hotmail.comwrote:
Richard Heathfield wrote:

[...]
Tor Rustad said:
santosh wrote:
[...]
>Here are some resources:
>Books:
======
>1. The C Programming Language Second Edition by Kernighan and Ritchie
2. C: A Reference Manual by Harbison and Steele
3. C Unleashed by Heathfield, Kirby et al.
4. Expert C Programming by Peter Van der Linden
This is a FAQ, see Q 18.10.
[3] Received only a "recommended with reservations" by ACCU.
http://accu.org/index.php/book_revie...iew=c002280&te...
Very true. Francis has never forgiven the authors for writing a book about
C instead of C++. :-)

I'm not going to defend the ACCU review, some valid point was given, but
I do think the little C99 coverage, made it drop a category, which IMO
was rather unfair.
and [2] and [4] are not for beginners.
Neither is [3]!

It depends on the chapter, some topics was advanced, but not covered in
depth. The book would have been more interesting, if some chapters had
been dropped, and others had greater technical detail.

IIRC, no systems programming, and a very weak coverage of interesting
topics/chapters like optimization and encryption. I also slept through
the CGI and TCP/IP chapters. <g>

--
Tor <torust [at] online [dot] no>
Why is that old books like, Effective C programming, are still
recommended (not trying to bash this book by the way)? I thought
computer books were supposed to be the latest and greatest? I am
guessing the answer is that computer "language" don't CHANGE as fast
as say, Operating Systems?

Oct 9 '07 #17
Rajiv Battula said:

<snip>
Why is that old books like, Effective C programming, are still
recommended (not trying to bash this book by the way)?
Because, in the olden days, books were very often written by People Who
Knew What They Were Talking About. That rarely happens any more. Now, most
books are written by People Whom The Publisher Doesn't Have To Pay Very
Much.
I thought computer books were supposed to be the latest and greatest?
Why did you think that?
I am guessing the answer is that computer "language" don't CHANGE as fast
as say, Operating Systems?
The underlying operating systems don't change all that quickly either,
actually. What tends to change fastest is the user interface - because
that's the trendy bit.

The question you have to ask yourself is this: which do you want to do?
Explore the transient delights of the latest trendy language or
protocol.... or learn how to write computer programs properly? If the
latter, then - whilst it's not *impossible* for good new books to appear
on occasion - you will normally do better to reach for the classics. For
example, "The Art of Computer Programming", "Algorithms + Data Structures
= Programs", and "The C Programming Language" - all should be either on
your bookshelf or open on your desk.

--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Oct 9 '07 #18
Richard Heathfield <rj*@see.sig.invalidwrites:
Rajiv Battula said:

<snip>
>Why is that old books like, Effective C programming, are still
recommended (not trying to bash this book by the way)?

Because, in the olden days, books were very often written by People Who
Knew What They Were Talking About. That rarely happens any more. Now, most
books are written by People Whom The Publisher Doesn't Have To Pay Very
Much.
Well there are exceptions to the rule. But I guess the publishers want
to keep their authors short... And well it also seem as if the authors
have to play for the rules of the publisher otherwise they are out.
>
>I thought computer books were supposed to be the latest and greatest?

Why did you think that?
This is really an interesting question ;-)

>
>I am guessing the answer is that computer "language" don't CHANGE as fast
as say, Operating Systems?

The underlying operating systems don't change all that quickly either,
actually. What tends to change fastest is the user interface - because
that's the trendy bit.

The question you have to ask yourself is this: which do you want to do?
Explore the transient delights of the latest trendy language or
protocol.... or learn how to write computer programs properly? If the
latter, then - whilst it's not *impossible* for good new books to appear
on occasion - you will normally do better to reach for the classics. For
example, "The Art of Computer Programming", "Algorithms + Data Structures
= Programs", and "The C Programming Language" - all should be either on
your bookshelf or open on your desk.
I'd add a few to this. Secure Coding for C and C++, Writing Secure
Code, Secure Programming Cookbook, Code Complete and books about
Software development in the large are still worth a lot...

Regards
Friedrich
--
Please remove just-for-news- to reply via e-mail.
Oct 9 '07 #19
Rajiv Battula wrote On 10/08/07 23:16,:
[...]
Why is that old books like, Effective C programming, are still
recommended (not trying to bash this book by the way)? I thought
computer books were supposed to be the latest and greatest? I am
guessing the answer is that computer "language" don't CHANGE as fast
as say, Operating Systems?
A computer language that changes rapidly and radically
is the enemy of code re-use. If yesterday's code won't
work with today's compiler, you need to rewrite or at
least repair it; is that an efficient way to work? The
phrase "write-only language" comes to mind.

If you as a programmer want to preserve the usefulness
of the code you write (flip side: If you don't feel like
writing the same code over and over again in ever-changing
dialects), you will look for a language with staying power.
That is, you will seek a language where the rate of change
is gradual and/or the nature of the changes is moderate.
Fast-evolving languages have a place: they can be helpful
when all you want is an ad-hoc program to solve one problem
just a few times before being discarded. But if you want
your investment of effort to yield enduring benefit, you
will not write your code in wet sand at low tide.

(Many of the same issues pertain to operating systems,
too, and I can't say I agree with your suggestion that
they change especially rapidly. Features and improvements
come along, but there's a large incentive for backwards
compatibility and the overall system structure usually
remains recognizable.)

--
Er*********@sun.com

Oct 9 '07 #20
>>>>"RB" == Rajiv Battula <ra***********@gmail.comwrites:

RBWhy is that old books like, Effective C programming, are still
RBrecommended (not trying to bash this book by the way)? I
RBthought computer books were supposed to be the latest and
RBgreatest? I am guessing the answer is that computer "language"
RBdon't CHANGE as fast as say, Operating Systems?

Because the old books, or at least the ones that have remained in
print, focus on what really matters about programming. There were
just as many bad books then as there are now, but the good books from
20 years ago have survived, while the bad books have been largely
forgotten.

It's the same reason that the only authors from the 1870s that anyone
has ever heard of are the good ones -- there was just as high a
proportion of garbage then as now, but time has filtered out the bad
ones.

Charlton

--
Charlton Wilbur
cw*****@chromatico.net
Oct 9 '07 #21
>>>>"RH" == Richard Heathfield <rj*@see.sig.invalidwrites:

RHThe question you have to ask yourself is this: which do you
RHwant to do? Explore the transient delights of the latest
RHtrendy language or protocol.... or learn how to write computer
RHprograms properly? If the latter, then - whilst it's not
RH*impossible* for good new books to appear on occasion - you
RHwill normally do better to reach for the classics.

That's how the odds go, but there are new classics being written every
year. I'm not aware of many in the area of C, however.

RH For example, "The Art of Computer Programming", "Algorithms +
RHData Structures = Programs", and "The C Programming Language"
RH- all should be either on your bookshelf or open on your desk.

I'd add _The Mythical Man-Month_ to that, too. I haven't needed a
data structures or algorithms reference in some time (which speaks
more to the sort of programming I'm doing than I like, alas), so I'll
say silent there. And I haven't referred to K&R since my copy went
walking off in 1996 or so; if I didn't have Harbison & Steele handy,
though, I'd probably need to pick up another copy of K&R.

Charlton

--
Charlton Wilbur
cw*****@chromatico.net
Oct 9 '07 #22
Charlton Wilbur wrote:
>>>>>"RH" == Richard Heathfield <rj*@see.sig.invalidwrites:

RHThe question you have to ask yourself is this: which do you
RHwant to do? Explore the transient delights of the latest
RHtrendy language or protocol.... or learn how to write computer
RHprograms properly? If the latter, then - whilst it's not
RH*impossible* for good new books to appear on occasion - you
RHwill normally do better to reach for the classics.

That's how the odds go, but there are new classics being written every
year. I'm not aware of many in the area of C, however.
Yes. It's unlikely that publishers will consider proposals from authors
for books on pure C anymore.

Oct 9 '07 #23
Charlton Wilbur <cw*****@chromatico.netwrites:
>>>>>"RH" == Richard Heathfield <rj*@see.sig.invalidwrites:

RHThe question you have to ask yourself is this: which do you
RHwant to do? Explore the transient delights of the latest
RHtrendy language or protocol.... or learn how to write computer
RHprograms properly? If the latter, then - whilst it's not
RH*impossible* for good new books to appear on occasion - you
RHwill normally do better to reach for the classics.

That's how the odds go, but there are new classics being written every
year. I'm not aware of many in the area of C, however.
Point is that it's not the "hyped enough language of the day". It
would be high time to get a decent book about usage of quite a few
portable libraries and "modern" use of C....

Regards
Friedrich

--
Please remove just-for-news- to reply via e-mail.
Oct 10 '07 #24
Richard Heathfield wrote:
[This article contains a review of a review about "C Unleashed".
Those were pretty much the only negative comments about the book. The rest
of the review was reasonably positive.
<snip>
>
>>and [2] and [4] are not for beginners.


Neither is [3]!
Perhaps not intended for beginners, but I purchased and read this
book when I was just starting to learn C on my own and found the
great majority of it understandable and useful.

JS
Oct 10 '07 #25
Richard wrote:
santosh <sa*********@gmail.comwrites:

>>1. The C Programming Language Second Edition by Kernighan and Ritchie


Excellent. Best tutorial approach of ANY technical book IMO.

>>2. C: A Reference Manual by Harbison and Steele


A reference and not for the new C programmer IMO.
Very useful to me as a beginner and still the only C book always
within reach rather than in the bookcase down the hall.

JS
>
>>3. C Unleashed by Heathfield, Kirby et al.


Not printed anymore afaik. Also I wouldn't recommend it for a new C
programmer. It is disjoint in that it is the work of a few professional
programmers all singing from different song sheets. A good reference
mind you and certainly informative.

>>4. Expert C Programming by Peter Van der Linden


Excellent. I would recommend this with K&R2 for any budding C
programmer. This is a fun book to read and deals with real issues.

Oct 10 '07 #26
John Smith said:
Perhaps not intended for beginners, but I purchased and read ["C
Unleashed"] when I was just starting to learn C on my own and found the
great majority of it understandable and useful.
I'm delighted to hear it.

Nevertheless, don't try this at home, folks. Stunt programmers like John, I
am given to understand, are paid huge amounts by the likes of George Lucas
and Peter Jackson to dive straight into such books, heedless of personal
risk to life and limb. For the rest of us - well, learn the language
first. :-)

--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Oct 10 '07 #27

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

16
by: TTroy | last post by:
I FOUND MAJOR ERRORS in K&R2 (making it almost useless for the herein mentioned topics). K&R2 Section 5.9 Pointers vs. Multidimension Arrays starts of like this... "Newcomers to C are...
3
by: Sunny | last post by:
Hi, Well this might look like a dumb question to 99.99% of u but what exactly is K&R2 and where can I get it? Secondly alot of people say that you can learn by reading good books on C. I know...
16
by: Josh Zenker | last post by:
This is my attempt at exercise 1-10 in K&R2. The code looks sloppy to me. Is there a more elegant way to do this? #include <stdio.h> /* copies input to output, printing */ /* series of...
12
by: arnuld | last post by:
this is exercise 2-3 from the mentioned section. i have created a solution for it but i see errors and i tried to correct them but still they are there and mostly are out of my head: ...
4
by: arnuld | last post by:
as i said, i have restarted the book because i overlooked some material. i want to have some comments/views on this solution. it runs fine, BTW. ------------------ PROGRAMME -------------- /*...
16
by: arnuld | last post by:
i have created solution which compiles and runs without any error/ warning but it does not work. i am not able to understand why. i thought it is good to post my code here for correction before...
24
by: Anthony Irwin | last post by:
Hi all, I have been going through the k&r2 book and all the examples are done with main() instead of int main(void) and k&r2 in the start of chapter 1 does not return 0 so I haven't yet either....
12
by: arnuld | last post by:
i was able to create a solution for a Horizontal-Histogram. i was completely unable to understand this Vertical-Histogram phenomenon. even though i have looked at the solution at this page: ...
15
by: arnuld | last post by:
STATEMENT: Write the function strindex(s, t), which returns the position of the rightmost occurence of t in s, or -1 if there is none. PURPOSE: this program prints the index of the rightmost...
8
by: arnuld | last post by:
This is the code form section 6.5 of K&R2: struct tnode { char *word; int count; struct tnode *left; struct tnode *right; };
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.