Rating: Summary: Very effective alternative to other C++ books. Review: 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'.
Rating: Summary: great book with a unique approach to teaching the language Review: 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.
Rating: Summary: The fastest way to learn C++ Review: There is a running debate as to weather this book is a book for beginners. The answer is yes and no. If you're an experienced "professional" programmer looking to learn C++ then this book is excellent. If you are new to programming and want to learn your 1st language then this book will be over your head. This is NOT an introduction to programming. It's a solid introduction to C++. I'm a 16 year developer who has worked in COBOL, Visual Basic, Delphi and Java. I ordered this book on the recommendation of a colleague and I started reading it on a Saturday morning. By mid afternoon I had completed the entire book and had a firm grasp on C++. The book is clear, concise and effective. After reading this book, your C++ foundation will be laid and anything else you need can be looked up on a reference basis. It's an excellent way to learn the language and get up to speed quickly.
Rating: Summary: Hands down, best C++ book Review: 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. They seem to always fall back into the "old school" "set in concret" methods. This book breaks the traditional C++ education style. The authors take a very simple example and start building on it. They add bits and pieces of code which support the example. They don't simply add function and code to provide an example, they add functional pieces which you would need in any program you write. Very well thought out and solid! I have been hoping that they would translate the book style into Java and C#.
Rating: Summary: The fastest way to learn C++ Review: There is a running debate as to weather this book is a book for beginners. The answer is yes and no. If you're an experienced "professional" programmer looking to learn C++ then this book is excellent. If you are new to programming and want to learn your 1st language then this book will be over your head. This is NOT an introduction to programming. It's a solid introduction to C++. I'm a 16 year developer who has worked in COBOL, Visual Basic, Delphi and Java. I ordered this book on the recommendation of a colleague and I started reading it on a Saturday morning. By mid afternoon I had completed the entire book and had a firm grasp on C++. The book is clear, concise and effective. After reading this book, your C++ foundation will be laid and anything else you need can be looked up on a reference basis. It's an excellent way to learn the language and get up to speed quickly.
Rating: Summary: Good Book But Not My Style Review: 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. It wasn't clear how to write a program with c++. You have to be really good in C++ if you make programs with this book.
Rating: Summary: Probably the Best C++ Tutorial Review: 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. You learn, for example, why it is better to count from _0_ than from _1_ in for-loops. The authors never condescend. Their explanations are clear and convincing. The range of material covered and the depth of the coverage go beyond what you will find in an average tutorial. The discussion of controllable handles, for example, will probably be quite abstract for some beginners. Both authors are respected for their knowledge of C++. (Koenig is the Project Editor of the C++ standards committee.) Not only are their technical skills outstanding, they know how to teach. Who would choose to introduce pointers at the halfway point in the book and describe them as a kind of random-access iterator and only after you have had plenty of experience using iterators? The result is an easier time learning pointers. The authors have taught C++ at Stanford University, and this ability to teach is revealed throughout the book. At only 336 pages, you may wonder how such a small book can revolutionize learning C++, especially when other outstanding books like the special edition of _The C++ Programming Language_ by Bjarne Stroustrup is 1040 pages, and the third edition of the _C++ Primer_ by Stanley B. Lippman and Josee Lajoie is 1237 pages. Part of the reason is that the authors are excellent technical writers who have mastered the art of conciseness. Where example code is presented, if needed later, you are asked to refer to earlier pages clearly indicated instead of the code being reproduced verbatim. Sometimes you are briefly asked to rewrite the material in a chapter using classes that the authors have provided and that you have extended. Conciseness. Koenig and Moo say that they have concentrated on those parts of C++ that "are so universally important that it is hard to be productive without understanding them." The authors present standard C++ and ignore proprietary extensions. From the book's web site you can download source code for UNIX and similar systems, .NET, Visual C++ 6.0, and Borland C++Builder version 5 or later. There is also some support for Macintosh users. And how difficult are the exercises? The overwhelming majority is of no more than moderate difficulty, with some challenging ones sprinkled in. But this is only if you do the hard work of concentrating on what is written and doing your best to complete each exercise. Many of the exercises build on your answers to previous exercises. Be extra careful, because no solutions are provided. There is no answer book. The authors should, however, have indicated each exercise's level of difficulty, as this will give you some idea of what to expect. Do not let the long errata list discourage you. The authors are perfectionists. It is better, moreover, to have all the errata posted on the book's web site than to be pulling your hair, because just about every technical book is going to have errors. Neither the book nor, as this is written, the book's web site mention how to get started in using a compiler, so if you do not know how to use one, you will have to read the documentation that came with the compiler, ask someone, or use the Internet to find the answer. Near the end of the book, the authors recommend, for further study, _The C++ Programming Language_. I disagree. You should buy it along with _Accelerated_ not after it. It is useful for reference and for solving some of the exercises, as you can often find hints and helpful information in this book which is considered mandatory by many professional C++ programmers. _Accelerated_ and _The C++ Programming Language_ are widely regarded as the best as regular readers of the Usenet discussion forums alt.comp.lang.learn.c-c++, comp.lang.c++, and comp.lang.c++.moderated already know. When book recommendations are requested or the best C++ books are commented on in these forums, these books are, invariably, mentioned the most. They also received the Association of C & C++ Users' highest recommendation. These books are difficult and demand effort, patience, and persistence. A tremendous amount of thought and care and planning went on behind the scenes before Koenig and Moo approached their word processors. If you are serious about acquiring a solid C++ foundation, there is nothing better.
Rating: Summary: An excellent book Review: 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 need to get their scope of the entire language pieced together properly. From the first page until the last you'll gradually develop a program that will cover most of the important components of C++. This book is different in that you'll learn how to write a complete program at the end of the book, whereas other books will usually give you the pieces and hope you'll understand how to put them together. If you're new to programming then you might want to pick up a purely beginner book first and then get this one second. Otherwise I think this book would make an excellent choice as your first C++ book and the one you'll end up refering to the most.
Rating: Summary: Allmost Perfect Review: 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. Anyone else should go for it: Thank you , Andrew Koenig & Barbara E. Moo for writing this excellent book. Slobodan PS. if you're questioning yourself why does your Hello,world ! side effect pop-up and disappear you should: If you are using Dev-C++ : go to file new project ,choose MS-DOS console project .Ok When you compile and run your code (shortcut is ctrl +f10) it will stay there i suggest Dev-C++ at the beginng to concentrate on the language
Rating: Summary: The Best C++ Tutorial Review: 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.
|