who read what c++ books and best learning practices?

Discussion in 'C++' started by puzzlecracker, May 8, 2006.

  1. It'd be interesting to compare the learning practices of c++
    practitioners. I'll start with mine

    The C++ Programming Language
    C++ Primer
    Effective C++
    More Effective C++
    Effective STL
    The C++ Standard Library : A Tutorial and Reference (most of it)
    Exceptional C++
    More Exceptional C++
    C++ strategies and tactics
    Designed Patterns
    Professional C++ (started reading, but didn't like it after first
    chapter - thus stopped)

    This summer goal:
    Large Scale design in C++
    C++ Templates
    Thinking in C++ both volumes

    Suggestions, other peoples experiences, comments?

    How's is C++ doing these days?

    I am ended being a java developer (never developed a commercial
    software in C++, only for fun).

    Cheers,

    puzzlecracker
     
    puzzlecracker, May 8, 2006
    #1
    1. Advertisements

  2. Your next book should be about usenet etiquette. Meanwhile, RTFM.

    http://www.parashift.com/c++-faq-lite/


    Jonathan
     
    Jonathan Mcdougall, May 8, 2006
    #2
    1. Advertisements

  3. puzzlecracker

    Phlip Guest

    Wha'd he do wrong? We discuss books here all the time...
     
    Phlip, May 8, 2006
    #3
  4. puzzlecracker

    Roy Smith Guest

    Not a bad reading list, but I do have a comment. Learn something else.
    No, I'm not being facetious. Learn Python, Ruby, Smalltalk, C#, D,
    whatever. Maybe not all of them, but certainly more than one. This may
    not make you a better "C++ practitioner", but it'll make you a more rounded
    programmer, as you see how similar problems can be solved in different ways.
    It's a dying language. It's been dying for the last 10 years, and I
    predict it will continue to be dying for the next 10 or 20 years. I think
    there will continue to be a market for good C++ programmers for a long
    time, but there will be an even better market for good programmers, for
    whom C++ is just one of their skills.
     
    Roy Smith, May 8, 2006
    #4
  5. What is a good compliment to C++?

    What good technologies these exploit?

    thx
     
    puzzlecracker, May 8, 2006
    #5
  6. Oh, he's done nothing wrong per se with this post. It's just that he's
    a chronic troll. Look it up, it`s actually fun.


    Jonathan
     
    Jonathan Mcdougall, May 8, 2006
    #6
  7. puzzlecracker

    Roy Smith Guest

    What is a good compliment to C++?[/QUOTE]

    Well, in my original post, I listed "Python, Ruby, Smalltalk, C#, D". I
    think any of those would be worth learning. They're all object oriented
    languages, and all have somewhat different design goals and philosophies.
    You indicated that you already know Java, so I didn't put that on the list;
    it goes without saying that any well-rounded programmer today should have
    at least some familiarity with Java.

    Of those on my list, Smalltalk and D are probably the least commercially
    important today (and C# the most). Smalltalk will give you a historical
    perspective. D will let you explore some "what if" scenarios in current
    language design.
     
    Roy Smith, May 8, 2006
    #7
  8. puzzlecracker

    Alan Johnson Guest

    I recommend the following, which have nothing to do with any particular
    language:

    1. Fundamentals of Algorithmics, by Gilles Brassard and Paul Bratley

    A good introduction to algorithmics, with a decent balance between the
    academic and the pragmatic.

    2. Algorithmic Design, by Jon Kleinberg and Eva Tardos

    This was clearly designed to be an undergraduate Algorithms text book,
    complete with problem sets.

    3. Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein

    This book, referred to commonly as just CLRS, is less of an
    introduction, and more of massive catalog of algorithms, along with
    proofs of correctness and run-time analysis.


    If you've really read (and understood) all the books on your list, then
    you've already extracted all but a marginal amount of the value
    available from studying C++, and you'd do much better to study computer
    science in general.

    If you are looking for a new language to learn, I suggest Lisp. It is
    likely you have a good grasp on procedural programming, and if you read
    and understood Design Patterns, you likely have a decent grasp on object
    oriented programming as well. Learning Lisp would complete the picture
    by teaching you functional programming (assuming you don't already have
    experience with it).
     
    Alan Johnson, May 8, 2006
    #8
  9. puzzlecracker

    Phlip Guest

    I'm completely aware of his posting history and I only fault him for being
    socially inept.

    Sure, the FAQ might possibly cover "don't post short open-ended questions
    that sound like prompts for exam essays", but I don't see how just posting
    RTFM will improve things...
     
    Phlip, May 8, 2006
    #9
  10. puzzlecracker

    Phlip Guest

    I think the industry has yet to learn if the pure STL-style of programming,
    beyond mere "C with Classes", will take off and lead to killer apps.
    C++ represents the static typing model within OO. Get with a dynamic typing
    model, such as Python, Ruby, or Smalltalk. Perl also qualifies - just as
    Java qualifieds as another static model - but they come with major issues.
    Good dynamic languages are very easy to extend and bond with existing
    systems. So for example Ruby distributions can easily bundle with GUI
    toolkits like Tk, Qt, FOX, FLTK, etc. The ability to bond modules together
    is very important.
     
    Phlip, May 8, 2006
    #10
  11. puzzlecracker

    aborovinsky Guest

    I am not aware of this, please enlighten me about me..

    Cheers,
     
    aborovinsky, May 8, 2006
    #11
  12. puzzlecracker

    Phlip Guest

    Google puzzlecracker. He keeps asking short open-ended questions in ways
    that generally don't prove he's learning. He routinely draws the "no
    homework" response.
     
    Phlip, May 8, 2006
    #12
  13. puzzlecracker

    Axter Guest

    That's a good list. My top 10 list includes some of the above books.
    Here are the top 10 programming books that I recommend to all C++
    programmers:
    Effective C++ by Scott Meyers
    More Effective C++ by Scott Meyers
    Exceptional C++ by Herb Sutter
    More Exceptional C++ by Herb Sutter
    Effective STL by Scott Meyers
    C++ Coding Standards : 101 Rules, Guidelines, and Best Practices {Herb

    Sutter, Andrei Alexandrescu}
    Programming languages - C++ STANDARD ISO/IEC 14882:1998(E)
    C++ Programming Language Special Edition, The by Bjarne Stroustrup
    Efficient C++ by Dov Bulka & David Mayhew
    Modern C++ Design by Andrei Alexandrescu
     
    Axter, May 8, 2006
    #13
  14. * Axter:
    I have a number of editions of Bjarne Stroustrup's The C++ Programming
    Language, and I have Andrei Alexandrescu's Modern C++ Design. Those are
    books I have gone back to numerous times and actually learned from.
    Although for TCPPPL not in the last five or perhaps eight years, much
    like I once had the complete Pascal syntax memorized.

    I've also benefited from Lakos (Large Scale Design), but one should keep
    in mind that that book is very dated.

    From what I've seen of the table of contents, I think most programmers
    will benefit from Andrei Alexandrescu and Herb Sutter's "C++ Coding
    Standards": it's at a level far above and much more useful than the
    placement of curly braces, and although I do not entirely agree with all
    they apparently say, the table of contents indicated a Superb Book.

    The rest, well.

    I have the electronic version of "Thinking in C++" because I have had to
    refer to its various bugs and misinformation in discussions. That said,
    it's one of the best freely available introductions for complete
    newbies. But it's very C-oriented.

    "Effective C++": I've skimmed it, and had occasion to help people
    correct the impressions they've gained from reading the book(s).
    Generally good guidelines for newbies, but one must keep in mind that
    they're guidelines and rules of thumbs, not absolute truths. Also, make
    sure you have the latest edition, because many things have been
    corrected (I know that because when I mailed Scott about something
    someone quoted from the book, he replied it had been corrected in 2001).

    "The C++ Standard Library" is probably a must for those who really want
    to conquer the standard library. Me, I think if you can do something
    with a simple and very clear for loop that's three lines, taking perhaps
    15 seconds to write, it's plain silly to use 3600 seconds browbeating
    the standard library into doing the same in one indecipherable line
    supported by a potentially reusable adapter-thing. But hey, since it's
    potentially reusable the support code doesn't count, does it? Anyway,
    as I recall (from a newsgroup discussion example) this book contains at
    least one example that's completely Unix-oriented and not noted as such.
    I suspect the book is similarly upbeat about other features of the
    standard library, neglecting to mention the less than glorious aspects.

    And so on.

    But there's one /very important/ book missing in this list.

    Namely "Scientific and Engineering C++: An Introduction with Advanced
    Techniques and Examples" by Barton and Nackman. It's old, but not
    dated. Remind me to buy it!
     
    Alf P. Steinbach, May 8, 2006
    #14
  15. are sure about this book?
     
    puzzlecracker, May 8, 2006
    #15
  16. puzzlecracker

    loufoque Guest

    Roy Smith wrote :
    Is it what people call 'a troll' ?
     
    loufoque, May 8, 2006
    #16
  17. puzzlecracker

    Phlip Guest

    No.

    Screaming "Perl sucks" on a Perl group is, because that would be closer to
    the truth. Everyone would get defensive about it.

    A good definition of a troll is "one who seeks flames". A useful opinion of
    C++'s relevance arc doesn't qualify.
     
    Phlip, May 9, 2006
    #17
  18. asking for definition of troll in C++ group IS TROLLING...
     
    puzzlecracker, May 9, 2006
    #18
  19. puzzlecracker

    Herb Sutter Guest

    Funnily enough, C++ actually is not in decline. Other languages are; for
    example, Java use peaked several years ago and has since been in minor
    decline, but C++ has stayed steady and slightly growing overall (I've seen
    various measures including job listings, books, and others).

    For example, just yesterday I saw the following:

    From http://www.eweek.com/article2/0,1895,1957139,00.asp

    “The most sought-after skills, based on job postings, continue
    to include C and C++ with postings requiring such experience
    growing 5.5 percent in April.”

    The actual report (the normal monthly 2 page report by Dice.com) can be
    found here:

    http://media.corporate-ir.net/media_files/priv/pr_130608/DiceMay06.pdf

    Total number for posting on Dice.com are:

    C/C++: 16,055
    .Net: 11,676
    Java: 11,531

    For those who dislike the character string "C/C++", please feel free to
    change the substring "/" to " and ". :)
    True.

    Herb
     
    Herb Sutter, May 10, 2006
    #19
  20. puzzlecracker

    Phlip Guest

    Uh, maybe that means more C++ programmers are quitting...

    ;-)
     
    Phlip, May 10, 2006
    #20
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.