By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,799 Members | 1,356 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,799 IT Pros & Developers. It's quick & easy.

Giant C++ resources list, 3rd edition

P: n/a
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.learn.c-c++ FAQ
C++ Home
C++ Programming Language Tutorials
C/C++ Reference
Compiler lists
Cprogramming.com (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
ProgrammerTutorials.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.lang.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.public.cpp.borlandcpp
news:borland.public.cpp.ide
news:borland.public.cppbuilder.ide
news:borland.public.cppbuilder.students
news:borland.public.cppbuilder.vcl.components.usin g
news:borland.public.cppbuilder.vcl.components.writ ing

==Digital Mars (website link)==
www.digitalmars.com/drn-bin/wwwnews?newsgroups=*

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

==Microsoft==
news:microsoft.public.dotnet.languages.vc
news:microsoft.public.vc
news:microsoft.public.vc.debugger
news:microsoft.public.vc.ide_general
news:microsoft.public.vc.language
news:microsoft.public.vc.mfc
news:microsoft.public.vc.online_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.learn.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.com (C & C++) - www.cprogramming.com
Dev-C++ (free IDE) - www.bloodshed.net
DevCentral - devcentral.iftech.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
ProgrammerTutorials.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
http://www.mindview.net/Books/TICPP/...ngInCPP2e.html . You can also
read them online without downloading them if you go to
jamesthornton.com/eckel/
Jul 22 '05 #1
Share this Question
Share on Google+
13 Replies


P: n/a
> -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


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
Jul 22 '05 #2

P: n/a
> Function pointer tutorials - www.functionpointer.org

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

//mike tyndall
Jul 22 '05 #3

P: n/a
Mike Tyndall wrote:
Function pointer tutorials - www.functionpointer.org


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

//mike tyndall


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.

Jul 22 '05 #4

P: n/a
>
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.


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
Jul 22 '05 #5

P: n/a
"John Harrison" <jo*************@hotmail.com> wrote in message
news:2p************@uni-berlin.de...
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.
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.


Sounds good! I'll add it next time.

//mike tyndall
Jul 22 '05 #6

P: n/a
"Steven T. Hatton" <su******@setidava.kushan.aa> wrote in message
news:1q********************@speakeasy.net...
<snip>
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.


Are you using something like Loki's Functor?

--
David Hilsee
Jul 22 '05 #7

P: n/a
apm
"Mike Tyndall" <Mi************@hotmail.com> wrote in message news:<qZ********************@comcast.com>...
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)


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
Jul 22 '05 #8

P: n/a
> > 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)


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.


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

//mike tyndall
Jul 22 '05 #9

P: n/a
apm wrote:
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.

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

http://www23.brinkster.com/noicys
Jul 22 '05 #10

P: n/a
> > 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.


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.


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
Jul 22 '05 #11

P: n/a
"Mike Tyndall" <Mi************@hotmail.com> wrote in
news:19********************@comcast.com:
> 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.


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.


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


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
Jul 22 '05 #12

P: n/a
Gregg wrote:
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.


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

http://www23.brinkster.com/noicys
Jul 22 '05 #13

P: n/a
Ioannis Vranos <iv*@guesswh.at.grad.com> wrote in news:citcfo$1ree$1
@ulysses.noc.ntua.gr:
Gregg wrote:
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.
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.


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.
For run-time error handling use exceptions.


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
Jul 22 '05 #14

This discussion thread is closed

Replies have been disabled for this discussion.