views:

946

answers:

4

I was getting on fine reading "C++ From The Ground Up" by Herb Schildt, 3rd edition (2003) finding it explains things a lot clearer than some of the other books available. However it's apparent that many people consider Herb Schildt's books to be full of errors. e.g. see #16 at http://www.faqs.org/faqs/C-faq/learn/. Is this right and would I be better not to use this book?

Edit: I've decided that I'd be better off using "Accelerated C++" by Andrew Koenig & Barbara Moo instead, it's highly recommended by the ACCU plus it looks like the most efficient way to get started.

+4  A: 

If it's the only C++ book you ever read, It's probably going to harm your progress a little... But the latest versions are, at least, error free. I'm not sure exactly which bad habits the link accuses him of but I've not noticed them...

You should always have a couple of books for a given subject because there is usually dispute over how something should be done and if you get to use different methods, you'll be a better programmer. By extension, if this book does contain particularly bad habits, you'll only know that way of doing things.

The one thing I would say about this particular book is it has an amazing ability to sense if you're lying down and if you are, it sucks the energy from your soul and you fall fast asleep almost instantaneously. It's not bad but it is a little dry in places.

Oli
+4  A: 

My professor for Intro to CS has a list of books he doesn't recommend along with examples. At the top of the list is this:
Schildt: Any Book on C or C++

You can see the whole list here:
C Books and C++ Books You Don't Want !

Nathan Fellman
Also his tips for choosing a C or C++ textbook at http://www.cs.technion.ac.il/users/yechiel/CS/ChoosingBooks.html are useful.
Rob Kam
+5  A: 

If you've not read the exposition at Lysator, you might care to do so. It dates back to the mid-90s, and a time when there was no other convenient way to get hold of a copy of the C standard than Schildt's "Annotated C Standard" book. (I have a copy - for that reason.) These days, you can get a PDF of the current standard (C, C++) from ANSI quite easily and cheaply ($18 or so). For C, you can also obtain the current (C99) standard in book form relatively cheaply ($85 or so list); the equivalent book for C++ is also available. These are not tutorials, of course. However, they are the ultimate reference source - I use the C99 standard in PDF form a lot. (If you actually need the C89 standard, then you probably do need the left-hand pages of "The Annotated C Standard"; ignore the right-hand pages unless you know enough to shred the material.)

It used to be that you could find lists of reviews of books at the ACCU web site; as of today, the search facility either isn't working or they've forgotten to review the books cited.

One other point against Mr Schildt. Once you have one of his books, you also have a majority of the material in all his other books. That is, there is a strong similarity between the multitude of different titles. Now, you may take that with a pinch of salt if you wish - if the book was published in the current millennium, there's a chance that it is new and improved. But the advice to avoid his books is sound.

Jonathan Leffler
The ACCU lists it with "Not recommended"
Rob Kam
$Rob Karm: OK - the Herb Schildt book it probably does list; I was not successful searching for the two new standard books, though I could have used the wrong search terms. I didn't spot how to see a 'raw list' of reviews, whereas in the past you could scroll through (large) lists of reviews.
Jonathan Leffler
Browsing http://www.accu.informika.ru/accu/bookreviews/public/index.htm works better.
Rob Kam
It most certainly does. It's sad when something other than the parent site provides a better service than the parent site.
Jonathan Leffler
A: 

Heh, before I knew better, the first book I ever bought on C++ was "Teach Yourself C++" ( IN fact, there it is on my shelf as I type). But it wasn't the last book I ever bought on the subject so I got other viewpoints and now we have forums like this to steer us straight. I survived the experience and now consider myself fairly competent in C++.

unclerojelio