Giant C++ resources list, 3rd edition

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mike Tyndall

    Giant C++ resources list, 3rd edition

    Sorry I'm late, everybody! I'll try to post it nearer the start of the month
    next time.

    Updates:
    -Books added:
    C++ Coding Standards (Required Reading - upcoming)
    Memory as a Programming Concept in C and C++
    Scientific and Engineering C++
    Writing Secure Code: 2nd Edition
    -"Modern C++ Design" moved to Required Reading.
    -A couple of typos fixed.
    -New "General Programming" section.
    -"Code Complete: 2nd Edition" moved to General Programming.
    -New "Standard C++ Newsgroups" section.
    -New "Compiler/OS-Specific C++ Newsgroups" section.
    -Websites added:
    1 C++ Street
    alt.comp.lang.l earn.c-c++ FAQ
    C++ Home
    C++ Programming Language Tutorials
    C/C++ Reference
    Compiler lists
    Cprogramming.co m (C & C++)
    Dev-C++
    DevCentral
    DevX
    Dictionary of Algorithms and Data Structures
    Dinkumware STL reference
    Function pointer tutorials
    FunctionX
    GCC
    List of free books
    OO Tips
    Paul Hsieh's Tech Page
    ProgrammerTutor ials.com
    Scott Meyers' website
    Stephen C. Dewhurst's website
    The C++ Programming Lair

    I might be able to reduce the website count next month, and
    possibly organize them.

    All books are available on Amazon and probably on eBay. Please reply to
    this message if you feel it could be improved in any way (removing books,
    adding books, recommending books, general suggestions, etc.).

    Remember, please feel free to criticize any part of this list or offer
    suggestions.

    **BOOKS FOR BEGINNERS**
    Accelerated C++ (Koenig & Moo - use if you know a language already)
    C++ Primer Plus: Fourth Edition (Stephen Prata)
    You Can Do It! (Francis Glassborow)

    **REQUIRED READING** - books every C++ programmer should own
    C++ Templates: The Complete Guide (Vandevoorde, Josuttis)
    Design Patterns (Erich Gamma, et al.)
    Effective C++: 2nd Edition (Scott Meyers)
    Effective STL (Scott Meyers)
    Exceptional C++ (Herb Sutter)
    Exceptional C++ Style (Herb Sutter)
    Modern C++ Design (Andrei Alexandrescu)
    More Effective C++ (Scott Meyers)
    More Exceptional C++ (Herb Sutter)
    Standard C++ IOStreams and Locales (Langer & Kreft)
    The C++ Programming Language: Special 3rd Edition (Bjarne Stroustrup)
    The C++ Standard: Incorporating Technical Corrigendum No. 1
    The C++ Standard Library: A Tutorial and Reference (Nicolai M. Josuttis)

    **OTHER C++ BOOKS**
    Algorithms in C++: Parts 1-5: Third Edition (Robert Sedgewick)
    C and C++ Code Capsules (Chuck Allison)
    C++ Gems (Stan Lippman, editor)
    C++ Pointers and Dynamic Memory Management (Michael C. Daconta)
    C++ Strategies and Tactics (Robert B. Murray)
    Efficient C++: Performance Programming Techniques (Bulka & Mayhew)
    Generic Programming and the STL (Matthew H. Austern)
    Industrial Strength C++ Rules and Recommendations (Henricson & Nyquist)
    Large Scale C++ Software Design (John Lakos)
    More C++ Gems (Robert C. Martin)
    Multi-Paradigm Design for C++ (James Coplien)
    No Bugs! Delivering Error Free Code in C and C++ (David Thielen)
    Object-Oriented Multithreading using C++ (Hughes & Hughes)
    Practical Debugging in C++ (Ford & Teorey)
    Programming Pearls: 2nd Edition (Jon Bentley)
    Reusability & Software Construction with C and C++ (Jerry D. Smith)
    Ruminations on C++ (Koenig & Moo)
    The Annotated C++ Reference Manual (Ellis & Stroustrup)
    The Design and Evolution of C++ (Bjarne Stroustrup) - might be outdated
    The Practice of Programming (Kernighan & Pike)

    **GENERAL PROGRAMMING**
    Agile Software Development (Robert Cecil Martin)
    Beyond Software Architecture (Luke Hohmann)
    Code Complete: 2nd Edition (Steve McConnell)
    Debugging (David J. Agans)
    Domain-Driven Design (Eric Evans)
    How to Break Software (James A. Whittaker)
    Lean Software Development (Poppendieck & Poppendieck)
    Refactoring: Improving the Design of Existing Code (Fowler, et al.)
    The Mythical Man-Month: 20th Anniversary Edition (Frederick P. Brooks)
    The Pragmatic Programmer (Hunt & Thomas)

    **MAGAZINES**
    C/C++ User's Journal

    **STANDARD C++ NEWSGROUPS**
    Discussions of the standard - news:comp.std.c ++
    For learning C or C++ - news:alt.comp.l ang.learn.c-c++
    General C++ - news:comp.lang. c++
    General C++ (moderated) - news:comp.lang. c++.moderated

    **COMPILER/OS-SPECIFIC C++ NEWSGROUPS**
    ==Borland==
    news:borland.pu blic.cpp.borlan dcpp
    news:borland.pu blic.cpp.ide
    news:borland.pu blic.cppbuilder .ide
    news:borland.pu blic.cppbuilder .students
    news:borland.pu blic.cppbuilder .vcl.components .using
    news:borland.pu blic.cppbuilder .vcl.components .writing

    ==Digital Mars (website link)==


    ==G++/GCC==
    news:gnu.g++.he lp
    news:gnu.gcc.he lp
    news:linux.dev. gcc

    ==Microsoft==
    news:microsoft. public.dotnet.l anguages.vc
    news:microsoft. public.vc
    news:microsoft. public.vc.debug ger
    news:microsoft. public.vc.ide_g eneral
    news:microsoft. public.vc.langu age
    news:microsoft. public.vc.mfc
    news:microsoft. public.vc.onlin e_help
    news:microsoft. public.vc.stl

    Unfrequented or "dead" newsgroups have been ignored for both newsgroup
    lists.

    **WEB RESOURCES**
    1 C++ Street - www.1cplusplusstreet.com
    About.com (C/C++/C# tutorials) - cplus.about.com
    ACCU - www.accu.org
    alt.comp.lang.l earn.c-c++ FAQ - www.comeaucomputing.com/learn/faq/
    Bjarne Stroustrup's website - www.research.att.com/~bs/homepage.html
    Boost C++ Libraries - www.boost.org
    C++ Annotations 5.2.4 - www.icce.rug.nl/documents/cplusplus/
    C++ Home - www.cpp-home.com
    C++ Programming Language Tutorials - http://www.cs.wustl.edu/~schmidt/C++/
    C/C++ Reference - www.cppreference.com
    C/C++ User's Journal - www.cuj.com
    CodeGuru - www.codeguru.com
    comp.lang.c++ FAQ - www.parashift.com/c++-faq-lite/
    Compiler lists - www.compilers.net
    cplusplus.com - www.cplusplus.com
    Cprogramming.co m (C & C++) - www.cprogramming.com
    Dev-C++ (free IDE) - www.bloodshed.net
    DevCentral - devcentral.ifte ch.com
    DevX - www.devx.com
    Dictionary of Algorithms and Data Structures - http://www.nist.gov/dads/
    Dinkumware STL reference - www.dinkumware.com/refxcpp.html
    flipCode - www.flipcode.com
    Function pointer tutorials - www.functionpointer.org
    FunctionX - www.functionx.com/cpp/
    GCC - gcc.gnu.org
    Herb Sutter's website - www.gotw.ca
    List of free books - www.tcfb.com/freetechbooks/bookcpp.html
    MSDN (Visual C++) - msdn.microsoft. com/visualc/
    Nicolai M. Josuttis' website - www.josuttis.com
    OO Tips - www.ootips.org
    Paul Hsieh's Tech Page - http://www.azillionmonkeys.com/qed/tech.shtml
    Programmers' Heaven - www.programmersheaven.com
    ProgrammerTutor ials.com - www.programmertutorials.com
    Scott Meyers' website - www.aristeia.com
    Steven C. Dewhurst's website - www.semantics.org
    The C++ Programming Lar - apurvaslair.50g .com/cpp/index.html
    The Code Project - www.codeproject.com

    **FREE ONLINE BOOKS**
    Bruce Eckel's Thinking in C++ (Volumes One and Two) are available at
    https://www.mindview.net/Books/TICPP...ngInCPP2e.html . You can also
    read them online without downloading them if you go to
    jamesthornton.c om/eckel/


  • Mike Tyndall

    #2
    Re: Giant C++ resources list, 3rd edition

    > -Books added:[color=blue]
    > C++ Coding Standards (Required Reading - upcoming)
    > Memory as a Programming Concept in C and C++
    > Scientific and Engineering C++
    > Writing Secure Code: 2nd Edition[/color]

    Dagnabbit! I never added these to the list. Here's what it would look like:

    **REQUIRED READING**
    C++ Coding Standards (Sutter & Alexandrescu)

    **OTHER C++ BOOKS**
    Memory as a Programming Concept in C and C++ (Frantisek Franek)
    Scientific and Engineering C++ (Barton & Nackman)
    Writing Secure Code: 2nd Edition (Howard & Leblanc)

    Next time I'll wait a little while before posting :)

    //mike tyndall


    Comment

    • Mike Tyndall

      #3
      Re: Giant C++ resources list, 3rd edition

      > Function pointer tutorials - www.functionpointer.org

      Yet another small fix. This should be www.function-pointer.org

      //mike tyndall


      Comment

      • Steven T. Hatton

        #4
        Re: Giant C++ resources list, 3rd edition

        Mike Tyndall wrote:
        [color=blue][color=green]
        >> Function pointer tutorials - www.functionpointer.org[/color]
        >
        > Yet another small fix. This should be www.function-pointer.org
        >
        > //mike tyndall[/color]

        Interestingly I have most of the books on your required reading list, and
        the only C++ books I have that didn't make the list are either antiquated,
        such as the C++ARM, Ira Pohl's first edition, and Horstmann's first
        edition, or quite respectable in their own right, for example Lippman's
        "Inside the C++ Object Model, or the O'Reilly "C++ Pocket Reference". The
        only two books I've read extensively thus far are TC++PL(SE), and the
        Pocket Reference.

        But I am really replying to your message to make an observation about
        function pointer, and particularly the examples presented on the link you
        provided. I've been seriously considering using a very similar approach to
        passing events that deal with propagating state changes. I plan of filling
        the array(or vector) of function pointers with functors containing the
        propagating data, as well as the means to invoke the modifier functions on
        the listener. I haven't weighed the pros and cons of this very closely, so
        it's hard to say how well it will work in practice.
        --
        "[M]y dislike for the preprocessor is well known. Cpp is essential in C
        programming, and still important in conventional C++ implementations , but
        it is a hack, and so are most of the techniques that rely on it. ...I think
        the time has come to be serious about macro-free C++ programming." - B. S.

        Comment

        • John Harrison

          #5
          Re: Giant C++ resources list, 3rd edition

          >[color=blue]
          > All books are available on Amazon and probably on eBay. Please reply to
          > this message if you feel it could be improved in any way (removing books,
          > adding books, recommending books, general suggestions, etc.).
          >
          > Remember, please feel free to criticize any part of this list or offer
          > suggestions.
          >[/color]

          In the general programming section how about adding the 'wizard book',
          Structure and Interpretation of Computer Programs by Abelson and Sussman.
          Any C++ programmer who reads this will get a feel for a style of programming
          that is completely different from normal C++ styles, which is no bad thing.

          Probably the best general programming book I have ever read.

          john


          Comment

          • Mike Tyndall

            #6
            Re: Giant C++ resources list, 3rd edition

            "John Harrison" <john_andronicu s@hotmail.com> wrote in message
            news:2pqj4fFnuq 2iU1@uni-berlin.de...[color=blue][color=green]
            > > All books are available on Amazon and probably on eBay. Please reply to
            > > this message if you feel it could be improved in any way (removing[/color][/color]
            books,[color=blue][color=green]
            > > adding books, recommending books, general suggestions, etc.).
            > >
            > > Remember, please feel free to criticize any part of this list or offer
            > > suggestions.[/color]
            >
            > In the general programming section how about adding the 'wizard book',
            > Structure and Interpretation of Computer Programs by Abelson and Sussman.
            > Any C++ programmer who reads this will get a feel for a style of[/color]
            programming[color=blue]
            > that is completely different from normal C++ styles, which is no bad[/color]
            thing.[color=blue]
            >
            > Probably the best general programming book I have ever read.[/color]

            Sounds good! I'll add it next time.

            //mike tyndall


            Comment

            • David Hilsee

              #7
              Re: Giant C++ resources list, 3rd edition

              "Steven T. Hatton" <susudata@setid ava.kushan.aa> wrote in message
              news:1q6dnbXOGu wxjqXcRVn-tA@speakeasy.ne t...
              <snip>[color=blue]
              > But I am really replying to your message to make an observation about
              > function pointer, and particularly the examples presented on the link you
              > provided. I've been seriously considering using a very similar approach[/color]
              to[color=blue]
              > passing events that deal with propagating state changes. I plan of[/color]
              filling[color=blue]
              > the array(or vector) of function pointers with functors containing the
              > propagating data, as well as the means to invoke the modifier functions on
              > the listener. I haven't weighed the pros and cons of this very closely,[/color]
              so[color=blue]
              > it's hard to say how well it will work in practice.[/color]

              Are you using something like Loki's Functor?

              --
              David Hilsee


              Comment

              • apm

                #8
                Re: Giant C++ resources list, 3rd edition

                "Mike Tyndall" <Mike_Tyndall_1 @hotmail.com> wrote in message news:<qZidnayHX 6QrBKrcRVn-qQ@comcast.com> ...[color=blue]
                > Sorry I'm late, everybody! I'll try to post it nearer the start of the month
                > next time.
                > **OTHER C++ BOOKS**
                > Industrial Strength C++ Rules and Recommendations (Henricson & Nyquist)[/color]

                FYI this book is out of print and AFAIK it is not going to be
                reprinted, despite the demand. The authors have made the book
                available as a PDF download from
                http://hem.passagen.se/erinyq/industrial.

                Regards,

                Andrew Marlow

                Comment

                • Mike Tyndall

                  #9
                  Re: Giant C++ resources list, 3rd edition

                  > > Sorry I'm late, everybody! I'll try to post it nearer the start of the
                  month[color=blue][color=green]
                  > > next time.
                  > > **OTHER C++ BOOKS**
                  > > Industrial Strength C++ Rules and Recommendations (Henricson & Nyquist)[/color]
                  >
                  > FYI this book is out of print and AFAIK it is not going to be
                  > reprinted, despite the demand. The authors have made the book
                  > available as a PDF download from
                  > http://hem.passagen.se/erinyq/industrial.[/color]

                  Thanks for the info. I'll put it with the Thinking in C++ books on the list
                  next time.

                  //mike tyndall


                  Comment

                  • Ioannis Vranos

                    #10
                    Re: Giant C++ resources list, 3rd edition

                    apm wrote:
                    [color=blue]
                    > FYI this book is out of print and AFAIK it is not going to be
                    > reprinted, despite the demand. The authors have made the book
                    > available as a PDF download from
                    > http://hem.passagen.se/erinyq/industrial.[/color]


                    Looks great, however then I checked the publishing date and it is 1997.
                    Then I wondered how much C++98 compliant could be, and searched for the
                    word iostream. And unfortunately it is iostream.h.



                    --
                    Ioannis Vranos


                    Comment

                    • Mike Tyndall

                      #11
                      Re: Giant C++ resources list, 3rd edition

                      > > FYI this book is out of print and AFAIK it is not going to be[color=blue][color=green]
                      > > reprinted, despite the demand. The authors have made the book
                      > > available as a PDF download from
                      > > http://hem.passagen.se/erinyq/industrial.[/color]
                      >
                      > Looks great, however then I checked the publishing date and it is 1997.
                      > Then I wondered how much C++98 compliant could be, and searched for the
                      > word iostream. And unfortunately it is iostream.h.[/color]

                      Obviously that's a problem, but the book's still good, right? I could just
                      note on the list that it's best not to read it until you have some
                      experience.

                      //mike tyndall


                      Comment

                      • Gregg

                        #12
                        Re: Giant C++ resources list, 3rd edition

                        "Mike Tyndall" <Mike_Tyndall_1 @hotmail.com> wrote in
                        news:19GdnXEEs7 SSvs_cRVn-vw@comcast.com:
                        [color=blue][color=green][color=darkred]
                        >> > FYI this book is out of print and AFAIK it is not going to be
                        >> > reprinted, despite the demand. The authors have made the book
                        >> > available as a PDF download from
                        >> > http://hem.passagen.se/erinyq/industrial.[/color]
                        >>
                        >> Looks great, however then I checked the publishing date and it is
                        >> 1997. Then I wondered how much C++98 compliant could be, and searched
                        >> for the word iostream. And unfortunately it is iostream.h.[/color]
                        >
                        > Obviously that's a problem, but the book's still good, right? I could
                        > just note on the list that it's best not to read it until you have
                        > some experience.
                        >
                        > //mike tyndall[/color]

                        Some of its recommendations differ from those of other well-regarded
                        books. For example, recommendation 11.2, "Remove all assertions from
                        production code". I just got finished reading in "The Pragmatic
                        Programmer", Hunt and Thomas, that I should leave assertions turned on
                        (page 123), and that they should be disabled only for performance
                        reasons. In fact, a particular usage of assertive programming called
                        design by contract is recommended by them.

                        Gregg

                        Comment

                        • Ioannis Vranos

                          #13
                          Re: Giant C++ resources list, 3rd edition

                          Gregg wrote:
                          [color=blue]
                          > Some of its recommendations differ from those of other well-regarded
                          > books. For example, recommendation 11.2, "Remove all assertions from
                          > production code". I just got finished reading in "The Pragmatic
                          > Programmer", Hunt and Thomas, that I should leave assertions turned on
                          > (page 123), and that they should be disabled only for performance
                          > reasons. In fact, a particular usage of assertive programming called
                          > design by contract is recommended by them.[/color]

                          Well in theory, in production code assert() should be disabled since it
                          doesn't provide anything to the end user other than redundant logical
                          checks not needed in production code.

                          For run-time error handling use exceptions.



                          --
                          Ioannis Vranos


                          Comment

                          • Gregg

                            #14
                            Re: Giant C++ resources list, 3rd edition

                            Ioannis Vranos <ivr@guesswh.at .grad.com> wrote in news:citcfo$1re e$1
                            @ulysses.noc.nt ua.gr:
                            [color=blue]
                            > Gregg wrote:
                            >[color=green]
                            >> Some of its recommendations differ from those of other well-regarded
                            >> books. For example, recommendation 11.2, "Remove all assertions from
                            >> production code". I just got finished reading in "The Pragmatic
                            >> Programmer", Hunt and Thomas, that I should leave assertions turned on
                            >> (page 123), and that they should be disabled only for performance
                            >> reasons. In fact, a particular usage of assertive programming called
                            >> design by contract is recommended by them.[/color]
                            >
                            > Well in theory, in production code assert() should be disabled since it
                            > doesn't provide anything to the end user other than redundant logical
                            > checks not needed in production code.[/color]

                            That assumes you are shipping bug-free code. What it provides to the end
                            user is code that does not keep running after it has entered a state in
                            which it should have stopped, thereby risking corrupting the user's data.
                            It also provides the ability to provide feedback that can help provide
                            the user with bug fixes.
                            [color=blue]
                            > For run-time error handling use exceptions.[/color]

                            Depends on what kind of run-time error, how you want to handle it, and
                            whether the system can produce a stack trace in the case of an unhandled
                            exception.

                            Also, assertions do not have to be macros. THey can be implemented as
                            exceptions. I believe Stroustrup has a template example of this in C++
                            Programming Language book.

                            Gregg

                            Comment

                            Working...