Rating: - Several other books are better
I bought this book because it was the text for a C++ course I took. I read 2 chapters in it, and then switched to 'The C++ Primer' by Lippman. I found the Dietel book to be cumbersome, and from the code samples, it looks like Dietel really has not written much real-world code. Lippman's book is easier to read, covers the topics better, and the code samples were better written.
Rating: - If you're serious about c++ programming, this is the book
Why only 4 stars? Nobody's perfect! I've bought at least 10-15 c and c++ programming titles. To save a little money and angst, just get this one and it should cover pretty much everything. Another good title I read just before starting www.linuxfree.net was C for dummies. Hey it covered the subject matter and after reading it, c didn't look like ancient hieroglyphs. And was able to write simple code and understand it.
Rating: - Very Good Book on C++ (Emphasis on Beginners)
This book is probably 75% identical to the Deitels' "C How to Program" book (4th edition, like this book). So, for a little more information, you might take a look at my review of that book here on Amazon. The biggest differences between the books are:
- Even though most of the examples are the same, their implementations have been redone from a C perspective to a C++ perspective. This is not a C book with C++ tacked on. It's a C++ book that leverages examples from a C book. If you hadn't read the other book, you'd never know the examples didn't originate for use in this book.
- This book includes an Elevator Simulation case study using the Unified Modeling Language (UML) to emphasize the object orientedness of C++ and to show the reader how to implement a fairly good-sized project in C++.
- Although the C version of the book also includes a C++ segment, this book gives a far more in-depth coverage and includes some things that aren't included there (the Standard Template Library comes to mind).
So, which book to choose? If you're using these books for a class, there's no choice: get the one the class requires. If you're trying to learn C++ on your own from scratch, this book is the best choice. If you don't know whether you should learn C or C++, this is also the book to get: it's probably heresy to say, but if you know C++, you essentially know C. If you're a pure C type, you might pick up the C version as an excellent reference and read the segments on C++ and Java included in that book. Those segments are condensed enough that you shouldn't be bored going through them. As with the C book, in the preface of this book, the Deitels state that the book is for everyone (beginners to experts) who want to learn the language. They've made a very good stab at that goal, but realistically, I'd have to say that those who are professional programmers in other languages will find this book too long for their needs.
A couple of additional notes. First, the use of color in this book seems to be a recurring motif in the reviews here. I was very pleased with the book's use of color. As fully explained in the preface, all that color conveys information to the reader: it's not there for decoration. First, the code examples (and there are a lot of them) all have a light yellow background, so they are automatically offset from the rest of the text. Then, the type within the coding segments uses other colors to mean certain things: comments are in green, keywords are in dark blue, errors are in red, constants and literal values are in light blue, and all other code is in black. Newly introduced code is also highlighted for emphasis. This is very much in keeping with what various IDEs do to make code more readable (see any of Microsoft's Visual xxx products, the Eclipse Project Universal Tool Platform (specifically, the C/C++ Development Tools), and the Bloodshed Dev-C++ IDE). Beyond that, the book also uses colors to emphasize the titles of the programming tips in the text (i.e., Good Programming Practices, Common Programming Errors, Performance Tips, Portability Tips, Software Engineering Observations, and Testing and Debugging Tips). Again, all of this is an excellent way to convey more information to the reader and is not "distracting" in any way.
On an entirely different note, as an aside, this book is used in Florida State University's COP 3330: "Object-Oriented Programming" course.
Overall, this is a very good book. Experienced programmers might prefer something more terse, but all others will be pleased. I give it 4 stars out of 5.
Rating: - Outstanding self-learning tools
I have found your C++ How to Program and the C++ Cyber Classroom CD
really outstanding self-learning tools. It is usually difficult to learn a new discipline without attending lectures, but the combination of this text and the Cyber Classroom CD make this not only possible, but enjoyable. Congratulations, and continue the wonderful series !!!
Rating: - Superb and authoritative text!
It's only recently I discovered Deitel's publications, but I was impressed. As a recent IT undergraduate, I have long searched for a book that is truly written for beginners. This text ranks on my top-ten list. Not only is it presented in color and easy to read, it's superb for those who have only the very basics of programming experience and want to move forward. This is a ground-up text that actually presents programming from a teaching perspective because it gives assignments and provides a wealth of chapter review questions. No wonder it's a popular selection among university instructors throughout the world. Many similar texts unilaterally seem to lack all of the basics of object-oriented programming, and try to teach beginners how to program through mere copying of code. Not Deitel & Deitel. This is the real deal: clear, concise, comprehensive. As a WORKING professional in technology, I highly recommend this book for those who want to learn how to program in C++.
|