Skip to content

Accelerated C++: Practical Programming by Example

Select Format

Select Condition ThriftBooks Help Icon

Recommended

Format: Paperback

Condition: Good

$7.09
Save $42.90!
List Price $49.99
Almost Gone, Only 5 Left!

Book Overview

Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern approach will help you learn faster and more fluently... This description may be from another edition of this product.

Customer Reviews

5 ratings

great book with a unique approach to teaching the language

After having read this book I very much regret coming to C++ from a self-taught Pascal and C background - it could have been so much easier. Many introductory texts on C++ assume a background in one of the procedural languages and consequently start teaching the C subset of C++ first. This is, according to the authors' experience, counterproductive to understanding 'proper' C++ and programming true to it's paradigms and design. Thus they follow the radically new approach of discussing whatever (sometimes advanced) facilities C++ offers to solve a particular problem instead of going from one isolated language feature to the next. This leads to the somewhat unorthodox chapter sequence, which teaches the design of user types (classes) after introducing template functions (a feature many seasoned C++ programmers still don't know how to use effectively) or even stranger: the explanation of pointers and arrays (chapter 10) in terms of the standard library iterators and containers, which have been introduced as early as chapter 3. What I particularly liked are the useful and real world examples, although the book does cover the omni-present 'hello world' program, it otherwise fully delivers on it's promise of teaching 'practical programming by example' (subtitle). Due to this approach and the well constructed exercises at the end of each chapter the book gets the student writing non-trivial, useful programs taking full advantage of advanced C++ library features almost from day one. The authors also lead by example and show proper commenting and programming for flexibility techniques even in the smallest code fragments. This is in refreshing contrast to many an author's crime of showing the 'quick and easy' way first and the 'proper' way later.If you read The Design and Evolution of C++ you'll soon notice the repeated mentioning of Koenig and Moo as two of the key players in the development of the language. Their in-depth knowledge and experience really shows in this work. Although the book is mainly aimed at beginners, veteran C++ programmers can still profit from it, even if only by loosing some more bad old C habits.

The BEST introduction book on C++ yet!

I have nothing to say about this book, except, among hundreds of C++ "intro-level" books available, this book is simply "the best". Why?The answer is easy: Because it teachs C++ the way C++ should be taught.Why re-invent the wheel if there are a lot of wheels available for you to use? Why learn to do things in "the hard way" if there is a lot easier ways to do?C++ should be taught from its C-inherited no-more. In C, we used to do something in "the hard way". For example, just to use string efficiently, one would need to understand pointer properly, since C-string is pointer to char (char*). Just to dynamically store some instances of the object (to store the objects "as needed"), one would need to know how to manipulate pointers, which always lead to problems and confusion, to imprement the dynamic container.And that's what almost all other C++ books try to teach you "first". And they will teach you what should be taught ealier "later". You, by that way, it takes longer to be productive, or even to be an able programmer. Then, how C++ should be taught? Bjarne Stroustrup, the father of C++, said clearly in one of his paper, named "Learning Standard C++ as a new Language", (available in his homepage) something like "Learning a programming language should support the learning of effective programming techniques. My favourite approach is to start teaching the basic language (variables, declaration, loop, etc...), together with a good library". And this is exactly the approach taught by this book.I, personally, agree with the previous reviewer that with the approach used in this book, pointer and array are easier to understand than learning from the traditional approach.Learning C++ from its standard library aspect can make you a productive programmer in much much shorter time than learning from the traditional approach, which begin with C-subset, and many programming techniques that you have to "unlearn" as you progress on.In case that you're wondering how much you will learn from a book of this size. All I can tell you is, more than you can ever imagine. However, you will have to concentrate on what it's saying. And then, after you finish this book, you will have no (or almost no) problem when moving on to the more difficult (say, more advanced) books like those by Stroustrup, Lippman, Musser & Saini, Austern, Josuttis ... etc (all are my personal favourites).The wheels had been invented. So why not just use them?In short, this book is nothing more than the BEST book on introductory C++ ever written, period.

Very effective alternative to other C++ books.

I'll start by saying that I probably would not have understood this book as well as I have, if I had not already been teaching myself C++ through other forums (primers and online). The thing that most of these other forums have in common is that they start with the basics and build up slowly to the more abstract concepts. The problems come during the switchovers (char* to string, procedural programming to object oriented, pointers to iterators, linked lists to containers, etc). In almost all cases you learn the more basic, and paradoxically more difficult concepts first. Then you have to 'unlearn what you have learned' in order to use the more advanced concepts. So what's different about this book? It teaches a mix of syntax and 'advanced' concepts right from the beginning. You learn the basics of loops and choice statements while using the Standard Library. You also use them in specific examples that have real world uses (the grading program in the first few chapters for example). The Standard Library is _easy_ compared to arrays, char*, rolling your own linked list, using pointers, etc. Since it takes far less time to learn, you can be writing useful programs very quickly. _Then_ the authors go on to describe some of the more 'basic' concepts, usually in terms of how they implement some of the ideas behind the Standard Library. Since you have that understanding already, things like pointers become easier not only to learn, but to understand how they can be used.I have one complaint about the book, and that's with the grading program, specifically how it appears in Chapter 4. As written, it's very confusing to actually enter data to get it to run correctly. A minor complaint though, considering how many times I thought to myself 'Aha! This is what I could use to solve this problem I've been having.' Or 'Aha! So this is what those other books were trying to say.'In a nutshell, it's a refreshing look at C++ and if not able to stand on its own, is a must have supplement for anyone learning or using the language. At the very least, it's made me question the seeming SOP of giving the Standard Library one or two chapters and calling fundamentally harder concepts 'basic' and the concepts that make programming in C++ easier being considered 'advanced'.

Excellent C++ textbook

Andrew Koenig and Barbara Moo have written a terrific introductory book on C++ here. They teach you C++ by presenting programming problems to be solved, and introducing the exact language features you need to solve them, one right after the other. Very early on you find yourself using the power and simplicity of the STL to write some pretty cool programs. The programming examples are very interesting, and this book has the clearest exposition of the workings of pointers and arrays that I've ever seen. (In fact, they introduced iterators earlier in the book when using the STL, and I think introducing them in this order makes their discussion of pointers a lot easier to understand than it would be otherwise.) They eventually cover all the features of the language that a person realistically needs to accomplish just about anything, the discussion of each feature always motivated by an actual need for it to solve a problem at hand. I'm glad I've got this one on my shelf!

Refreshingly new and very good indeed!

This is a nice change for the better! Instead of introducing the basics and then going on to class design, inheritance, and polymorphism, Andrew and Barbara delay things such as class design until the latter part of the book and instead launch straight into use of the STL, illustrated with practical examples of how to use STL containers and algorithms to solve programming problems.As far as I am concerned, this is definitely a change for the better. Most programming projects I see heavily abuse inheritance to do things that would have better been done with templates and, as a rule, most C++ projects continue to ignore the STL, even though it is probably the most fundamental contribution to C++ programmer productivity in years. Following this book, readers are encouraged to use STL from the word go, which is as it should be.The language and flow of the book are excellent, and the presentation is very lucid. What really shines through is that both authors are experts on the topic and really know what they are talking about. The explanations of language features are complete, correct, and precise. There is none of the muddled exposition that I find in so many other C++ books. The teaching experience that Andrew and Barbara have gained over the years is truly reflected in the prose. The book anticipates many questions and typically answers them just at the right time, namely, when the question is just about to pop into the reader's head.Information density of the book is high. A lot of information is packed into few words, so the reader has to concentrate on what is being said, and skipping paragraphs is not something that I would recommend. The concentration, however, is well repaid by the large amount of solid knowledge that is imparted: I believe that no other C++ book manages to convey as much information per page as this one.To me, the target audience are people who have done some programming in other languages and do not know C++. (I would not recommend the book for people who have never programmed before, unless they are very determined readers.) More seasoned C++ programmers also will get good value. And, if you are an experienced C++ programmer, but haven't much used the standard library up to now, there is still plenty of meat to be found: there are enough gems of advice in the book for it appeal to people who have considerable C++ experience.This is an excellent effort from two experts in the field. I recommend it!
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured