- Series: From Scratch
- Paperback: 417 pages
- Publisher: Que (July 1999)
- Language: English
- ISBN-10: 0789720795
- ISBN-13: 978-0789720795
- Product Dimensions: 9 x 7.4 x 1.1 inches
- Shipping Weight: 1.4 pounds
- Average Customer Review: 19 customer reviews
- Amazon Best Sellers Rank: #5,109,696 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
C++ from Scratch with CDROM Paperback – July, 1999
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Unlike other books on the subject, Jesse Liberty's C++ from Scratch takes a novel approach to teaching C++ by providing the design and code for a single project--a number-guessing game called Decryptix!. Written for the beginning or intermediate C++ user, this entertaining and intelligent title gives you an excellent tour of central C++ features without getting lost in overwhelming detail.
What's best about C++ from Scratch is the author's clear and understandable tutorial of the C++ language using a single program, Decryptix!, which is built in steps throughout this book. Early chapters look at core C++ features (such as keywords and class design fundamentals) as the basic program functionality is written. The author's first chapters provide one of the clearest introductions to C++ you're likely to find.
Later chapters add more advanced features, such as computerized guessing and the ability to save and restore a game. The Decryptix! game feels just right for the book's approach. This command-line (nongraphical) game is just complex enough to introduce important C++ features (such as linked lists, templates, Standard Template Library [STL], and persistence) in a context most newcomers will easily understand.
A notable chapter on the C++ canonical methods, including default and copy constructors, explains how every well-behaved class should be implemented and will be invaluable to those approaching class design for the first time. The author's bibliography near the end of the book (which lists several of his other well-known C++ titles) shows you what to read next during the development of your C++ programming skills.
Written with a practical eye toward presenting the best of the C++ language quickly, C++ from Scratch lets the beginner get started with C++ successfully without much of the syntactic difficulty that's commonly associated with this powerful language. --Richard Dragan
Topics covered: C++ basics, encapsulation, delegation, specialization, operators and flow control, class design, pointers, arrays, linked lists, canonical methods, polymorphism, templates, STL, persistence, exceptions, Decryptix!.
From the Back Cover
C++ From Scratch: An Object-Oriented Approach is designed to walk novice programmers through the analysis, design and implementation of a functioning object-oriented application using C++. You will learn all the critical programming concepts and techniques associated with the language in the context of creating a functioning application. Best selling C++ author Jesse Liberty shows you how to create "Decryptix", a game of decoding a hidden pattern as quickly as possible, using nothing but successive guesses and the application of logic. Every example and technique is put into the context of achieving a goal and accomplishing an end.
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I recommend this book for intermediate beginners who have had an introduction to aspects of C/C++ through larger more in-depth books but do not have a good sense of how to take a programming concept and make a working model out of it.
This book is innovative in its presentation of C++ as described above. Certain parts could stand to be fleshed out some, but overall it is fun to use. Most of the code worked for me, but there were some rough spots which I am still not clear as to if it is due to the book or with errors in my Microsoft compiler.
I would really like to see more books of this type dealing with intermediate level programming projects of larger scale, with more detail in descriptions of methods used. The method of presentation is quite compelling.
1) Not completely appropriate for the target audience - Jesse Liberty at least implies that this book will teach you enough to learn C++ and be able to program in it. This is misleading. In the beginning, things move smoothly, concepts are explained and understood. As time goes on, more concepts are added and _usually_ incorporated into the growing project. This is where things get difficult. I much prefer understanding concepts in programs designed specifically to show how these concepts work before including them in a larger, 'holistic' project. Yes, he does this in some cases, but usually I find these cases inappropriate. Linked lists is one example he uses, and for the true beginner (or even one with programming experience) this is not an easy subject without some build-up.
2) Disjointed - The book is sort of like the 'X-Files' which has its 'Mythology' episodes (the ones that contribute to the overall story arc) and the 'One shot' episodes (monsters, weird occurrences unconnected with anything else). In the book you have the main project and every so often Liberty will jump off to the side to discuss a feature of C++ in some detail (linked list mentioned above). The effect is a disjointed one, often breaking the flow of understanding.
3) Restrictive - Probably my biggest worry is the effect on programming practices to a newcomer to C++. The concepts are taught, not with an eye for overall understanding, but rather in how they can be used for one very specific program. As new concepts are learned, often times the result is that a part of the project will be rewritten to use the new concept, leading to the impression that the earlier concept was obsolete and really has no purpose. I prefer being told not only how to use a concept, but when and where the concept is useful, what pitfalls there are, and see a few examples that show different ways to use the concept. Otherwise it's too easy to have tunnel vision, seeing the concept as only useful in limited circumstances.
So... I said I liked this book, didn't I? I do, but with a very specific recommendation for people who buy it. Get both a general Primer (I recommend the Waite Group's C++ Primer Plus) and an intermediate text (Thinking in C++ is the one I recommend). Learn C++ using those and then read C++ from Scratch to see how many different concepts can fit together. This book would probably have gotten 4 stars if I had not felt it inappropriate for its target audience.
My disappointment quickly surfaced when I started seeing all of the typos!! They are everywhere in the text. The book starts a c++ project using two constants, minPositions and maxPositions and then, in the next chapter they are changed to minPos and maxPos without any warning. The author also jumps back and forth between using #include iostream.h and #include iostream with little regard for the surrounding context.
This book is ONLY good if you already know how to write c++, because you can't learn the correct syntax when it changes randomly throughout the book.
Another reviewer pointed out that chapter 6 is labeled as chapter 1...this is the point that i started shaking my head and decided to post this review.
Most recent customer reviews