Rating: - An excellent book, but only in the right circumstances.
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.
Rating: - A great starting point.
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.
Rating: - This book is amazing.
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).
Rating: - Highly Recommended
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
Rating: - Great Book!
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!
|