Rating:  Summary: A terrible book. Review: (I own the 2nd edition of this book - but this will serve as a warning for the current edition) I had to use the Deitel series for introductory course in OOP. If you love the concise style of "The C Programming Language" by Kernigan and Ritchie, you will certainly hate this book.From the students I have spoken to, most of the people who love this book are the ones who love copying the portions of text to get the homework done. For beginners, this approach is disastrous. The codes are very sloppily written and too specific to the examples given. If you are "concepts" driven programmer, you know that this is no way to learn a language. I rate very high in the programming courses I have taken, and I assure you that this book is the wrong way to approach programming if you are a beginner. The book is verbose and never fails to be a poor reference material. The index seems to be generated automatically - I suppose the authors themselves had a hard time sifting through this thick book to make any sense in the end. I find this quality fatal to any programming reference. Take this entry for example: friend, 371, 373, 381 friend, 382-383,387,395-396, 433, 450, 468, 486, 494, 521, 527, 543, 554, 648, 659-660 friend function, 432 friend function, 466, 474, 524, 535 ...and so on. These were amusing when I first purchased the book, not so amusing when I had a program submission due in three hours! Some may appreciate the following comments: The book is heavy - it is printed on shiny paper, which makes it hard to read under some lighting conditions (it also has less traction on pencils, which I am particularly picky about...). It uses color for almost every page for no apparent reason except to drive up the price of print. Also because of the type of paper used, it is much heavier than some other books. Anyone with a modicum of taste will hate the cheesy ant characters and horrible cover design. The format of the book is extremely sloppy. Codes that can easily fit in one page is cut in half (I'd rather read these codes in a 12inch monitor than flip back and forth through the pages!). Another annoying aspect is the sidelines that appear in almost every page. Soon you will find yourself swimming in bits of incomplete codes and tips and tricks that are REPEATED at the end of the chapter. I think footnotes are less obtrusive. The book is very unprofessionally done and will leave you with a bad taste of kitsch in your mouth after your semester is over. I now keep this book as a memento of how a book can cause headache, back-injury, and lighter wallet - all at the same time.
Rating:  Summary: A very good book Review: Puts concepts and explanations in a very clear cut presentation. A good reference book for both experienced programmers and beginners. It would server a much better purpose if the reader gains a certain understanding of the basics of OO programming before starting with this book.
Rating:  Summary: Unbelievable! Review: A novice? This is where to start from. I have been trying to grasp C++ but alas! all in vain until when I came across this book. It was the only one on the bookshelf and so even doubted it would over anything worth its price. This book starts you from scratch and builds you up till you get all the basics of C++. You do not need to know C at all. After having gone through a quarter of the book, I can even understand those "shortcut" books I once "threw away" for being "mean". Huts off to the authors for a good job. Those "tips" are marvelous. This book deserves 5 stars because this is the first book that has broken the ice. For the novice, what are you waiting for? GET THE BOOK!! Stop worrying about the price. Some of those cheap books you buy are "Turkey".
Rating:  Summary: Good beginning book on C++. Review: This is a well written book with good examples and clear explanations. The coverage is fairly complete taking the reader from the basics of C++ programming right through the fundamentals OO design. I have read several books on general C++ programming and I would rate this one among the best. It's a big book, 900+ pages, but it's an easy read, it is so well written that rarely will you find it a struggle getting through a section. I recommend this book for beginners as well as more advanced C++ programmers who may want a good reference on the shelf. I hope this helps :)
Rating:  Summary: Ultimate C++ Tutorial Review: First off, the version of this book that I own is the last version, which does not have the UML stuff. But that shouldn't make a difference. This is without a doubt the best C++ book for a beginning programmer. This book teaches C++ the same way as a University course would. I know, I've taken a couple. In any case they stress good programming practice along the way and make SURE you understand the concepts. I learned C++ from this book and I found it wonderful. It reminds me in so many ways of a good University course, (as opposed to an obtuse textbook). If you don't know C++, buy this book.
Rating:  Summary: Not a good intro to C++ but a good 2nd source of info Review: My gripe with this book is that they attempt to provide the reader with too much info all at once. This tends to make the text very dense and hard to comprehend for programmers just learning about the language and OO. I've found that I appreciate the book MUCH more now that I have a solid foundation in C++. The dense knowledge coveyed in the book is now digestable and I've found that reading it is much easier. I'm picking up all of the little things I was missing the first time around. One reviewer mentioned not liking the fact that classes aren't brought up until chapter 6. I don't have a problem with this personally in that the first five chapters give the non-C programmer an introduction to basic C programming. Professor's are in no way forced to use a text in the order listed by the author. And a course in OO design and the use of UML should be taught prior to any class in C++ or Java. And so, as an introductory book to C++ I'd give it 3 stars but as a source of information to non-beginner's I'd rate it a 5. Hence the four stars I've given it.
Rating:  Summary: All that you wanted to know about C++ but were afraid to ask Review: Dive deep into C++. Start with the basics and end with OOP. Don't expect any graphic stuff though - all the examples are console-based. This is purely C++. While some books will start with making applications, I don't think it's the right thing to do with such a difficult language like C++. All the ~1000 are dedicated to different language aspects and the result is... you as a C++ expert. (Note that this is compiler-independent manual. Some compilers, like Borland C++ Builder, have a special C++ implementation, specific to them. They aren't covered in this book.)
Rating:  Summary: An OK book to learn C++ Review: I think this book was decent at best. I used it for 2 semesters and am now learning Java. All of my professors have praised this book but I just don't see it. There are plenty of topics and I like the fact that they go into the Standard Template Library in the end. The main problem I had with the book is the examples. Some of them are just plain confusing. The authors do things much differently than what I have seen in other C++ books. Some basic examples were made much more complicated than they really were. A beginner would probably be scratching their heads with some of them. I did like that every example is on the included CD. I never installed the copy of Visual C++ that was included, but I know a few people who had problems with it.
Rating:  Summary: Inappropriate for its target audience Review: I am mostly negative towards this book. I find it to be a serviceable book for teaching C++ to a programmer, but it's title and preface suggest that it is designed as textbook for a first semester college course in Computer Science, so that is how I will consider it. We used it as the textbook for our Introduction to Computer Science course and every professor who used or read it dislikes it greatly. Because of this, we have replaced it with another book for next year. Personally, I find that "C++ How to Program" violates most, if not all, the rules pedagogy. In my opinion, a good text would: introduce one thing at a time, refer to terminology only after it has been defined, emphasize concepts as well as details, and make few references to material not covered in the text. A good C++ text would teach object oriented style, and not give examples as converted C code, and teach good general (non-C++ specific) principles of algorithm and program design. Although this book routinely violates ALL of these rules, I only have space to to give a couple of examples of each. On page 79 in chapter 2, in a section on formulating algorithms, static casting is introduced in an example, before the students even fully understand what types are. On page 176, enum is introduced as part of an example of random number generation. It is then used throughout the book as if it had been a topic of its own. On p. 476, Dynamic memory is introduced by analogy to C's malloc, a technique that is at best useless to a non-C programmer. Dynamic memory is given a 1 page treatment- something most courses spend 1 to 2 weeks on. The beginning of section 7.5 on page 471 reads, "Every object has access to its own address through a pointer called this. An object's this pointer is not part of the object itself-i.e., the this pointer is not reflected in the result of a sizeof operation on the object. Rather, the this pointer is passed into the object (by the compiler) as an implicit first argument on every non-static member function call to the object." So instead of giving a REASON for a this pointer, the book focus on a minor attribute, one opaque to a beginning student. In fact, NOWHERE in section 7.5 is there a compelling reason for having a this pointer. Furthermore, static member functions aren't discussed for another 2 sections. On page 472, the phrase 'cascading function calls' is used but never defined. It is left to the reader to glean what this means from the examples. On page 482 assert is introduced in the example of static class members, and then used later in the book without further discussion. On page 486, there is a 2 paragraph section on Container classes and Iterators, which contains no useful information except that they'll be covered in chapter 20 (beginning on page 970). The above list was made in an afternoon of flipping though the text and is not complete, but rather indicative of how the book was written. These attributes make it unsuitable for an Introduction to Computer Science textbook. In conclusion, Here are some quotes from the course evalutions last semester from the question, "please comment on the adequacy of the textbook" (25 responses): "completely inappropriate", "terrible"(3), "awful", "inadequate"(2), "complicated", "horrible"(2), "very bad", "tough to follow"(2), "sad", "confusing", "poorly organized", "not understandable", "ridiculously bad", "too busy", "below average", "poor", and "worthless".
Rating:  Summary: Excellent, intensive book Review: I love this book! With little programming experience (I learned PERL a few months ago), I have been learning C++ from this book after it was recommended to me by a number of programmers. Though a bit wordy, I personally found the explanations and detailed examples to be very worthwhile. The colored code in the examples and discussion in the text makes the examples easy to read through. One feature that I personally enjoy but others can't deal with is that in some of the early examples there are lines of code that haven't been presented yet: if one can focus on the details of the code relevant to the discussion, while noticing the additional lines without completely understanding them, it will all come together in subsequent sections. From reading the other reviews on this page, I gather one thing: for people who can learn a complicated language like C++ on their own, this book provides all the details through examples, with a reference summary at the end of each chapter; for true beginners for whom the structure of computer languages is not intuitive, they probably need to take a class to learn C++.
|