Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Accelerated C++: Practical Programming by Example [Paperback]

Andrew Koenig , Barbara E. Moo
4.5 out of 5 stars  See all reviews (55 customer reviews)
List Price: CDN$ 51.99
Price: CDN$ 32.75 & FREE Shipping. Details
You Save: CDN$ 19.24 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 2 to 4 weeks.
Ships from and sold by Amazon.ca. Gift-wrap available.

Formats

Amazon Price New from Used from
Library Binding --  
Paperback CDN $32.75  
Join Amazon Student in Canada


Book Description

Aug. 14 2000 020170353X 978-0201703535 1
Discover the revolutionary, "instant results" system for learning C++!
Start with the ideas that help you get the most done with the least work!
Use the Standard Library and STL to solve real problems right away.
Based on the authors breakthrough C++ immersion courses at Stanford University. 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 than you ever believed possible. Based on the authors intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the "traditional" C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately. Once youre getting results, Accelerated C++ takes you "under the hood," introducing complex language features such as memory management in context, and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result- Youll be writing real-world programs in no time -- and outstanding code faster than you ever imagined.
Andrew Koenig is a member of the Large-Scale Programming Research Department at AT&Ts Shannon Laboratory, and Project Editor of the C++ standards committee. A C++ programmer for 15 years, he has published over 150 articles on C++. Koenig is author of C Traps and Pitfalls Barbara E. Moo is an independent consultant with 20 years experience in the software field. During her 14 years at AT&T, she worked on one of the first commercial products ever written in C++, managed the companys first C++ compiler project, and managed the development division of AT&Ts WorldNet Internet service business. Koenig and Moo are co-authors of Ruminations on C++.

Frequently Bought Together

Accelerated C++: Practical Programming by Example + C++ Primer (5th Edition) + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Price For All Three: CDN$ 108.33

Some of these items ship sooner than the others.


Customers Who Bought This Item Also Bought


Product Details


Product Description

From Amazon

If you don't have a lot of time, but you still want to learn the latest in C++, you don't have to learn C first. You might learn more by digging into existing language features and classes from the very beginning. That's the approach offered by Accelerated C++, a text that delves into more advanced C++ features like templates and Standard Template Library (STL) collection classes early on. This book can arguably get a motivated beginning programmer into C++ more quickly than other available tutorials.

What separates this title from the rest of the pack is that it jumps right in with samples that take advantage of today's Standard C++, from streams to built-in container classes such as vectors and linked lists. Early examples are more complex than in other books, but the thoroughness and relaxed pace of the explanations will bring the novice up to speed. (Though it ships at a slender 350 pages, Accelerated C++ is packed with samples, tips and example problems--about 10 per chapter.)

After a tour of basic C++, the book looks at more advanced C++ features such as templates, including built-in support for containers. Besides tapping the strength of Standard C++, you will also learn to design with your own templates. (Other tutorials would defer this material until later on.) The authors have tested the approach in the book in their own teaching and have honed a set of worthwhile examples that will help anyone get familiar with these powerful language features. All examples make use of the command line and console (without GUI programs), but the advantage is that this code should run on any of today's operating systems and compilers. Later sections cover the basics of class design, including good coverage of operator overloading and inheritance.

With its innovative approach to teaching the language, Accelerated C++ will challenge readers in the right way. It suggests you don't need to learn C to be productive in C++. Written in an approachable style, it deserves a close look from any C++ novice. --Richard Dragan

From the Inside Flap

A new approach to C++ programming

We assume that you want to learn quickly how to write useful C++ programs. Therefore, we start by explaining the most useful parts of C++. This strategy may seem obvious when we put it that way, but it has the radical implication that we do not begin by teaching C, even though C++ builds on C. Instead, we use high-level data structures from the start, explaining only later the foundations on which those data structures rest. This approach lets you to begin writing idiomatic C++ programs immediately.

Our approach is unusual in another way: We concentrate on solving problems, rather than on exploring language and library features. We explain the features, of course, but we do so in order to support the programs, rather than using the programs as an excuse to demonstrate the features.

Because this book teaches C++ programming, not just features, it is particularly useful for readers who already know some C++, and who want to use the language in a more natural, effective style. Too often, people new to C++ learn the language mechanics without learning how to apply the language to everyday problems.

Our approach works--for beginners and experienced programmers
We used to teach a week-long intensive C++ course every summer at Stanford University. We originally adopted a traditional approach to that course: Assuming that the students already knew C, we started by showing them how to define classes, and then moved systematically through the rest of the language. We found that our students would be confused and frustrated for about two days--until they had learned enough that they could start writing useful programs. Once they got to that point, they learned quickly.

When we got our hands on a C++ implementation that supported enough of what was then the brand-new standard library, we overhauled the course. The new course used the library right from the beginning, concentrated on writing useful programs, and went into details only after the students had learned enough to use those details productively.

The results were dramatic: After one day in the classroom, our students were able to write programs that had taken them most of the week in the old course. Moreover, their frustration vanished.

Abstraction
Our approach is possible only because C++, and our understanding of it, has had time to mature. That maturity has let us ignore many of the low-level ideas that were the mainstay of earlier C++ programs and programmers.

The ability to ignore details is characteristic of maturing technologies. For example, early automobiles broke down so often that every driver had to be an amateur mechanic. It would have been foolhardy to go for a drive without knowing how to get back home even if something went wrong. Today's drivers don't need detailed engineering knowledge in order to use a car for transportation. They may wish to learn the engineering details for other reasons, but that's another story entirely.

We define abstraction as selective ignorance--concentrating on the ideas that are relevant to the task at hand, and ignoring everything else--and we think that it is the most important idea in modern programming. The key to writing a successful program is knowing which parts of the problem to take into account, and which parts to ignore. Every programming langauge offers tools for creating useful abstractions, and every successful programmer knows how to use those tools.

We think abstractions are so useful that we've filled this book with them. Of course, we don't usually call them abstractions directly, because they come in so many forms. Instead, we refer to functions, data structures, classes, and inheritance--all of which are abstractions. Not only do we refer to them, but we use them throughout the book.

If abstractions are well designed and well chosen, we believe that we can use them even if we don't understand all the details of how they work. We do not need to be automotive engineers to drive a car, nor do we need to understand everything about how C++ works before we can use it.

Coverage
If you are serious about C++ programming, you need to know everything in this book--even though this book doesn't tell you everything you need to know.

This statement is not as paradoxical as it sounds. No book this size can contain everything you'll ever need to know about C++, because different programmers and applications require different knowledge.Someone else will need it, even if you don't.

On the other hand, many parts of C++ are so universally important that it is hard to be productive without understanding them. We have concentrated on those parts. It is possible to write a wide variety of useful programs using only the information in this book. Indeed, one of our reviewers, who is the lead programmer for a substantial commercial system written in C++, told us that this book covers essentially all of the facilities that he uses in his work.

Using these facilities, you can write true C++ programs--not C++ programs in the style of C, or any other language. Once you have mastered the material in this book, you will know enough to figure out what else you want to learn, and how to go about it. Amateur telescope makers have a saying that it is easier to make a 3-inch mirror and then to make a 6-inch mirror than to make a 6-inch mirror from scratch.

We cover only standard C++, and ignore proprietary extensions. This approach has the advantage that the programs that we teach you to write will work just about anywhere. However, it also implies that we do not talk about how to write programs that run in windowing environments, because such programs are invariably tied to a specific environment, and often to a specific vendor. If you want to write programs that will work only in a particular environment, you will have to turn elsewhere to learn how to do so--but don't put this book down quite yet! Because our approach is universal, you will be able to use everything that you learn here in whatever environments you use in the future. By all means, go ahead and read that book about GUI applications that you were considering--but please read this one first.

A note to experienced C and C++ programmers
When you learn a new programming language, you may be tempted to write programs in a style that is familiar from the languages that you already know. Our approach seeks to avoid that temptation by using high-level abstractions from the C++ standard library right from the start. If you are already an experienced C or C++ programmer, this approach contains some good news and some bad news--and it's the same news. The news is that you are likely to be surprised at how little of your knowledge will help you understand C++ as we present it. You will have more to learn at first than you might expect (which is bad), but you will learn more quickly than you might expect (which is good). In particular, if you already know C++, you probably learned first how to program in C, which means that your C++ programming style is built on a C foundation. There is nothing wrong with that approach, but our approach is so different that we think you'll see a side of C++ that you haven't seen before.

Of course, many of the syntactic details will be familiar, but they're just details. We treat the important ideas in a completely different order from what you've probably encountered. For example, we don't mention pointers or arrays until Chapter 10, and we're not even going to discuss your old favorites, printf and malloc, at all. On the other hand, we start talking about the standard-library string class in Chapter 1. When we say we're adopting a new approach, we mean it!

Structure of this book
You may find it convenient to think of this book as being in two parts. The first part, through Chapter 7, concentrates on programs that use standard-library abstractions. The second part, starting with Chapter 8. talks about defining your own abstractions.

Presenting the library first is an unusual idea, but we think it's right. Much of the C++ language--especially the harder parts--exists mostly for the benefit of library authors. Library users don't need to know those parts of the language at all. By ignoring those parts of the language until the second part of the book, we make it possible to write useful C++ programs much more quickly than if we had adopted a more conventional approach.

Once you have understood how to use the library, you will be ready to learn about the low-level facilities on which the library is built, and how to use those facilities to write your own libraries. Moreover, you will have a feeling for how to make a library useful, and when to avoid writing new library code altogether.

Although this book is smaller than many C++ books, we have tried to use every important idea at least twice, and key ideas more than that. As a result, many parts of the book refer to other parts. These references look like §39.4.3/857, which refers to text on page 857 that is part of section 39.4.3--or at least it would do so if this book had that many sections or pages. The first time we explain each idea, we mention it in bold italic type to make it easy to find and to call your attention to it as an important point.

Every chapter (except the last) concludes with a section called "Details." These sections serve two purposes: They make it easy to remember the ideas that the chapter introduced, and they cover additional, related material that we think you will need to know eventually. We suggest that you skim these sections on first reading, and refer back to them later as needed.

The two appendices summarize and elucidate the important parts of the language and library at a level of detail that we hope will be useful when you are writing programs.

Getting the most out of this book
Every book about programming includes example programs, and this one is no different. In order to understand how these programs work, there is no substitute for running them on a computer. Such computers abound, and new ones appear constantly--which means that anything we might say about them would be inaccurate by the time you read these words.We will update that website from time to time with information and advice about the mechanics of running C++ programs. The site also offers machine-readable versions of some of the example programs, and other information that you might find interesting.

Andrew Koenig
Barbara E. Moo
Gillette, New Jersey
June 2000



020170353XP10242001

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

Most helpful customer reviews
1 of 1 people found the following review helpful
5.0 out of 5 stars Probably the Best C++ Tutorial July 8 2003
By anon3
Format:Paperback
If you have programmed before--not necessarily in C++ or C--_Accelerated C++_ is probably the best C++ tutorial for you. If, however, you have never programmed before, you will probably want to do the exercises of an easier tutorial before using _Accelerated_. Not a primer to teach you how to programme, it is a primer to teach you the fundamentals of C++. _Accelerated_ is revolutionary, because, unlike typical primers, it uses C++'s standard library often and early. To get a better idea of how revolutionary, an explanation is necessary.
Earlier versions of C++--known as "C with Classes"--have been in use since 1980. But many so-called C++ tutorials still treat C++ as an extended form of C instead of the completely separate language that it is today. It has its own idiom. These tutorials, for example, use C-style string literals instead of C++'s string type and use arrays instead of C++'s vector type. This traditional way of teaching C++ results in errors and frustration among beginners--a major headache when trying to learn C and an unnecessary burden when trying to learn C++.
Fortunately, as implied, C++ has evolved, and a library--the standard library--has been developed to help programmers become productive more quickly and with less errors. _Accelerated_ is one of those few tutorials that uses this standard library early and often to quickly allow the beginner to write nontrivial programmes. On page 9, for example, you are already introduced to the string type. On page 12, you are already introduced to a member function of the string type. Compare this with common primers that tack on a chapter at the end about the standard library as an afterthought.
The authors let you in on subtleties that most experienced C++ programmers know but may appear strange to novices.
Read more ›
Was this review helpful to you?
4.0 out of 5 stars Allmost Perfect May 20 2003
Format:Paperback
Ok i wrote my first review when i started with learning C++ , now when a went through whole book and started with the C++ programming language i think it's time to rewrite this review.
To keep things short i'll only write pros and cons :
Pros:
-Great unique approach of teaching to solve usefull problems
from the start , not just showing the language features
-Compaq and efficient (make you to think about the language not just showing you receipies , this is great because once you learn why this thing is done like is done , you'll never forgath it and know how to use it in solving your own problems)
-Great writing style (English isn't my first language but i never felt any problem with this book)
-Very good taste for choosing problems covered , even if i a feel there should be more exercises ( I'm gonna definately have to buy Authors other book Ruminations in C++ , need a lot of exercises in order to master the language).
Cons:
-Lack of chapter about using compiler , there is nothing about even at authors site. Adding few pages about most widely used compilers like Visual C++ 6 or Net , Dev-Cpp , Borland will prevent from beginners' frustration.
Hello , world ! words pop up and vanished real night mare.
-I think there should be more exercises an the end of each chapter and solutions would be great.
Conclusion:
This is not a book for an
1 Absolute beginner, (shouldn't be your first programming book, but it could be second)
2 Nor for someone needing detailed guidance -AUTHORS WONT HOLD YOUR HAND ALL WAY LONG you'll have to make your way through
3 I would be carefull to suggest it for young reader someone like less than 15 years old , because of author vocabular.
Read more ›
Was this review helpful to you?
5.0 out of 5 stars The Best C++ Tutorial May 7 2003
Format:Paperback
Bar none, Accelerated C++ is the best C++ tutorial book published for the intelligent programmer. Accelerated C++ teaches C++ "as though C didn't exist" - bringing the reader into direct contact with the useful, interesting parts of the language, and making the conscientious productive at an early stage. Templates and the STL are introduced early, acclimating the reader quickly into the world of "real" C++. Additionally, the reader benefits from realistic application of C++ concepts in chapter-to-chapter rolling examples, building upon the work of earlier chapters (with extensive cross-references). By Chapter 12, the reader finds himself well-capable of writing useful applications (albeit command-line apps, look for GUI work elsewhere) and ready for the conceptual test the final chapters present. Truly, this book is the standard by which all others should be judged.
Read with a reference (Lippman's C++ Primer is recommended, along with Josuittis' C++ Standard Library) and a compiler at hand, any reader - old-hand or newbie - capable of focused reading and conscientious working of examples will find Accelerated C++ an epiphany. It spurred me to further investigation of concepts I've far too-long avoided in my years of C++ work, and brought me closer to the level at which I wish to perform. I cannot recommend this book highly enough, and will require it of my students.
Was this review helpful to you?
5.0 out of 5 stars This Book is Wonderful March 31 2003
By A Customer
Format:Paperback
This book is wonderful. The negative reviews of this book pain me greatly because they seem mainly to involve misunderstandings. Some people were frustrated, and I was too at some points, but mostly that had to do with the tool I used, Microsoft C++, not the language, and not the book.
One reviewer complained about having to check the lengthy errata on the website to work through some examples. The reviewer maybe doesn't realize that this is a GOOD thing. So many other books do not have errata on-line at all, or errata that are so scanty as to be almost useless. And those are books that need it much more than this one. The authors of this book clearly work very hard to keep the on-line errata up to date for the benefit of their readers.
The authors clearly go out of their way to write for the sake of their readers. They are teachers, and it shows in their writing. They want their readers to learn the material, and they want their readers to enjoy themselves. They want their readers to see the beauty of the material. They care about the quality of their book. This sounds like something that should be obviously true, but if you have read other computer books, you should know it usually is not.
Finally as to the material itself, this book is wonderful. I was a programmer in another language, reading this book for self improvement, and I just loved learning about the STL, which is just so much fun and so cool. :)
Was this review helpful to you?
Want to see more reviews on this item?
Most recent customer reviews
5.0 out of 5 stars Pragmatic approach to C++
Coming from a Java background with a degree in computer engineering, I found this book to be the most useful for learning C++. Read more
Published 4 months ago by Ricardo de Amorim
4.0 out of 5 stars Very good
I would strongly reccomend this book, however it gets a 4 because it was a little hard to follow at times
Published 15 months ago by Samuel Joseph Lehmann
5.0 out of 5 stars Excellent condition
My order arrived in record time and in great condition. Very good seller, I would definitely order from them again.
Published on Oct. 27 2011 by Traveller
5.0 out of 5 stars Another (effective) way to teach
This book was awesome, one of the best i ever read. It says the same things of a miriad of other books, but in a exceptional way, simply, fast, correct. Read more
Published on June 7 2004 by Sciarretta Andrea Tullio
5.0 out of 5 stars Hands down, best C++ book
I have purchased way too many C++ books. I see the rut in which all authors seem to get into when writing this type of book. Read more
Published on April 14 2004 by Charles Parcell
5.0 out of 5 stars The fastest way to learn C++
There is a running debate as to weather this book is a book for beginners. The answer is yes and no. Read more
Published on Jan. 11 2004 by Sean Carrington
3.0 out of 5 stars Good Book But Not My Style
I used this when I was in my first year studying in Turku AMK. Well, this book saved me! I passed! Some things are complicated and some examples are too short. Read more
Published on Sept. 25 2003 by Reijo Piippula
5.0 out of 5 stars An excellent book
I have to put this book at the top of my list for first buys for people who are beginning a transition into C++ from another language, or for people who have just learned C++ and... Read more
Published on May 26 2003
4.0 out of 5 stars "The" way to learn C++
This is a great book for anyone who is really motivated to learn C++. The authors get you writing useful programs in just minutes. Read more
Published on Jan. 3 2003 by Russell Nash
Search Customer Reviews
Only search this product's reviews

Look for similar items by category


Feedback