#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2008
    Posts
    5
    Rep Power
    0

    Would The Complete Reference of C be recommended?


    Hello everyone,

    Would The Complete Reference of C be a good book for myself that never programmed before? I did tried The C Programming Language and I stopped about in early chapter 1 because it wasn't helpful. If someone doesn't recommend The Complete Reference then would someone say K&R? Or what book? I would like to try learning pure C, not C++, and not C# but C is what I like to learn by books.
  2. #2
  3. Contributed User
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Jun 2005
    Posts
    4,364
    Rep Power
    1870
    Well if it's like another Schildt book, and it has void main scattered all over the place, then I suppose it would make a good door-stop. Volume and easy reading may be fine for a pulp novel, but for a technically demanding subject like C programming, it's a disaster area.
    If gets() and fflush(stdin) litter the examples, then that would clinch it as a really bad book IMO.
    Maybe by version 3 he's fixed the problems, I dunno.

    http://accu.org/ has a large book review section (temporarily down at this moment it seems). I suggest you use that list to get a few titles, then check them out to see how you get on with them before paying your money.

    > for myself that never programmed before?
    I would suggest you start with something relatively harmless like Python then. First you need to learn the mechanics of how to program (loops, conditions, data, functions - that kind of stuff). Plus, you won't get hanged for every minor mistake you make along the way.

    C knows no bounds to the ways it can punish you for even the slightest mistake. Likewise, even the most monstrous of errors will simply appear to work (especially, perversely, in small programs). You may think you know something as a result, but C is merely moving you into position over the large cauldron of boiling water, ready to drop you right in it at some inconvenient moment.

    > then would someone say K&R?
    It's certainly the last one you would buy.
    It's also true that it's a lot of hard work to get through if you don't already know something about programming.

    Another analogy:
    Learning to drive is different from choosing a car.
    C is an old Ferrari, with dodgy steering and rather suspect brakes. Fantastic fun if you can handle it, but unless you're prepared, it's just going to get wrapped around the nearest tree.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2008
    Posts
    5
    Rep Power
    0
    Thank you for that info.

    I did look at the C Programming Language and have tried that book. I stopped in the middile or beginning of chapter I (1) because I didn't understand it.

    I was thinking about C for Dummies. Not sure if that would be good or not?

    I had to take out the URL before sending, in the quote I am talking about.











    Schildt book, and it has void main scattered all over the place, then I suppose it would make a good door-stop. Volume and easy reading may be fine for a pulp novel, but for a technically demanding subject like C programming, it's a disaster area.
    If gets() and fflush(stdin) litter the examples, then that would clinch it as a really bad book IMO.
    Maybe by version 3 he's fixed the problems, I dunno.

    has a large book review section (temporarily down at this moment it seems). I suggest you use that list to get a few titles, then check them out to see how you get on with them before paying your money.

    > for myself that never programmed before?
    I would suggest you start with something relatively harmless like Python then. First you need to learn the mechanics of how to program (loops, conditions, data, functions - that kind of stuff). Plus, you won't get hanged for every minor mistake you make along the way.

    C knows no bounds to the ways it can punish you for even the slightest mistake. Likewise, even the most monstrous of errors will simply appear to work (especially, perversely, in small programs). You may think you know something as a result, but C is merely moving you into position over the large cauldron of boiling water, ready to drop you right in it at some inconvenient moment.

    > then would someone say K&R?
    It's certainly the last one you would buy.
    It's also true that it's a lot of hard work to get through if you don't already know something about programming.

    Another analogy:
    Learning to drive is different from choosing a car.
    C is an old Ferrari, with dodgy steering and rather suspect brakes. Fantastic fun if you can handle it, but unless you're prepared, it's just going to get wrapped around the nearest tree.[/QUOTE]
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 2006
    Posts
    2,270
    Rep Power
    1736
    I was thinking about C for Dummies. Not sure if that would be good or not?
    My position is this. If you find yourself running for a "for dummies" language book , chances are, you probably should have started with an easier language.

    Learning C means learning expert material, as with any programming or technical topic. You don't learn it in a "for dummies" fashion. If what you are looking for is a language that is easier to gain proficiency in, picking C does not make sense.

    Oh, and this isn't e-mail. In forum postings, don't unnecessarily quote posts. And don't top post.
    When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite.

    Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you.
    Want better answers? Tell us what you Googled for and what steps you took to answer your own question.
  8. #5
  9. Contributing User
    Devshed Supreme Being (6500+ posts)

    Join Date
    Jan 2003
    Location
    USA
    Posts
    7,089
    Rep Power
    2222
    My understanding and experience with "for Dummies" books is that they are not intended for dummies, but rather for smart people who just don't know much about this particular subject. In this case, I would think that it assumes that you already know how to program, only in a different language, which is not your case. I have also found the programming "for Dummies" books to not serve very well as references (ie, for looking up a specific topic).

    You experienced something like that with K&R's book. Let's face it, those two literally wrote the book on C (ie, they invented the original language) and have worked at high levels in computer science for so long that they probably can't understand how a non-programmer might think, as I believe you have already discovered. Their book is good for an experienced programmer, but not for a beginner.

    In the past I've had some success with a few "in 24 days" books (eg, by SAMS). They are meant to be tutorial in nature. I'm not familiar with their C book. For that matter, I'm not familiar with any beginner C books -- I've be working in C for over 15 years and had learned it after more than a decade of experience programming in other languages.

    A suggestion:
    Find a few book titles that you might want to consider. Go to amazon.com and look them up. Read the book description to see if it might be what you're looking for. Then read the reader reviews. The main page will only display a few of the reviews, so you should click on a link to see all of the reviews.

    Finally, I know you want to find a best book. But even a so-so book that you can work with will at least get you started.

    Another thought: what compiler/development system are you using? You might want to include that consideration in your search for a book.


    PS
    When you get started, you will hit a common problem. The first programs will be console apps, AKA "DOS programs" or "command-line applications". If you are using a GUI development system (IDE for "integrated development environment"), then you will undoubtedly try to run the program from the IDE. What will happen is that the IDE will open a console window and run the app within that window. That is perfectly normal. When the app finishes running and terminates, then its console window will immediately close. That is also perfectly normal.

    The problem is that for some odd reason you expect that console to remain open for an indefinite amount of time after the app terminates so that you can read its output. Common as that expectation is, it is not normal. In order to keep that console open, you will need to take certain measures, such as writing your program so that it must read more input from the user before it terminates.

    A properly written beginner's book will address this issue and instruct you in writing such kludges. Of course, the true solution is to run the program from the command line.
    Last edited by dwise1_aol; October 1st, 2008 at 06:50 PM.
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Intermediate (1500 - 1999 posts)

    Join Date
    Feb 2004
    Location
    San Francisco Bay
    Posts
    1,939
    Rep Power
    1313
    Originally Posted by dwise1_aol
    In the past I've had some success with a few "in 24 days" books (eg, by SAMS). They are meant to be tutorial in nature. I'm not familiar with their C book.
    I am, and I can say it's decent. I read it and learned C, knowing essentially nothing about any real computer language (I didn't even know what a compiler was).

    I'll also recommend my textbook from college, which is King's C Programming: A Modern Approach. It's well written, easy to understand, and more complete than the SAMS book.

IMN logo majestic logo threadwatch logo seochat tools logo