[nSLUG] C++ beginner references

George N. White III gnw3 at acm.org
Sat Oct 18 11:25:10 ADT 2003

On Fri, 17 Oct 2003, Vikram wrote:

> Hello Everyone
> I want to learn some programming and would like to start with C++.  And I
> thought I could benefit from your wisdom.  I would appreciate any pointers
> on reference texts / books for beginners.  Thanks a lot.
> Vikram
> P.S. I dont have any programing experience whatsoever.

C++ is a very complicated language, so it is not recommended as a first
language unless your goal is limited to simple hacking of C++ code written
by others.  In particular, the STL was designed by mathematicians and
really needs the appropriate grounding to use properly.  If your goal is
to be able to develop C++ programs from scratch you would do better to
start with one of the bast introductory courses: MIT Electrical
Engineering and Computer Science 6.001 "Structure and Interpretation of
Computer Programs" ( MIT has put their entire curriculum online at:
<http://ocw.mit.edu/index.html>) to learn basic programming concepts in a
simpler environment, then study C++.  Most good C++ texts assume a fairly
sophisticated understanding of programming concepts.  The "C++ for
beginners" books I've seen were garbage.  From the MIT site:

"6.001 is the first course in the core of departmental subjects which is
required for all undergraduates in Electrical Engineering and Computer
Science. It offers an online version of the textbook for the course,
Structure and Interpretation of Computer Programs, 2nd ed., by Abelson,
Sussman and Sussman. This course has virtually all of its course materials
online, including projects and supporting documentation."

If your maths background is weak you may find this course will require
upgrading maths.  Often the difference between students who struggle with
a course and those who enjoy it is the level of preparation.  To learn
programming you need a certain level of maths (functions, induction,
recursion, vectors, sequences, etc.), then programming concepts, and
finally the details of a particular language and associated libraries.
Too many people try to shortcut the process by going directly to the
last step.  Obviously Microsoft thinks this is good enough, but I sure
hope those people keep their fingers away from linux.

In addition to the above mentioned book, the 2 books most serious C++
programmers own are:

M.H. Austern. 1999. Generic Programming and the STL. Addison-Wesley
  (so useful that I have one copy at work and a second at home)
B. Stroustrup.  1997. The C++ Programming Language 3rd Ed. Addison-Wesley

George N. White III  <gnw3 at acm.org>

More information about the nSLUG mailing list