473,396 Members | 2,139 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

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.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
13 4800
> -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
> Function pointer tutorials - www.functionpointer.org

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

//mike tyndall
Jul 22 '05 #3
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
>
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
"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
"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
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
> > 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
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
> > 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
"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
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Anand | last post by:
A list of contributors to Python Cookbook (Second Edition) is available at the following links. Original list courtesy Alex Martelli. Since the book is not yet in print, the lists are still...
12
by: Stephen Tyndall | last post by:
I'm not sure whether this counts as off-topic, but here's a huge list of books about C++ that I've found highly recommended (kind of slanted towards game programming because that's what I'm looking...
9
by: Stephen Tyndall | last post by:
This is the updated version of the resources list posted last month. Updates: -Now application-neutral. The old list had video game-related programming books. -Required reading section added....
0
by: Mike Tyndall | last post by:
Whoops, way late this time. Sorry again, things have been hectic. Updates: -Books added to the "Other C++ books" section: Inside the C++ Object Model -Books added to the "General programming"...
1
by: Sam Smith | last post by:
Dear All I would be really grateful if someone would help me. I have scoured the docs and the web for this I am writing a VC++ application, using .NET and Windows Forms. I am using Visual C++...
0
by: Mythran | last post by:
I wrote some code that is supposed to enumerate through the specified file's win32 resources and return a string-array of all icon names. When it runs, it returns a string-array with a bunch of...
35
by: Thierry Loiseau | last post by:
Hello all, and Happy end year 2005 ! Well, I would like to obtain a list of all JavaScript var statement, With "for...in" perharps ? That is bellow my recent test here, but the problem is...
4
by: Mark | last post by:
Hi I notice that in some cases, to get an icon, an object (for example a list view) uses an image list, in others (e.g. a form) the image is selected from the project resources, i.e. a file. ...
0
by: shamirza | last post by:
· When was .NET announced? Bill Gates delivered a keynote at Forum 2000, held June 22, 2000, outlining the .NET 'vision'. The July 2000 PDC had a number of sessions on .NET technology, and...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.