<< 1 >>
Rating:  Summary: Everything the other great bookss dont tell you Review: I am experienced C++ in 10 years, and have read many books by the great authorities in C++ in that years.
If you have read some books published in recentl years they assume you work with perfect compilers, perfect libraries, perfect language. All three are wrong. This book gives great insities into how to write advanced C++ with reality now, in "Surviving the Real World" (Part 2).
One important difference between this book is that it shows advanced techniques that will work with many compilers, which soime other books do not - only working with Comeua or GCC compiler.
His sense of humor is not what I understand, but that does not stop the writing being telling me important things.
Part 1 and 3 are not best ever, but part 2, 5, 6 are all excellent, and worth money.
If I had six stars I would give him, because he had been brave enough to look at issues that other famous aithors have never dealt.
Rating:  Summary: Save yourself some road-rash Review: I've read Matt's articles in various C++ journals for over a year now; he is extremely engaging as an author, and honest in the sense that he shares his observations without trying to convince you to think like him or make you like him.
Early on in the book, Matt mentions that he is a cyclist. I've read most of the book and it finally occurred to me that he approaches the subject of C++ programming as a long distance race course; this part of the course is not what you expect it to be, here are the twists and now let's talk about how to deal with them. I've been a C++ programmer since the early nineties and this is some of the most realistic material I've seen.
The great benefit of this book to any experienced C++ programmer is that Matt is a wise counselor; he trusts us to do what we believe is best for our own projects and helps us understand the consequences of one choice over another. Beyond that, there are a lot of interesting techniques that come across in the course of exploring C++ warts (like any good dermatologist) and attempting to find workable cures. This is not a "how-to" cookbook for solving specific problems. The discussions really are worth reading.
Matt's skill with technical issues is quite impressive. No matter how deep it goes, the material is never dry, and there is (so far, at least) always an "ah-ha" moment where I realized why this discussion is relevant (if it wasn't obvious before).
Some of the topics are expanded versions of his articles; some material I haven't seen covered in other books. Even in "older" topics I've found "good stuff"; I thought I understood a lot about memory from my days as an assembly language programmer but Chapter 32 was still a learning experience.
Last, and possibly least, he has a truly profound sense of humor that is refreshingly untainted by American late-night television. The footnotes are worth skimming the book for!
If you are responsible for writing C++ code that will be used in commercial products or important in-house systems, I highly recommend this book.
Rating:  Summary: Advanced Advice for the Pragmatist Review: It's nice to see a book covering intermediate-to-advanced C++ topics for real programmers. It's hard to find a book with so many crucial solutions for production development. No ivory tower drivel here - this book has industrial-strength techniques that will keep you on target. And this is more than just practical C++; this is a usable catalog of powerful software design tactics from someone who really knows. When you hit a wall (you know you will), chances are Matthew can help you over, around, or through - whatever it takes. (And the phraseology from a Brit living Down Under makes for some good entertainment :-).
-- Chuck Allison, Editor, The C++ Source
Rating:  Summary: 3 Thumbs Up for Imperfect C++ Review: Strange anatomy to be sure, but just when it seems like C++
is all thumbs here comes Imperfect C++, Matthew Wilson's
bandage kit for some of the nicks and scrapes C++ programmers
acquire along the road to binary bliss. Detailed treatments
abound in this advanced work: a short laundry list includes
type system extensions, template extravaganzas, rock hard
NULL pointers, ranges, multidimenstional arrays, memory memory
memory, and more. Read Imperfect C++ and you won't second guess
your choice to dump the Java certification training after
the local telecom had its latest round of IT layoffs. In case
it isn't clear, this isn't a good choice for a first book on
C++ programming, but rather is perfect for the hacker just starting
to feel the romance of the trade for the first time.
Rating:  Summary: many workarounds Review: The title is deliberately provocative. It's meant to catch your eye and ire if you are a C++ programmer. But the text amasses a good collection of tips for the C++ and C professional. As Wilson shows, several of these tips pertain to both languages. Like the lack of a dimensionof() function to give you the size of an array in terms of the number of its elements, and not just a simple byte count. Of course, an easy workaround has been known for 20 years, and which in turn has limitations.
Wilson presents other obvious shortcomings. Like the inability to write "void computeSomething(int q[][][])". Frustrating.
If you are a hardcore programmer, the chances are good that you already know several of the limitations he describes. But perhaps not all. That is the merit of his book. He certainly does not claim to have been the first to discover these. But by him compiling them under one cover, you can potentially save time in studying his workarounds for limitations you are struggling with.
Rating:  Summary: A Great C++ Journey Review: This book is a fantastic source of C++ information, ranging from contract programming, through multi-threading issues, to shims, veneers, and bolt-ins. Haven't heard of the last three? Well, beyond the treatment of topics that are already in your vocabulary, Matthew thoroughly discusses inventions of his own (and/or refinements of existing techniques). I especially enjoyed parts two and three of the book, where the foundation from part one is put to real-world use. As this is, to a large extent, a practical guide to taming the beast that is C++, it fills a hole left open by many other (more theoretical) books. The author has quite a unique writing style, which reflects his colorful personality - resulting in a rewarding and fun read. In a sea of C++ pop, Imperfect C++ stirs up the water with some soul.
Rating:  Summary: A Must-Have C++ book for intermediate to advanced developers Review: This book is a must-have for anyone writing code with stringent porting requirements (such as a library for multiple compilers or platforms), as it shows where the pitfalls are in both theoretical and very practical terms. More importantly, this book is a must-have for anyone wishing to expand their vocabulary of incredibly useful C++ programming techniques and patterns.
Newer practitioners can avoid the dead ends that us "old fogies" have taken (the first few parts of the book are about this), and us "old fogies" can learn a lot of new "tricks of the trade" (the latter half of the book).
The book addresses language concerns and techniques tempered by practical considerations. Combining the theoretical with the practical gives solutions which are useable both now and in the future.
Rating:  Summary: Perfection at resolving Imperfection Review: This first-hand tour through the myriad of knotty enigmas wrapped around the C++ language not only proposes, produces, and presents them, but it also illustrates many possible remedies.
I expected something more inline with the "gotchas" and "let-my-ego-show-you-what-you-did-wrong" pattern of books. I was fortunately surprised. The book is one of those excellent reads (and many re-reads, trust me) that must sit on that messy desk (as placement upon the bookshelf, rather, would cause frequent visits).
For those not phyiscally holding the book at purchase time, each section contains a hefty dose of "tips and tricks". It also contains the "what's currently wrong" and "what can be done about it". Specific imperfections of the language are exposed as soon as the topic transitions. What the perceived problem is, what's really going on, simple work-arounds, intermediate-to-advanced level fixes, and oddly entertaining chatter are some of things that you will find.
There is too much in this book (that does look to be small) to absorb through those casual readings, and it is pretty dense. In my opinion, this book is meant as a read a little, go practice at the keyboard, see what's going on, modify existing, learn and continue ...
Don't get me wrong, this book is packed full of riches, but it does not become stale. The author has some witty humor that he throws in now and then and some personal dilemmas he has faced in the field to make for an enjoyable break from the high prose and technical.
Flipping to the back, there's a CD and some very useful appendices. I'm not going to give all the goods away; but on the CD are some excellent suites of tools and software that will come in handy as I have found out, most are from the author (libraries, programs, etc.).
Some other reviewers (along with amazon.com) mentioned some of the contents (like shims, veneers) so I won't explain what it covers. Basically, there is a lot of something for everyone of every skill. I was embarrassed in regards to a few things I would walk around instead of facing head-on while reading.
All in all, a good book. This chunk of tricks and experience is wroth keeping close.
...and I'm less than 1/4 through...
<< 1 >>
|