    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: My Trail of 10 Books for Learning C++</title>
        <link>https://members.accu.org/index.php/journals/1108</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>


        <h2>Journal Articles</h2>


<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 13, #2 - Apr 2001</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/journals/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c121/">132</a>
                    (14)
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;My Trail of 10 Books for Learning C++</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 03 April 2001 13:15:44 +01:00 or Tue, 03 April 2001 13:15:44 +01:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e20" id="d0e20"></a></h2>
</div>
<p>First of all, I want to apologize about my not so sharp English
:), as Francis often writes in his reviews ... I guess that *** is
not a native English speaker...</p>
<p>I am in my 3rd year of learning/programming in C++. I am also
teaching C++ now, in a night college but I am far from being master
of C++. The path to master C++ seems to be long and full of traps.
I became addicted to this wonderful language thanks to my
university lecturer (thanks Dr. Kimchi), during a course I took,
which introduced me to C++, but I did most of my learning by
myself, mostly by reading C++ books.</p>
<p>Yes there are many books about C++, many of them great, but many
more are evil!</p>
<p>Almost every time, while wondering through C++ news-group, that
I am subscribed to, I find question from a programmer or
non-programmer who is looking for a book, to learn C++ from. In
this paper I would like to offer my &quot;Book path&quot;, hopefully it will
help someone who would like to learn C++ from books as I did.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e30" id="d0e30"></a>A first
book</h2>
</div>
<p>The first book is almost the most difficult to choose. It can
influence your whole programming skills and habits later on. I have
tried to begin with &quot;<i class="citetitle">The C++ Programming
Language</i> [1], but to be honest I was very scared after few
pages (don't get me wrong - this is the book, it's time will
shortly come). So even though it's the definite guide for the
language, I can't recommend it as a first book.</p>
<p>If I had written this few days earlier I would recommend
<i class="citetitle">Accelerated C++</i> [3] as a first book. It's
a wonderful book, I takes a new and nice approach of learning by
real and not trivial example. As a reader you start to write
complicated code in no time, and leave the syntax and other things
for last. The samples were written in a good style and are very
clear and, yes, even fun. When I read this book I really loved it.
I have changed my C++ course, I am teaching, so it will follow this
book's trail and I must say it's a better approach.</p>
<p>But, when I tried to give it to students or programmers who have
learned only C before, to learn C++ from this book alone, they got
lost. They couldn't use it by themselves. I really can't explain
why, I thought it was very easy to follow, but it works when I
teach it and they have this book by their side, but doesn't work
when they try to learn only form it, without a teacher.</p>
<p>(It seems that I need to test a book on different people before
I can recommend it, because my previous knowledge must be deceiving
me.)</p>
<p>So I am left with the book that I learn from as a first book
&quot;<i class="citetitle">C++ Primer</i> [2], a really great C++
textbook, easy to follow and full of great exercises written in a
clear and good style, following the ANSI/ISO standard. I loved it,
and most of my students found it very good and suitable. So even
though 3 years have passed since I learnt from this book, I still
recommend <i class="citetitle">C++ Primer</i> [2] as a first book
on C++.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e55" id="d0e55"></a>What Next</h2>
</div>
<p>So you have read your first book on C++, you understood the key
features of the language, but there is so much more to learn. I
would now get a hold of the C++ bible, <i class="citetitle">The C++
Programming Language</i> [1].</p>
<p>As I have said before it's the definitive guide for C++ ,
standard C++, C++ as it meant to be used. It's not an easy book, I
understood it only after knowing a little C++ and doing some
programming exercises in C++. It is the book that lies beside my
computer, not on my shelf, beside another book, which I will
mention later. I am always amazed of how much stuff this book
contains. I always find the answers I need in its pages, although
usually it is hidden in the text and only by reading the same
paragraph 3 (or more) times do I get a hold of what I was looking
for. If you are serious about your C++ programming skills you must
have (and read :) ) this book.</p>
<p>Now, I would also recommend the reading of <i class=
"citetitle">Accelerated C++</i> [3]. after <i class="citetitle">C++
Primer</i> [2] there is no excuse for not reading this great book,
learn much more about what it means to write programs in C++, and
improve you skills and your understanding.</p>
<p>After those three books I recommend a split in the trail. It's
time to get into more details, knowing the standard library,
writing more effectively, and learning about C++ conventions,
style, idioms and patterns.</p>
<p>I would recommend learning in parallel these next two groups of
books.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e77" id="d0e77"></a>The Standard
library</h2>
</div>
<p>The standard library is your best friend when programming in
C++. You don't know how much code you can save writing, because it
was already written, more effectively, more safely, and much more
user friendly by much more skilled programmers then you (The C++
Gurus, :) I apologize but if you can write better code, then you
don't need my recommendations, right? ).</p>
<p>It's time to get deep into STL and what the standard library has
to offer. For that I will recommend a great reference book,
<i class="citetitle">The C++ Standard Library</i> [4]. It lies
beside my copy of The C++ Programming language just near my
computer, and it is my most used book even though I have had it for
only a few months. Whenever I write a program in C++ that uses the
standard library, this book is my trusted helper, giving me all the
details I need, about the library and it's facilities. It's not
only a reference book, you can learn about the standard library
through it's wonderful explanations and sample code.</p>
<p>This book's author did a really great job. (Thanks Nicolai, your
hard work saved me hours of work digging into my compiler help and
reading the STL source code).</p>
<p>If you need more detail about the STL, some background, knowing
why and how things where done, and a really handy reference about
the STL I will also recommend Generic Programming and the STL [8],
but I must warn you, you can't learn the STL from it alone with no
previous knowledge.</p>
<p>There are some other good books dealing with the standard
library, but you will need to find them by yourself, still haven't
got to them yet. A good place to start looking as always is the
ACCU books reviews section.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e93" id="d0e93"></a>Writing
Effective C++</h2>
</div>
<p>The other branch that you should take (as I said before, I
recommend that you do it in parallel) is dealing with learning from
other people's experience.</p>
<p>Believe me, there is always much to be learn from other
programmers and these next books will convinces you of that.
<i class="citetitle">Effective C++</i> [5] and <i class=
"citetitle">More Effective C++</i> [6] are two must have books.
These books teach you how to write more effective code, make you
think about things you have never thought about before, show you
tricks that you surly will want to use, and sharpen you
understanding of key features in C++ like inheritance, exceptions,
class design and much, much more.</p>
<p>You maybe consider me as a nerd :), but I really smiled with joy
(and even laugh sometimes thanks to Meyers great writing) when I
read those books, there are no boring sentences in these books and
I wish that more books like them were available. Take your time to
digest those books, all of them.</p>
<p>After that and after doing some programming in C++ there are
more interesting books I would recommend. <i class=
"citetitle">Exceptional C++</i> [7] will take you through 47
engineering puzzles, programming problems and, :) not to worry,
solutions. It's a very interesting and challenging book, that
teaches you the lesson of learning from other programmer's
experience.</p>
<p>Two more interesting books that you can enjoy reading are
<i class="citetitle">Ruminations on C++</i> [9] which was great fun
to read, while covering many C++ ideas and techniques, again with
many nice and really challenging examples. And <i class=
"citetitle">Advanced C++</i> [10] which is 'heavy' but very deep
book that will teach you about some, very important, advanced C++
techniques and idioms.</p>
<p>That is where I am now.</p>
<p>Those ten books are behind me, and by my side. I have really
learned from each and every one of them.</p>
<p>This is not the end of my trail and I don't think I could ever
say that. Two books are already on my &quot;SAVING MONEY TO BUY&quot; list
<i class="citetitle">Generative Programming</i> and <i class=
"citetitle">Modern C++ Design</i>.</p>
<p>I hope that more great books like those I have mentioned here
will be written.</p>
<p>Enjoy your reading.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e137" id="d0e137"></a>My 10
Books</h2>
</div>
<p>[ 1] <i class="citetitle">The C++ Programming Language</i> -
Bjarne Stroustrup - 3rd ed. - Addison Wesley</p>
<p>[ 2] <i class="citetitle">C++ Primer</i> - Stanley B. Lippman
&amp; Josee Lajoie,- 3rd ed Addison Wesley</p>
<p>[ 3] <i class="citetitle">Accelerated C++</i> - Andrew Koenig
&amp; Barbara E. Moo - Addison Wesley</p>
<p>[ 4] <i class="citetitle">The C++ Standard Library</i>&quot; -
Nicolai M. Josuttis - Addison Wesley</p>
<p>[ 5] <i class="citetitle">Effective C++</i> - Scott Meyers - 2nd
ed. - Addison Wesley</p>
<p>[ 6] <i class="citetitle">More Effective C++</i> - Scott Meyers
- Addison Wesley</p>
<p>[ 7] <i class="citetitle">Exceptional C++</i> - Herb Sutter -
Addison Wesley</p>
<p>[ 8] <i class="citetitle">Generic Programming and the STL</i>&quot; -
Matthew H. Austern - Addison Wesley</p>
<p>[ 9] <i class="citetitle">Ruminations on C++</i> - Andrew Koenig
&amp; Barbara E. Moo - Addison Wesley</p>
<p>[10] <i class="citetitle">Advanced C++ Idioms</i> - James O.
Coplien - Addison Wesley</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
