Thread: is c++ for dummies any good?

  1. #16
    Registered User
    Join Date
    Mar 2006
    Posts
    725
    You are judging a book by the cover. The publisher has nothing to do with the author.
    Well, a publisher's quality matters a lot too. For example, I have yet to see a substandard programming book from O'Reilly.

    I'm not a big book fan, so I can't really recommend any. The only C++ book (and indeed, the only programming-related book I ever bought) was pre-98, before cout was prefixed by std. I can tell you, you will rely less and less on books and tutorials and increasingly on manpages as you progress through the language. I learned most of what I know now by reading through online references and compiling programs, not by reading books or doing exercises.
    Code:
    #include <stdio.h>
    
    void J(char*a){int f,i=0,c='1';for(;a[i]!='0';++i)if(i==81){
    puts(a);return;}for(;c<='9';++c){for(f=0;f<9;++f)if(a[i-i%27+i%9
    /3*3+f/3*9+f%3]==c||a[i%9+f*9]==c||a[i-i%9+f]==c)goto e;a[i]=c;J(a);a[i]
    ='0';e:;}}int main(int c,char**v){int t=0;if(c>1){for(;v[1][
    t];++t);if(t==81){J(v[1]);return 0;}}puts("sudoku [0-9]{81}");return 1;}

  2. #17
    The superhaterodyne twomers's Avatar
    Join Date
    Dec 2005
    Location
    Ireland
    Posts
    2,273
    >> I learned most of what I know now by reading through online references and compiling programs ...

    Me too (more the latter though). It's a language, and like any one the only way to get it good is through practise. Imagine trying to learn French or something solely through books, you wouldn't have any idea of the intonation, pernounciation etc, even though you may have a very good level of understanding of it, it wouldn't be as polished as it should. Why should a programming language be any different. Books don't teach you what you need to know, it's practice that does that.

    EDIT: Even looking at jafet's sig gives you an idea that we actually mean it!

  3. #18
    Registered User
    Join Date
    Jul 2006
    Posts
    10
    Another thing I like about C++ for dummies is it has a thing of explaining what something is, why its used and how to use it. Then at the end of the chapter it shows it being used in a FULL program. Not just code snipits.

    They changed it a lot in the 5th edition then. It only gives huge lumps of code and tells you what the program does. For the first program in it, something to change fahrenheit to celsius, all it told apart from what the whole program did, was cout and cin. Apart from that it just said ignore everything else. Even iostreams.

  4. #19
    Registered User
    Join Date
    May 2006
    Posts
    8
    Quote Originally Posted by twomers
    It's a language, and like any one the only way to get it good is through practise.
    I beg to differ. While practice most CERTAINLY is an important part of learning a language, without proper tutoring to show hidden, subversive pitfalls, you'll only go half the way through. It might work for French, as it is a human language, interpreted by human minds, who will work around your mistakes. C++, however, is about complete correctness. A single erroneously constructed loop termination, memory allocation or dereferencing operation can make your program crash and burn in the far future, long after you've started thinking of it as being correct.

    In my opinion, to get a truly good grasp of C++, not only do you need a solid starting book, you also need to go through the likes of Effective C++, More Effective C++ (Meyers), The Standard Library (Josuttis), and quite a few more. Practice only makes perfect when someone's along to tell you when you do something wrong.

  5. #20
    Registered User
    Join Date
    Dec 2005
    Posts
    39
    I agree, we have all spent more time programming than reading about it.

    But how much programming would we have done with out reading?

  6. #21
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    In my opinion, to get a truly good grasp of C++, not only do you need a solid starting book, you also need to go through the likes of Effective C++, More Effective C++ (Meyers), The Standard Library (Josuttis), and quite a few more. Practice only makes perfect when someone's along to tell you when you do something wrong.
    I've never heard of the books you speak of. My sources, to this point, have been:
    a) Teach yourself C++ in 21 Days (Jesse Liberty) - Good book, IMO. Used for a month or so.
    b) CProg - Excellent community. Used/contributed for several years, overlaps (a).
    c) Google - Excellent resource. Time period overlaps (b) and continues to date.
    d) MSDN - Excellent resource. Time period overlaps (b) and continues to date.
    e) Visual Studio Help (i.e. MSDN)

    That's right, I used C++ in 21 Days. While it's not perfect, it's pretty damn good. I also had two first-year university courses, but they didn't teach me anything new beyond (b) and (c) at the time.

    IMO, there are only two ways to become proficient with C/C++ to a [good] professional level. The first is simply to gain career experience. The second is to work on complex projects of your own, constantly pushing the limits of what you know how to do, and actively participate at a high-quality forum like CProg. The latter part is important so that: (a) You can learn from people who really know. (b) You get a broad view of problems other people have, their solutions, and generally what *can* be done. (c) You can get your @ss shot off by the people mentioned in (a), when you pick up bad habits or do something stupid. Or unethical.
    Last edited by Hunter2; 07-10-2006 at 01:23 PM.
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  7. #22
    The superhaterodyne twomers's Avatar
    Join Date
    Dec 2005
    Location
    Ireland
    Posts
    2,273
    >> Or unethical.

    The ethics of programming eh?

  8. #23
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    >> I've never heard of the books you speak of.
    Those books are just a few of several great books on C++ that should be read by intermediate to advanced C++ programmers. See my post in the book recommendations for others. You can write working C++ code without reading those books, but if you can read, understand and apply the knowledge you gain from them to your programming you will be much better at what you do.

    In my personal experience, this forum is an excellent resource for becoming a master beginner. But to become very good at intermediate or advanced C++, those books are IMO a much better resource.

    If you feel like you are past the beginner stage, and you haven't read any of Meyers' or Sutter's books (or even if you have), then you should absolutely read C++ Coding Standards to get a summary of all the best practices that you rarely find mention of in beginner books or even on forums like this.

  9. #24
    pwns nooblars
    Join Date
    Oct 2005
    Location
    Portland, Or
    Posts
    1,094
    Hunter, the book I was talking about earlier is the one you mentioned Teach Yourself C++ in 24 hours, by Jesse Liberty, Third Edition. When I first started programming I didn't lean on using namespace std; I knew what was included in that because I didn't know about the statement. Which has lead me to use "using std::blah" for each one I use, so that I don't have to worry about some of the pitfalls. It also taught to use
    Code:
    int main() {return 0;)
    instead of
    Code:
    void main() {}
    Most of the basics that are said to beginers in here are explained in that book.

    Like I said before that book, plus hundreds of tutorials accross the net has taught me to program.

  10. #25
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    >>Hunter, the book I was talking about earlier is the one you mentioned Teach Yourself C++ in 24 hours, by Jesse Liberty, Third Edition.
    Actually, I was talking about 21 days, fourth edition I imagine the quality of the two books by the same author would be similar though.

    >>In my personal experience, this forum is an excellent resource for becoming a master beginner.
    Agreed; although, as with everything, how much you learn directly depends on how much you participate. In my case, CProg got me to the point where I can read docs and manuals, and figure stuff out on my own.

    If you feel like you are past the beginner stage, and you haven't read any of Meyers' or Sutter's books (or even if you have), then you should absolutely read C++ Coding Standards to get a summary of all the best practices that you rarely find mention of in beginner books or even on forums like this.
    This is a good point. While docs are great for learning to use flashy new features and third-party APIs, it seems that technique has to be taught (i.e. via a book), or learned by long and painful experience. In my case, it's been about 50-50 between the two, with most of the former coming from CProg, but for some time now I've been meaning to pick up one or two of the previously recommended books.
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. In a game Engine...
    By Shamino in forum Game Programming
    Replies: 28
    Last Post: 02-19-2006, 11:30 AM
  2. Good books for learning WIN32 API
    By Junior89 in forum Windows Programming
    Replies: 6
    Last Post: 01-05-2006, 05:38 PM
  3. Good resources for maths and electronics
    By nickname_changed in forum A Brief History of Cprogramming.com
    Replies: 8
    Last Post: 12-22-2004, 04:23 PM
  4. what is good for gaphics in dos
    By datainjector in forum Game Programming
    Replies: 2
    Last Post: 07-15-2002, 03:48 PM
  5. i need links to good windows tuts...
    By Jackmar in forum Windows Programming
    Replies: 3
    Last Post: 05-18-2002, 11:16 PM