Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Paperback
Title: C++ How to Program (5th Edition) (How to Program)
Publisher: Prentice Hall
Authors: Harvey & Paul) Deitel & Associates
Rating: 5/5
Customer opinion - 5 stars out of 5
At last Deitel & Deitel delivered!

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, devotion, and time to master C++ no matter which textbook you choose to use. Many books claim to be the one. Many programmers claim that the book they recommend is the one. But the experienced programmers will find the beginners' textbooks such as 'Starting out with C++' by Tony Gaddis insulting and waste of time while the novice programmer will find advanced textbooks like 'The C++ Programming Language' by Bjarne Stroustrup very intimidating and frustrating. It really depends on each individual's level of the knowledge on C++. One person's best textbook can be another person's total waste, and everyone has a different and unique way of digesting information. Make sure that you thoroughly check the contents before you choose to buy any C++ textbook. Instead of taking others' recommendations and advices for granted, you should try to find the right combination on your own. You will probably need to use a few different textbooks together, because single textbook cannot possibly cover all the topics and the required depth necessary to master C++. This is especially true for the advanced topics such as 'Templates', 'Data Structure', 'STL', and 'File Processing', which are broad and complicated enough to deserve a single textbook. I recommend 'Absolute C++' by Walter Savitch for the absolute novice programmers. If you have few or no prior programming experience, this will be one of the easiest textbooks available. If you are the advanced programmers, you really should be able to understand anything written about C++. 'C++ Primer' by Stanley Lippman and Josee Lajoie or 'Core C++: A software Engineering Approach' by Victor Shtern could substitute as the alternative textbook for the advanced programmers. If you are the expert programmers, 'C++ FAQs' by Marshall Cline, Greg Lomow, and Mike Girou, 'Effective C++' series by Scott Meyers and 'The C++ In-Depth Series' from Addison-Wesley should be adequate enough to satisfy your ego and to teach you many advanced techniques not found in other textbooks.

Product: Book - Paperback
Title: Secrets and Lies : Digital Security in a Networked World
Publisher: Wiley
Authors: Bruce Schneier
Rating: 5/5
Customer opinion - 5 stars out of 5
A useful summary of security issues

If you learn about privacy and security issues by reading the papers and/or Peter Newman's Risks, you know about incidents that have surfaced. This book gives you a framework for thinking about security and privacy incidents in this networked age.
The author is a cryptographer and has his own systems security consulting firm. His major theme is that a company's security cannot be assured by technical means. Some security losses are unavoidable, according to the author. Thus, a manager must view security as a process in which prevention, detection and followup are important. The author sees a need for more outsourcing and insurance in the coming years.
As far as I know there is no other book like this one. On that basis alone, it merits five stars. The coverage is broad and the treatment is accessible to the layman. The author writes very well. He uses examples effectively.
The book is intended as a trade book, I assume, but I think it would be a good textbook in an MBA course. It might be appropriate in a computer science graduate program, also, as a non-technical introduction to the issues.
Having praised the book, I must also point out that some topics are discussed more than once in the book. The repetition is a little off-putting by the end. But, overall, this is an excellent book and I highly recommend it.

Product: Book - Paperback
Title: Dreamweaver MX 2004: The Missing Manual
Publisher: Pogue Press
Authors: David McFarland
Rating: 5/5
Customer opinion - 5 stars out of 5
Finally a book to fill in the gaps and a great one at that!

One thing I have learned over the passed 15 years is that very few software packages ever come with user guides that are useful. Working with any application is always a challenge and the right help makes everything goes so much easier. The "Missing Manuals" series has provided some of the best reference manuals out there today and this book is another example of the quality work released by O'Reilly press.
The author has proven to be very knowledgeable in the DreamWeaver application arena. I found the book to be easy to read and follow along with and the material fills in the gaps left out by the user manual. The instruction is written to all levels making sure that everyone can use this book and the figures included give a visual learning environment. Now in the updates if color was included this would enhance the learning process.
There are a number of step-by-step instructions to follow along with, giving you the opportunity to practice what you read. I think that a there could be more exercises included in the next edition, but what you have is certainly enough to get by.
There seems to be coverage of all aspects of DreamWeaver MX 2004 in this book, from the web page to the web site and everything in between. I was able to find answers to several questions I had with the software and I know of several people who have benefited from the book already.
Overall this is one great book and for those who need to use the software or those who want to get better you should be reading this.

Product: Book - Paperback
Title: The Design of Sites: Patterns, Principles, and Processes for Crafting a Customer-Centered Web Experience
Publisher: Addison-Wesley Professional
Authors: Douglas K. van Duyne, James A. Landay, Jason I. Hong
Rating: 5/5
Customer opinion - 5 stars out of 5
Two words: Exceptionally useful

If I could keep only one of the dozen or so User Interface-related books I purchased in 2003, this would be the one.
I haul it along to most of my clients (I'm a user interface designer). The design patterns in the book actually do help us to design more effectively. The patterns describe recurring issues and trade-offs in relation to specific design problems. Each pattern also describes a solution to its specific problem. Instead of starting from square one, we can start with something known to work and modify or refine it as needed for our specific site. Yes, I knew a lot of this already, but it's still a big help to have it all written down, illustrated and organised at my fingertips. And it really helps my clients who are working on a first, second or third system and who don't have a personal database of tens or hundreds of projects. Or the ones who are caught in an endless discussion loop. The book itself is easier to use than any other reference book in my collection. The patterns are organised and cross-referenced so that I can easily pick out just what I need for a given project. The book has a clear and pleasant visual organisation with color-coded sections. It is heavily illustrated with examples and sketches. And the resources section at the back is truly thorough, not just an afterthought.
This is one of the books I especially recommend to software developers, since many of them are already familiar with the use of patterns in designing code. And I've found that developers on the whole are a pragmatic bunch, always looking for a way to get better results with less effort. That's exactly what the Design of Sites is good for.