Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition) Reviews



Amazon.com Customer Reviews

A must have ... - Review written on June 11, 2007
* * * * *
Rating: 5 out of 5

this is a must have for all people that need to learn c++
even if you are novice or experience developer this is a book that you will always open and consult.
An all-around great C++ book - Review written on March 04, 2007
* * * * *
Rating: 5 out of 5

This book was a pleasure to read. It does a very good job of teaching you the C++ syntax in the context of the C++ paradigm; a great improvement over many similar introductory books that seem to focus upon teaching you syntax only. By the time you get through with this book, you will have a good idea why things in C++ work in the way that they do, and such knowledge helps you considerably when you actually start writing useful code.

Overall, this is one of my favorite programming books, and it's highly recommended.
Start learning C++ here - Review written on February 20, 2007
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

If you're looking to learn C++ as your first language, or your first OO language, good luck to you! I tried learning C++ after FORTRAN77, and in retrospect, that was a big mistake. Go and learn another object oriented language first, Python or Java or Ruby (maybe even OO Perl). You probably also want to learn a tiny bit of C, just to get used to pointers and memory management.

Done all that? Good. I will be assuming in this review that you already know how to program reasonably and you're not trying to cram C, C++ and OO into your head at once. So, you just want to learn C++. If that's the case, this is the perfect book to start with.

The book assumes that you're coming to C++ from C, and builds up from C++ as C with a stricter compiler, then onto C++ as 'object-based' language - objects as structs with functions and encapsulating initialization and memory allocation with constructors and destructors. Finally, object orientation (i.e. inheritance and polymorphism) is introduced. Rounding things off is a brief chapter on templates and iterators, but it's only a sneak preview, really.

Only the core of C++ is covered: the standard libraries and other topics (like exceptions) are deferred until volume 2. This leaves volume one as a lean and mean exposition of the core of the language. This is quite an achievement, especially as it manages to be both comprehensive and readable. The somewhat begrudgingly object oriented flavour of C++ is also on display in this book, particularly when compared to Thinking In Java from the same author: there are interesting explanations of what the compiler is getting up to behind the scenes, which should presumably assuage the fears of the more paranoid C programmer. There are copious code examples, although the expected output is not given, which would have been helpful. The introduction to the make utility will also be very welcome to many (including me).

This is not quite as good as Thinking in Java, perhaps because of its C-centric opening section, which may require you to familiarise yourself with the differences between C99 and C++ simultaneously (this is particularly apparent in the discussion of the static and const keywords).

But it's still a great introduction to C++, and it doesn't waste time with the basics of variables, loops and conditionals. Between this, the second volume, and Koenig and Moo's Accelerated C++, you have all you need to graduate onto the intermediate C++ books, like the Exceptional C++ and Effective C++ series.
very pleasant reading - Review written on February 12, 2007
* * * *
Rating: 4 out of 5
2 customers found this review helpful.

This is a book that covers c++ almost from scratch. I've had no other programming experience than some php and a tiny bit of C before I read this book. It is a real nice introduction both to the language c++, but most important, it is an introduction to the mindset of object oriented programming, it has some real good chapters in the beginning detailing different processes to begin and plan a project in an object oriented fashion.
Rare Good Programming Book - Review written on August 22, 2006
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

This is one of the rare books, one of the few that I would actually recommend to anyone that is moving into C++ or needs a refresher on the ideas and methods behind programming in C++. You just can't go wrong buying this book.
Teaching C++ using a strategy that works - Review written on July 10, 2006
* * * * *
Rating: 5 out of 5
8 customers found this review helpful.

The title of the book is an apt description of the approach taken by Eckel as he steps through the basic features of C++ and object-oriented programming. Rather than show how programs are written in C++, he presents the sequence of ideas that led to the structures and some of the ways they are implemented. This approach is very similar to the one I adopted after my first few years of teaching C++.
For example, when I started teaching C++, my presentation of function overloading was simply an explanation of the different signatures based on the arguments to the function(s). However, it was not until I included some information on name mangling that the students really began understanding it. Another point that makes the features of C++ much more understandable is showing the students how the implicit passing of the this pointer is done when a member method is called.
In this area, Eckel shines as he describes much of the behind the scenes activity of the compiler and linker that makes it all work. The descriptions are complete and yet not overdone. I have been teaching C++ for over ten years and yet there were a few points that were presented in such a way that caused me to change my view of the language. Unless you are one of the top experts in the language, reading this book will teach you something new.
The group that will benefit most from the book are those who are migrating from C to C++. Eckel spends a great deal of time in pointing out the differences between C and C++, using descriptions and short code examples to demonstrate how things are done in both languages. Even if you are coding in C and have no plans to migrate to C++ just yet, the book will be of assistance. As I recently told one of my classes, C as a distinct language is rapidly being phased out. Even those who are now programming in C are probably compiling their code as C++ files to take advantage of the additional error checking. Eckel demonstrates the major advantages of compiling C using a C++ compiler and all C programmers should know these benefits.
Another group that will find this book of value is one that has come about only in the past few years. Java has recently become the language used in the computer science programs of colleges and universities. The first graduates with Java as the language of their full four years have started entering the job market. Therefore, there is a growing group of people who will be forced to make the migration from Java to C++. This is a much harder transition to make than from C++ to Java and this book is an ideal tool to smooth the process.
Eckel makes a major point about programming that is often lost in the rush to learn how to write code. Programs are thoughts represented in a specialized language. Before you can write well in a language, you need to be able to think well in that language. It is the kind of thinking he emphasizes and he is to be commended for doing so. This is a pedagogical strategy that works.

Published in Mathematics and Computer Education, reprinted with permission.
Thorough and complete - Review written on February 22, 2006
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

This is the best C++ book that I own. There are some concepts in C++ I never fully understood until I read this book. The author covers important details regarding the compiler. He also uses an effective technique to decribe complex C++ concepts by solving a problem in both C and C++. Understanding C++ at this level will help readers troubleshoot/understand their problems more effectively.
Good book but leaves a little to be desired - Review written on January 11, 2006
* * *
Rating: 3 out of 5
3 customers found this review helpful, 8 did not.

I'm currently a graduate student studying physics. I bought this book because I read "Thinking in Java" by the same author (better book, I highly recomend it), and because I changed labs and now need C++ instead of Java. This book reads similarly to the Thinking in Java book however it lacks the simple, well thought out simplicity of the java book. I've found that this one is not quite as good as a reference, additionally I was extremely disappointed to find that he had 2 volumes for C++ rather than the single Java volume which covered everything. Overall, I do like Eckel's writing style, and for the most part the examples are fairly helpful. There is a definite assumption that you have a fairly mediocre background in C and computer science (Eckel does make this abundantly clear in the introduction). I would recomend this book to other people, however I would not recomend it as a first introduction to C or C++. If you've got experience in another language, this book should be fine for you.
Trashiest C++ book ever - Review written on November 05, 2005
*
Rating: 1 out of 5
2 customers found this review helpful, 46 did not.

It's bad for learning, bad as reference, and not even close to addressing real C++ issues. "Author": If you put Templates as the last chaper to just mumble through it, stick to Visual Basic. Don't waste the reader's time.
Review of Thinking in C++ Vol 1 - Review written on August 24, 2005
* * * *
Rating: 4 out of 5
4 customers found this review helpful, 1 did not.

Intially I liked the book very much, it seemed to have a fresh approach and style, was easy to read, and seemed trustworthy as far as the content was concerned.
Upon getting farther into the book I still find it solid, but at times it becomes ponderous in the reading, and the examples leave something to be desired. The material also at times breezed over, when a more indepth understanding might have been in order. I find the organization of the material a bit difficult at times as well. Subjects sometimes are introduced with out first giving a througough understanding of the subject matter, and I dont get a good feel for a consistent building of skills and knowledge. All in all I find this a good book, but I believe it could be better.
Thinking in C++ - a great book - Review written on March 10, 2005
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

One of my professors wrote a book named "Software development in C++", but I couldnt figure out anything from this book, so I went to the library and found your book (it's the original in English) Thinking in C++, and I must say, it's such a great book, that helped me so much to understand all the things about C++ I need and still will need in order to graduate here, but I'm sure that your book and all the great explanations inside made it a lot more easier!
My C++ Learning Experience - Review written on February 26, 2005
* * * * *
Rating: 5 out of 5
59 customers found this review helpful.

Since I'm reviewing both "Accelerated C++" as well as "Thinking in C++", I thought I'd post the review on both book links.

There have already been excellent reviews of this book, but I would think the main reason people purchase these books is because they have an explicit purpose, which is to learn Standard C++. That being said, C++ is one of the most powerful and multi-faceted languages around, and no other language provides both high level abstractions and low level control in one programming language as C++.

Because of these features, it is often opinied that C++ is too complicated, large and takes too long to master. While there are some merits to this criticism, many important real world systems are being bult with C++ and professional developers need to master the fundamentals of C++ now. With that in mind, and after spending (or wasting) much money on various books proclaiming to teach C++ from the ground up, it was not until reading Konig and Moo's "Accelerated C++" and Eckel's "Thinking in C++" and in that order, that I finally "got it".

Why I emphasize "in that order" in the last paragraph, is due to the methodologies used to teach C++ by ACPP and TICPP, and due to this, its best to read ACPP first, then TICPP for the most effective learning. Here's my reasons:

ACPP teaches C++ in a top down fashion. What I mean by this, is that the higher level Standard Libraries are integrated right from the start to teach programming contructs such as looping, selection and decisions making using library facilities such as , , and . The Standard is utilized from chapter zero, and relieves much of the burden of C strings and all the low level details one would have to know to use them properly. This can be especially burdensome to the beginner.

As important as the container classes are to the Standard library, are the algorithms used with them. ACPP ulitizes these as well, and from chapters 0 to 7, the student is taught to use the common algorthms such as sort(), copy(), find() and accumulate(). By teaching these features right from the beginning, the reader is able to write some non-trivial programs without having to wade through the typical and troublesome C features typically taught in other books. Thus, by the time the Reader reaches the second half of the book (chapters 8-16), s/he is ready to understand how to build their own user defined types, and other important topics such as pointers, memory management, classes, as well as object oriented and generic programming.

In contrast, TICPP teaches C++ from a more traditional bottom up approach. Throughout the book, the assumption is that the Reader is comming to C++ from a C background. For example, throughout the book starting from chapter 4, Eckel demonstrates a Stash and Stack application, developed first as a "better C", then throughout the book adds features to them such as grouping data structures with the functions that act on them in the form of classes. The concepts of constructors and destructors, function overloading and default arguments, using const and static effectively, inlining, namespaces, references, copy constructors, operator overloading, using new and delete for dynamic objects, etc. are all covered.

In my opinion, the last two chapters where virtual functions, abstract classes, and an introduction to templates and iterators are covered, is where the book really shines, as these chapters allow the book to finally culminate the benefits of true object oriented programming and give a solid introduction to generic programming in the form of templates and iterators. By this point, the Stash and Stack examples are utilizing pure virtual functions and iterating through containers in an STL-like fashion that is similar to the ones in the Standard Library.

The current trend in C++ is to favor the abstractions provided by the Standard Libraries when developing professional software, and ACPP exemplifies this attitude throughout the book. The lower level C-like aspects of C++ can and have caused much trouble in the form of memory leaks, buffer overruns, etc. Nevertheless, certain class of applications require the ability to get close to the metal, and C++ allows this ability without restrictions when necessary. Also, there are many (and some could argue that most C++ based systems out there still adhere to this) legacy systems where C++ is still being used as a "better C". TICPP is the book that will teach one how to make these programs more type safe, as well as migrating it to take advantage of more modern C++ idioms. And in Volume 2 of TICPP which just came out, Eckel and Allison cover the Standard Library in depth, as well as other professional methodologies such as RTTI, Multiple Inheritence, Design Patterns and Concurrent programming.

But by careful and methodical study of both books, and as is recommended by me, reading ACPP first then TICPP, one will learn C++ from the highest layer to the lower, then from the lower back up the higher and obtain a through knowledge of the basics of C++. One can then effectively study the more advanced books, such as by Meyers, Sutter, Stroupstrup, etc. and have the confidence to tackle professional C++ projects.

Postscript - Though I advocate the above learning method for C++, I would like to add that the above two books presume a certain programming maturity, though one does not need to be a guru. A person with the experience typical of first year CS1 (and CS2) in a language like Java or Python (in fact, for a complete novice, I would recommend learning Python first) would be most suited to following the above presciption. Also recommened is to study a book about data stuctures and algorithms, which will provide the Reader with a solid understanding of the mechanisims that underly the STL (meaning the Standard Template Library which encompass the Containers, Iterators and Algorithms of the Standard C++ Library which was originally part of SGI's implementation).

-Don Kim
Best book for C++ learning - Review written on January 04, 2005
* * * * *
Rating: 5 out of 5
4 customers found this review helpful.

Eckel's books are the best ones to learn a new programming language.

Having used lots of programming books in Spanish and English (including Charte's and Schildt's) to learn many languages, books by Eckel are the best ones.

- Eckel's explanations are very good and to the point.
- Examples don't mess with lots of collateral stuff, but rather focus in the thing he is explaining.
- Exercises are useful, rather than a simple do-it-again-changing-variable-names (and you can buy the solutions from the author's web site, http://www.bruceeckel.com).

If you want to learn C++, do not bother looking for another book, even if Thinking in C++ seems expensive to you. These books are a very good investment.
This is the best book to learn C++ from - Review written on December 10, 2004
* * * * *
Rating: 5 out of 5
4 customers found this review helpful.

This book is the first book that I will recommend to people who want to go from a procedural language like C to object oriented language C++.
Lets face it, the biggest difference between C and C++ is in the objects. How to use objects the way they where designed can be a difficult thing to grasp. Quite a few developers say they develop in C++, when in fact they still develop in C using a C++ compiler.
This book makes the transition to using objects easier than other book I have read. It describes the use of objects from the very simple start to the slightly more complex, and it will give a lot of readers the OHHH and AHA experience, when the power of the objects become apparent.
It is an entry-level book that is perfect for self-study. I find it a much better book than the "dummies" and 21-day books.
His second book explains Templates, patterns and the Standard Template Library, and together they are close to a must for anyone who really wants to learn the correct way to develop in C++.
For a more detailed description of the two books I recommend a visit to his web site "http://mindview.net" before buying these two excellent books.
Learn C++ from a black belt - Review written on November 28, 2004
* * * *
Rating: 4 out of 5
5 customers found this review helpful.

And you thought giving away a book for free on the net was stupid?
Bruce Eckel took the courageous step of making his C++ book available on-line, but this book is so good that he still made a fortune out of it. How? First of all from the visibility it got and secondly because there are people (like me) who wouldn't trade the pleasure of holding a good book in their hands with simply staring at a screen. So, go to Bruce Eckel's site (just make a search for his name, you cannot miss it) download the book and code and decide for yourself if you are happy with the e-edition or want to buy the paper one. Either way do read it!
You will get a through expositions of C++ syntax and inner workings, with explanations of why things are the the way they are. I especially liked the discussion of how virtual functions are implemented which isn't really essential to use the language but it does give more depth to your understanding and mastery of the language. If you need an even gentler introduction I would advise to buy either the 97 edition of Herb Schildt (another C++ master) "Teach yourself C++" which you can get used for about $ 1 on amazon or Ivor Horton (the clearest and most patient teacher I have ever read from) "Beginning C++" which will give you and exhaustive tutorial even on the "c part".
A couple warnings:
1) You should have at least a basic knowledge of C before reading this book.
2) This is a book on the core part of language, not on a particular compiler or platform. So you won't find info on Borland C++ or visual C++ .NET
The only issues I have with this book are:
1) The typesetting on the book is the same you have on the html edition (quite crappy) and for book that costs more than 30 bucks this is unacceptable.
2) Solutions to selected exercises are available but "for a small fee". Come on Bruce!
excellent++ - Review written on October 09, 2004
* * * * *
Rating: 5 out of 5
3 customers found this review helpful.

i) Talks about the inside stuff. It tells you why a particular feature is there, where and why it must be used, how the language feature is processed by compiler and of course where and why it must NOT be used (or abused). Inline functions is one of the many examples.
ii) Well organized especially in terms of the grouping of topics into chapters e.g. Polymorphism and Virtual functions go in one chapter, References and Copy constructor go in another. This helps in finding the difficult and related items in one place.
iii)Provides an easy reading for language features I found most difficult to understand.
iv) Includes an annotated list of references for further reading.
Thank you for your attention to focus, quality, and insight. - Review written on October 07, 2004
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

Whew!!

What a relief, a writing style that communicates to the many facets of the day in the life of a real programmer. Your words have been a giant breath of fresh air, and I appreciate your approach to all of your topics.

You have consistently crafted tools that act as beacons of light in the vast array of literary babble surrounding object oriented analysis and design (OOAD).

As you know there are multiple dimensions that contribute to good software design, and the design goals of any language is to aide in as many of these multiple dimensions as possible.

Many authors have attempted to write books to speak to the multiple dimensions, but your pioneering approach to a more holistic perspective is both refreshing and fills a deep void in the software engineering community. I appreciate your balance between language semantics, usage patterns, levels of abstraction, and your early attention to the methods movement, such as extreme programming.

I place your books on my bookshelf right next to
1. The C++ Programming Language, Bjarne Stroustrup
2. C++ Primer, Stanley Lippman and Josee Lajoie
3. Effective C++, Scott Meyers

I frequently use your books to speak to the psychology of subscribing to the OOAD approach and have found that your approach is more pragmatic than most. This translates into holding a new programmer's interest long enough to ensure that we will follow similar design philosophies earlier in the life cycle of a project.

Thank you for your attention to focus, quality, and insight.

GET IT NOW!!! - Review written on July 16, 2004
* * * * *
Rating: 5 out of 5

I have been wanting to learn C++ for about 8 years now, but have never found any really spectacular books for getting me to where I need to be, starting from the ground up and introducing concepts in small coherent chunks. So, I just stuck with the languages I knew, and kept putting c++ to the side. Oh, and making the excuse that "java can do everything I need", not true as I'm am delving into the dsp world. Thanks to this book, I'm further than I have ever been before in understanding C++!!! The book along with the supplemental answer guide (for a small fee from bruce eckel's site www.mindview.net) have proven invaluable! Making C++ easy to understand is no easy task! It is obvious to me that bruce not only has a profound understanding of programming in multiple languages, but also a great teaching ability. It is rare to find someone who has both of these traits. This book isn't specifically geared towards java programmers by any means, but this book combined with my java experience has made learning c++ painless, not to mention interesting and enjoyable. I know there are other great c++ books out there, but if you are transitioning to c++ from another language or are a programming newbie, I would say this is the book to get. It would also make great reference. GET IT!!!
Excellent book! - Review written on May 19, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

As far as I know, this is the best book available on this subject at this time. It's been the best read I've had in quite a while (that includes fiction). It's very well written, introducing new concepts to the reader in a very smooth and natural way. If you've ever wondered why 'C++ is the next logical step', then you should read this book.

I have also read 'C++ inside & out' and 'Thinking in Java' from Bruce Eckel, and I must say his educational and writing skills are getting even better and better. He clearly knows what he is talking about, and, more importantly, he also knows *how* to talk about it - not always a given. My C++ was getting a bit rusty, but TICPP has got me back on the C++-track in no time, and after reading it I feel ready to take on the world - well, almost..

In short: buy this book and read it.
Then go on and show it off to your friends..

Not what I expected - Review written on May 12, 2004
* *
Rating: 2 out of 5
1 customer found this review helpful, 8 did not.

This book is for those that have an understand of the C language as stated in the preface "I decided to assume that someone else had taught you C and the you have at least a reading level of comfort with it". I would recommend Sam's Teach Yourself C++ over this book if you are like me and looking to jump into C++ and have no programming experience.
Awesome Book - Review written on April 18, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

I am about to graduate from college, and although I got an A in my C++ class, which was way back in the first year, I really didn't learn the language. Recently another student came to me, she had flunked several classes and is retaking C and C++. The college is still using Deitel, and the professors still refuse to teach, so she knew there was no way she was going to pass these classes and graduate. I have been looking for a book to help me learn C++ on my own: Dummies helped, but..., then I found Thinking In C++; AWESOME. I got it today and I am already in chapter three. Bruce Eckel starts off explaining how to go about planning the creation of the application: Use Case, UML, etc... Other courses that I got A's in, but didn't really understand (I am good at memorizing things). But now, thanks to Bruce Eckel, I truly believe I am making progress, and I know I will be able to help my friend pass her classes and graduate on time. If the rest of the book, and Volume Two are as good as the first three chapters, I will get his book on Java.
Defies the First Law of Technical Documentation - Review written on April 08, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

The First Law of Technical Documentation states that:
"The more complicated the subject, the less will be written about it, and the more likely there will be errors in what is written".

This explains why typical programming books will have fifteen pages on If statements, but only a paragraph that says that "Interrupts can be serviced".

Bruce does a masterful job of building the readers up so they are able to gradually yet thoroughly assimilate the subject matter. Thanks to years of putting on seminars and taking comments from readers, he teaches in useful and productive increments without overwhelming the readers. His examples are well thought out and useful. He actually responds to questions and comments. Please don't spam him, he seems like a genuinely nice guy! I look forward to taking one of his seminars in person.

Fabulous Book for learning C++ - Review written on April 07, 2004
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

When I first picked this book up, I did not know
anything about C++ or object-oriented programming.
Now that I have finished the book and used C++
in my projects at work, It almost seems like
I always must have known C++.

This book is terrific. When reading the book,
you can tell that Eckel was an experienced and
effective C++ teacher before he wrote this book.
He knows where students get confused and does a
great job at explaining those points clearly.

After you learn C++ using this book and you want
to express yourself fully, I recommend
"Thinking in C++, Volumn 2".
Just like "Thinking in Java" - Review written on March 25, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

Quite some time ago I have learned Java from "Thinking in Java"
what I have enjoyed a lot.

Recently I have decided to learn some C and C++ and so I have started to read "Thinking in C++". I'm quite amazed how programming in general becomes clearer to me while I'm learning both C and C++. It even helps me to improve my understanding of Java.

Just like "Thinking in Java" this book is very easy to read and entertaining.

Excellent C++ and general programming introduction - Review written on March 23, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

Easily one of the best introductory C++ books I have read. Read slowly the book provides not only a good introduction to the syntax of the language, and in some ways the applications written with it, but also the thought process which should go into the use of the language, the actual skills of programming applications. That being said the book puts understanding the syntax first and is written and edited in such a way as to be educational.

I recommend the book to those looking to understand the fundamental of C++ and the core set of system libraries. For those unfamiliar with C++ you should understand that unlike VB, C# and Java the platform specifically libraries are held at arms distance in C++. So you won't find any information in here about the Microsoft Foundation Classes or any other platform specific libraries. You will need to get another book to get into those. This is not a fault with the book or the language, you just need to make sure you get both a book on C++ (probably this one) and a book on your specific platform.

Excellent book. - Review written on March 16, 2004
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

Not especially a book for beginners, but a joy to read for anyone that has at least some knowledge of C++. Much like many of Bruce Eckel's books, Thinking in C++ makes the learning experience both interesting and enjoyable.
An excellent book, but only in the right circumstances. - Review written on March 11, 2004
* * * * *
Rating: 5 out of 5
6 customers found this review helpful.

Personally, I found this to be the best C++ book for me, as I am a self-taught and language-independent programmer. When I found this book, I was amazed at how simple C++ could be. When I had first learned C++, it was taught to me in a way that prevented me from understanding the advanced concepts, which are quite beyond the skills of the advanced programmer. I recommend this book very highly, but be very careful of your reasons for buying this book.

1. This is NOT a book that should be used as a teaching tool in a class - it is self-paced.
2. This is NOT a book that should be used by the beginning programmer - only people with some programming experience should purchase this book
3. This book is NOT for the expert for use as a reference, as it is instructional in nature.

Some people have strange ideas about what the author intends his work to be used for, which are contrary to what the author himself explains in the preface. Be sure to read the preface online at the author's website (http://mindview.net) before purchasing this book.

A great starting point. - Review written on January 01, 2004
* * * * *
Rating: 5 out of 5
7 customers found this review helpful.

I have been struggling to enter the programming world of C++ for a while now. It's been a difficult task, partly because of the daunting aspects of learning something as large as a new language, but mostly because the literature available has proven difficult to attract my attention. Most publications I have read, either skipped the point and forced exercises upon the reader(Teach yourself in blah blah days) or flooded the reader with too many details at once, overlooking the reasoning behind the language. I enjoy teaching myself new things and developing my own syllabus is sometimes difficult.
I recently came accross "Thinking in C++" in a forum and I have got to tell you, it reached me. The author writes about the language the way I want to learn it, and I feel like new doors are opening. Bruce is the first writer I have come accross that could sum up pointers in less than 5 pages let alone 5 paragraphs. Perhaps a programmer who writes a book tends to write it just like a program, and in a lot of cases it wasn't planned thoroughly but rather piecemealed. That makes it extremely difficult to follow. This book is crystal clear.
This book is amazing. - Review written on December 15, 2003
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

As a professional computer programmer, I absolutely endorse this book! I purchased my first copy in 1995 and used it to teach myself C++ while attending programming and computer science courses at University. This book introduces the concepts of the C++ language with pratical examples which are well thought out and obviously the result of many years of experimentation (Bruce apparently holds great seminars as well). Since then I have recommended it to other professionals, co-workers and some computer science majors I was mentoring last week.
Anyway - if you need a book on C++ that is both easy to read AND a fantastic reference for years to come - this is the ONLY book on C++ I recommend (and in my years of reading programming books- this one is a winner).
Highly Recommended - Review written on November 26, 2003
* * * * *
Rating: 5 out of 5
7 customers found this review helpful.

This book is highly recommended.

I am an experienced programmer but my C++ was not current.
I found this book very practical, thorough and compact. I
was able to get fully current with the language in 3 days,
and I now look forward to a similar timescale for the STL
in Volume 2.

Of course a certain amount of words are necessary to explain
the reasoning and concepts, but words take time to read.
Bruce has managed to keep the words to a minimum. He
doesn't baby-talk you through it, but he gives you the right
information at the right time. This makes it easier to
understand than the verbose and boring
you-must-be-slow-witted-or-you-wouldn't-need-this-book
approach which is so prevalent in programming literature.

This is such a relief, because usually books are hard to get
through because of the time it takes to read through the
rubbish to find the information, and also because the
patronising attitude is hard to swallow, and _boring_.
You get none of either in Bruce's book.

This doesn't make the book harder for beginners either.
Every concept and language necessity is clearly and _fully_
explained. Only without the distracting verbage it is _much_
easier to understand for beginners _and_ experienced alike.
When are the other authors going to get this? We're not
stupid, we just want the information!

C++ isn't that hard, but there is a fair amount of detail
required to operate it. Bruce runs you through that detail,
in particular bringing up the internal language requirements
that are relevant. For instance, almost everyone knows that
the compiler will synthesize the default and copy
constructor and destructor functions for you, but the
assignment operator overloader is also synthesized. This is
actually _crucial_ information for proper programming.
Other books will either ignore it or put it in a more
advanced section! You _need_ to know this stuff and Bruce
tells you about it _when_ you need it.

Despite _all_ its other advantages, it is this point that
makes this book stand out from the crowd. Bruce approaches
from a very practical real world stand point. He knows what
it takes to make a program work, and work safely, and he
communicates that information by the shortest possible
route. His humility and competence make this book shine.
Most books will not stand alone as a teaching aid without
some personal support such as a seminar or other
face-to-face tuition. I believe this one will. Thinking in
C++ Vol. 1 answers all the questions (like 'why doesn't this
work?') before you ask them.

Learning (or revising) C++ is _not_ about how many pages the
book has, how many programming examples they have on CD,
whether they provide their own little IDE or a copy of the
GNU C++ compiler on CD, etc. C++ is about C++ and this book
is it. My apologies to the other authors, I'm sure you tried
your best, but don't waste your time with them, get this
one.

2003/11/22

Great Book! - Review written on October 11, 2003
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

I just read the chapter related to the "Virtual Function" and found that it is the first book in the world which gives you clear explanation on how it works. I read a lot of C++ books and some of them tell you C++ compilers build vtb for you but never explain how. The assembly code in this chapter provides an answer for it.
Great book!
Good content, haphazard presentation - Review written on August 27, 2003
* * *
Rating: 3 out of 5
2 customers found this review helpful, 2 did not.

The content of this book is definately top notch, however presentation of this material isn't ideal for a computer novice. Not to say its unreadable, but it leaves some gaps. Additionally the premise that a reader should program C before tackling C++ [while being one that most colleges believe in..ahem..more classes = more $$$] it is not one that I believe in. Sec
Better than most other C++ books - Review written on July 18, 2003
* * * *
Rating: 4 out of 5
2 customers found this review helpful.

This book is an excellent guide to C++ for those with a good knowledge to C. Even though the author tries to convince you that knowledge of C isn't necessary for following the book, i think it will be great help if you could first get some idea of C before you read this one.
The way the author introduces the various features of C++ is great. For example, the way he introduces classes from structures is commendable. I havent seen any other book that has done a similar treatment.
The book is mostly practical advice on C++ programming. As and when new features are introduced, common pitfalls of using the feature are discussed. Also some good guidelines are provided as to how to use the feature.
Overall, a good book! You wont repent spending your hard earned bucks on this one!
This book was key in helping me land a job - Review written on July 18, 2003
* * * * *
Rating: 5 out of 5
6 customers found this review helpful.

I was a professional musician for about 8 years. With few job prospects available in that field, I was looking for a career change. I went through being a project manager for a while, but was laid off from a dot com (who hasn't ;-) ). The tech economy was still pretty good at that point so I decided to give programming a try. Didn't have much income at that point, but I found the free Borland command line compiler for download and "Thinking in C++". I also pulled down the JDK and picked up "Thinking in Java." I spent 8-10 hours a day for 3 months studying. Learning Java helped my understanding of C++, and vice versa.

The level of understanding that I was able to achieve from Mr. Eckel's excellent books helped me to land a job as a C++ programmer , which I've been at for 2 1/2 years now.

One important feature of "Thinking in C++" that has helped me in my job, is how he takes you through C to C++. When I first started, I was doing maintenance and bug fixes on C++ code that had a very strong C flavor. Without the coverage of C, and those concepts, I would not have been as effective in my duties.

I still refer to this book on a regular basis.

Want to really learn C++? - Review written on March 08, 2003
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

I downloaded the electronic version of this book because I am visually impaired. After reading the first chapter and doing the exercises at the end of the chapter I bought the book from Amazon.com.
The book is easy to read and understand. The chapter exercises are well done and relate to what was just studied.