C++ How to Program (5th Edition) Review

C++ How to Program (5th Edition)
Average Reviews:

(More customer reviews)
I had always hated Deitel & Deitel's 'C++: How to program' iterations. I had always thought the book never quite lived up to its great potential because of its own ambition to be the best C++ textbook ever written. I had always thought the book was a terrible book not because of its contents, but how it presented them. I had also thought D & D were quite arrogant and obnoxious in terms of the rambling verbosity of translating their impressive knowledge into texts in elitist's fashion. That, along with the horrendous text fonds and repugnant color schemes, not to mention the ugliest coding presentation and the endless assult on my nerves launched by thousands of those ugly bees all over the textbook, literally made me nauseous (really). I think those were more than enough reasons to hate the book whether the actual contents were good.
The latest edition (5th) eradicates all sins, and rectifies the lows of the past editions. Well, except the bees... Even the bees manage to look kind of cute in light of the newest improvement.
The text fonds are all changed and color schemes are all toned down. It is so pleasant to the eyes. Ugly coding presentation and stiff graphic illustrations are replaced with much organized and refreshing style. Many of coding examples have also been replaced with more real world-oriented objects. The biggest improvement, in my opinion, is the writing style. Although the core contents are untouched, quite big chunks of the old contents were discarded and rewritten with much fluentness and simplistic style. The old D & D's infamous babbling out is significantly reduced. It is now actually quite enjoyable to read this book. Several chapters from the previous edition have been divided into smaller chapters and sequentially rearranged. Furthermore D & D will offer us free 'Multimedia Cyber Classroom' and 'C++ in the lab' along with free 'Student Solution Manual' available on the website. This is a very noble move by them and a very welcomed addition for people who try to learn C++. The only wish I have now is to ditch the somewhat out of place chapters like 'Web Programming' and 'Intro to XHTML' sections and beef up the advanced topics like 'Templates', 'File Processing', 'Data Structures' and 'STL'. I know individual book could be written for each of these chapters, but I'd rather have a little more in-depth knowledge on those topics over web programming. Overall, this is a vastly improved edition when compared to the previous editions. I am very happy with this book. D & D finally listened to readers' long time complains and delivered one of the best C++ textbook in the market. They completely redeem themselves with the newest iteration. I highly commend their lastest effort.***My Previous Reviews on this book***
3rd Edition (3 stars out of 5)
'C++ How to Program' by Deitel & Deitel is one of those books that set out to be the one and only, the perfect textbook that teaches you everything about C++ to everyone from the absolute beginners to the truly advanced programmers all at once. The book falls very short under the weight of its own ambition. By just reading the table of contents, it seemed that the book properly offers the complete coverage of the syntax of the C++ language, and each topic seemed to be presented in the sensible order which facilitates the readers to learn C++ step by step without getting lost or tangled up with the bits of coverage all over the textbook. The only thing presented in the sensible order in this book is the table of contents. Despite the quite large volume, Paul and Harvey (D&D hereafter) decided to babble aimlessly in very verbose fashion without any focus or making any sense. I mean the language they employee is English only in appearance. D&D could have babbled in Russian and I wouldn't have known the difference. They don't seem to have the fundamental ability to deliver their knowledge to the readers in clear fashion, and the level of knowledge of C++ has nothing to do with it. Now 'C++ Primer' by Stanley Lippman and Josee Lajoie or 'The C++ Programming Language' by Bjarne Stroustrup are indispensable guides for the advanced programmers that will teach you so many techniques your ordinary textbook do not cover, and yes, they are definitely not for the novice programmers. This is not the case with D&D. I mean C++ is arguably the toughest programming language to master, but it doesn't have to be this painful just to browse through the textbook. From the get-go, D&D clearly aimed to please both "technically oriented people with little or no programming experience, and experienced programmers who want a deeper treatment of the language" (from chapter 1 section 1). This is such a contradiction. As a result, what could have been an impressive textbook became an expressway to frustration. Sentences tend to be written in the overly complex fashion without serving much purpose. They are just totally confusing and incomprehensive. Much concise, terse, and simplistic writing style is desired and would have done the job better for everyone. The higher level of knowledge on C++ doesn't have to be translated into more complicated writing. It gives out the wrong impression to the beginners that it is their lack of C++ knowledge that hinders the understanding of the book. D&D's ability to convey their knowledge to the readers doesn't match with their impressive programming career. The coding style is awful and definitely not recommended to anyone although it is not syntactically wrong. Too many details are explained in the context of C language as if the knowledge in C is assumed before learning C++. Layout and color scheme are extremely disoriented and tiresome to your eyes. The coverage of each topic is scattered all over the textbook. D&D just love to say "We will later discuss about...", "We previously discussed about...", and so on instead of focusing on each topic one at a time and then moving on. There are too many pop-out boxes for various tips and warnings that are repeated over and over and over to the point they are disturbing. D&D arrogantly try to write the textbook that teaches you all the syntax of the language and the lawbook that teaches you all the semantics and the techniques of the language at the same time. They set out to achieve the impossible and succeed to do neither. This book is too confusing for the beginners to the point that people will hate C++, and it is too repetitive and shallow for the advanced programmers. If anyone can overcome these difficult obstacles, however, this book has quite a lot of information. I would not recommend this book to anyone who just start learning C++. Believe me when I say this because you will be committed to the mental asylum within the first few minutes if you attempt to learn C++ with this book. Try 'Absolute C++' by Walter Savitch instead. If you have a solid knowledge on C++, D&D's book can be a decent reference book. Then again, you are better off with 'The C++ Programming Language' by Bjarne Stroustrup, 'C++ Primer' by Stanley Lippman and Josee Lajoie, and 'Effective C++ Series' by Scott Meyers if you are able to enjoy D&D's book.
4th Edition (3 stars out of 5)
The latest edition is marginally improved compared to the previous edition. The biggest difference is that the coding style is much easier to read now and more comments have been added to the program examples. The color has been toned down just a bit, but not enough to ease the pain to the eyes. Some of the lectures have been sequencially rearranged and some new methodology has been used for inheritance and polymorphism. But the core is essentially identical with the previous editions. Although this book has enormous potential to be the best C++ book in the market, the book still has the identity crisis. It really doesn't know which group of programmers it aims to help. It still is unfairly too complicated for the novice programmers and not enough substance for the advanced programmers. This is quite a book, a flawed masterpiece, so to speak. Only if D&D decide to shift the emphasis and focus on one group and lose the other, this could be a great book.
Some helpful tips for those who just started learning C++.
1) Keep in mind that C++ is a very hard and tough programming language to master.
C++ is arguably the most complicated programming language available today. It is by no mean THE perfect programming language, and it requires the tremendous amount of responsibilities from the programmer. However, no other language is as powerful, versatile, and flexible as C++. It gives the programmers the assembly-language-like freedom with the data types and the memory management. It offers the programmers the characteristics of both the high-level language and low-level language. It also provides the programmers both the efficient structure-oriented features and the strong object-oriented features at the same time.
2) C++ is not C, although C++ is derived from C language.
Although C++ is derived from C and inherited many features from C, C++ is NOT C. They are totally two different and separate languages just as Java is not C++. C is a structure-oriented language while C++ is object-oriented language. C++ has many new features that C can't even begin to dream about. Give C++ all due respect.
3) The perfect C++ textbook does not exist, so stop trying to find one.
Just about everyone who ever tried to learn C++ have attempted one way or another to find or to write that elusive perfect textbook that teaches you everything and satisfy the absolute beginners as well as the seasoned experts. The fact of the matter is there isn't one. Learning C++ can be a very long and frustrating process given the complexity of the language. It will take your full attention,...Read more›

Click Here to see more reviews about: C++ How to Program (5th Edition)

With over 250,000 sold, Harvey and Paul Deitel's C++ How to Program is the world's best-selling introduction to C++ programming. Now, this classic has been thoroughly updated! The Deitels' groundbreaking How to Program series offers unparalleled breadth and depth of programming concepts and intermediate-level topics for further study. The books in this series feature hundreds of complete, working programs with thousands of lines of code. Deitels' C++ How to Program is the most comprehensive, practical introduction to C++ ever published-with hundreds of hands-on exercises, roughly 250 complete programs written and documented for easy learning, and exceptional insight into good programming practices, maximizing performance, avoiding errors, debugging, and testing. The updated Fifth Edition now includes a new early classes pedagogy-classes and objects are introduced in Chapter 3 and used throughout the book as appropriate. The new edition uses string and vector classes to make earlier examples more object-oriented. Large chapters are broken down into smaller, more manageable pieces. A new OOD/UML ATM case study replaces the elevator case study of previous editions, and UML in the OOD/UML case study and elsewhere in the book has been upgraded to UML 2. The Fifth Edition features new mini case studies (e.g., GradeBook and Time classes). An employee hierarchy replaces Point/Circle/Cylinder to introduce inheritance and polymorphism. Additional enhancements include tuned treatment of exception handling, new "Using the Debugger"material and a new "Before You Begin" section to help readers get set up properly. Also included are separate chapters on recursion and searching/sorting. The Fifth Edition retains every key concept and technique ANSI C++ developers need to master: control statements, functions, arrays, pointers and strings, classes and data abstraction, operator overloading, inheritance, virtual functions, polymorphism, I/O, templates, exception handling, file processing, data structures, and more. It also includes a detailed introduction to Standard Template Library (STL) containers, container adapters, algorithms, and iterators. The accompanying CD-ROM includes all the source code from the book. A valuable reference for programmers and anyone interested in learning the C++ programming language and object-oriented development in C++.

Buy Now

Click here for more information about C++ How to Program (5th Edition)

0 comments:

Post a Comment