Thread: Using Herbert Schildt books Good Or Bad?

  1. #1
    Registered User
    Join Date
    May 2007
    Posts
    4

    Using Herbert Schildt books Good Or Bad?

    Hello,

    Ive been teaching myself C++ properly for the last few weeks. Ive been working really hard at this taking notes etc, rather than just breezing through books and picking up bits of the language along the way and missing the "small features".

    The thing is my primary soure of learning is herbert shildt's C++ a beginners guide. Although I find the book very clear and easy to follow, i was looking in the book recommendations on this site and there was a post saying they wouldn't recommend his books as they are full of errors and have bad coding pratices.

    I would like to know if anyone shares this opinion as i would rather change tomes now than find im teaching myself bad practises!!!
    Thanks

    EDIT: This is not an excuse for a which book is the best flame war just opinions thats all
    Last edited by CodedFire; 05-05-2007 at 04:28 PM.

  2. #2
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,005
    It has been rumored that more recent offerings were finally not downright detrimental -- so the edition may be important. But I haven't looked at a Schildt book in ages. That's the basic trouble with them: you never quite know where or when you might be encountering very easy-to-understand examples of bad practice.

    I'd say post some examples of things you're working on. If folks here find something wrong with them -- at odds with the book -- that will be an indicator of its quality.
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  3. #3
    Anirban Ghosh
    Join Date
    Jan 2006
    Posts
    278
    @CodedFire

    Herbert Schildt's book are the best books for any beginner programmer. Whether it be Complete Reference, Teach Yourself or Ground Up- they are all unparalleled in simplicity and clarity. The learner will never feel that he is learning such a language like C++. I myself has learned C++ from his book. I did not face in problem! As you have said his books are full of errors - well those who have said this , did they point you the errors??? And as far coding practices are considered, he could easily write high quality code - but would a beginner be able to understand those??? And as for me i do not see any bad coding practices in his books. I have read The Complete Reference - C, The Complete Reference - C++, The Complete Reference - Java, Teach yourself C++ - i did not find any bad coding practices! Still if you say about good coding then go for advanced books - The C++ Programming Language - Stroustrup and so on!
    In a nut shell, if you are a beginner - learn his book first, after you gain the concepts, go for advanced books.

  4. #4
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,005
    Quote Originally Posted by anirban View Post
    As you have said his books are full of errors - well those who have said this , did they point you the errors???
    Many have, over the years. Here is one example:
    http://www.lysator.liu.se/c/schildt.html

    BTW: clive >> schildt
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  5. #5
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    The learner will never feel that he is learning such a language like C++. I myself has learned C++ from his book. I did not face in problem!
    ...
    I have read The Complete Reference - C, The Complete Reference - C++, The Complete Reference - Java, Teach yourself C++ - i did not find any bad coding practices!
    The problem is that if you are a beginner, you would have little by which to discern what is good and bad, which is precisely why CodedFire asked about it. Take a look at an ACCU book review on C++ from the Ground Up.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #6
    Anirban Ghosh
    Join Date
    Jan 2006
    Posts
    278
    But i do not think there is any other book which can teach one programming from root so clearly. Once he learns C++ from this book he will manage his own way of code development and also there are many resourced on this.

    @laserlight

    I have seen the review from your link but can you tell me are the errors which the reviewer has pointed is suitable for being analyzed from a beginner? He says "why MI", "how abstract classes" and all! Is these necessary for a beginner? And moreover if explained, will a beginner be able to perceive the concept? i do not think so! Astonishingly it is written in Bold "Not Recommended". Is the book so bad and sub-standard that one cannot read it as a starter?
    And also the reviewer could write a book for beginners and and show how to write a good book! So if this books are bad what book should a beginner study?

  7. #7
    Registered User
    Join Date
    May 2007
    Posts
    4
    Ok the feeling im getting is that i can continue to learn the basics from this book without too much concern. I must also metion i have the most recent edition and ive also been using Code Complete to help me with "Correct" ways to implement the language and keep my code neat.

    On the subject of notes ive been using one note 2007 as my "work book" and will post my notes as i complete each module for people to read over and maybe correct if they are interested.

    If it is his implementation of the language rather than full blown errors i don't mind too much as this seems to be the case with such a large language.

    Maybe that post on the book recomendations should be edited as my idea of an error is code that will not compile rather than code that could be implemented better, especially since views on good implementation can vary from person to person.

  8. #8
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    He says "why MI", "how abstract classes" and all! Is these necessary for a beginner?
    If they are unnecessary for a beginner, then why did Schildt include them? If they are necessary, then his coverage was incomplete, and thus he deserves criticism.

    Ok the feeling im getting is that i can continue to learn the basics from this book without too much concern.
    If you have any programming background, my recommendation is to read Accelerated C++: Practical Programming by Example, by Koenig and Moo. It is written for beginners to C++ (and yes, anirban, that is an example of how to write a good book), but unfortunately it is not a book for beginners to programming, unless you have a mentor.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  9. #9
    Anirban Ghosh
    Join Date
    Jan 2006
    Posts
    278
    @laserlight

    "unfortunately it is not a book for beginners to programming, unless you have a mentor". You have yourself said that it it is not for a self-taught beginner. The topic here is how to self-teach C++. Any book on that except Schildt books? Please do tell us, if any.

  10. #10
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    "unfortunately it is not a book for beginners to programming, unless you have a mentor". You have yourself said that it it is not for a self-taught beginner. The topic here is how to self-teach C++. Any book on that except Schildt books? Please do tell us, if any.
    It is suitable for a self-taught beginner who has some programming background. I do not know of any book suitable for a self-taught beginner to C++ who has no prior programming knowledge. My advice to someone in such a position would be to learn some other language first, or find a mentor.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  11. #11
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    >> Any book on that except Schildt books? Please do tell us, if any.
    The book I'd recommend for this is You Can Do It! by Francis Glassborow. I have not had a chance to read through much of this book, but it has some advantages over Schildt's books. First, it teaches C++. Schildt's books teach C style C++. There is a big difference. This isn't specifically an issue with Schildt, the majority of C++ beginner books teach C style C++, but still, it is to your advantage if you want to learn C++ to get one that doesn't. The other book that doesn't is Accelerated C++, which gets great reviews mostly because of that fact.

    So while I don't know how clear and easy to understand the explanations are in Glassborow's book, I'd recommend it over Schildt's book any day just because it teaches better C++ practices.

    Another option is to continue with Schildt's book, but supplement it with Accelerated C++. This will reduce the difficulties that come with the accelerated nature of that book, and it will help teach you better practices than you would get from Schildt's book alone.

  12. #12
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,005
    Quote Originally Posted by anirban View Post
    The topic here is how to self-teach C++. Any book on that except Schildt books? Please do tell us, if any.
    The Schildt paradigm might be summarized like this: it will easily teach you some portion of the topic, then as you get good you'll discover you've learned to do things wrong, then discover the right way, then try to unlearn what you learned, and then finally learn the right way. To many, this is the tedious inefficient way to learn, so we advise against it. But you are welcome to do it. Cycle time estimate: 3-7 years.
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  13. #13
    Registered User
    Join Date
    May 2007
    Posts
    4
    Hmm ..... Im a bit edgy now, obviously i want to learn as much as i can about c++ but i would like to keep away from redundant learning, that in my opinion can kill a passion very fast.

    @ laserlight..... How much "backround" are we talking about. Ive been dabbling with programing from C to VB.Net for years nutting beyond begginer but i do understand the basics of programming as a whole, would this be suitable?

    Does it teach C++ or C style C++?

  14. #14
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    >> Does it teach C++ or C style C++?
    I assume you mean Accelerated C++, right? It teaches what I was referring to as C++ style C++, which is one major reason it is highly recommended (and why I put it at the top of my recommendations).

  15. #15
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    Quote Originally Posted by CodedFire View Post
    @ laserlight..... How much "backround" are we talking about. Ive been dabbling with programing from C to VB.Net for years nutting beyond begginer but i do understand the basics of programming as a whole, would this be suitable?

    Does it teach C++ or C style C++?
    I would guess that if you are comfortable with basic programming concepts such as program control structures (if, for, while, etc), what a variable is and what functions are, this would be sufficient. Personally, I'd rather have to work a bit harder to learn the correct way than learn the easier but wrong way.
    "I saw a sign that said 'Drink Canada Dry', so I started"
    -- Brendan Behan

    Free Compiler: Visual C++ 2005 Express
    If you program in C++, you need Boost. You should also know how to use the Standard Library (STL). Want to make games? After reading this, I don't like WxWidgets anymore. Want to add some scripting to your App?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Would anyone recommend good network security books?
    By donglee in forum Networking/Device Communication
    Replies: 1
    Last Post: 04-11-2009, 09:11 AM
  2. Herb schildt books
    By swgh in forum A Brief History of Cprogramming.com
    Replies: 15
    Last Post: 10-31-2006, 07:45 PM
  3. Good news, and bad news... (meaningless post, do not wast your time reading it)
    By compjinx in forum A Brief History of Cprogramming.com
    Replies: 0
    Last Post: 04-05-2002, 04:27 PM
  4. Goto statements, good or bad?
    By Esparno in forum C++ Programming
    Replies: 20
    Last Post: 03-20-2002, 09:16 PM
  5. good news and bad news
    By Garfield in forum A Brief History of Cprogramming.com
    Replies: 25
    Last Post: 10-27-2001, 07:31 AM