Practical C++ 307
Practical C++ | |
author | Rob McGregor |
pages | 900 |
publisher | QUE |
rating | 7/10 |
reviewer | Jess Sightler |
ISBN | 0789721449 |
summary | Provides a practical guidebook to learning C++ |
Section I -- Programming 101
At first glance, the book appears to be written for people with experience programming, however reading through this section clearly dispels that myth. Here we have a section which goes over everything from for loops to if conditionals while simultaneously using verbose, duplicitous language at every step. Perhaps this was intended as a means of reinforcement, however, it seems most of the effort here would be wasted.The technical depth is what you would expect for a novice, but without enough hand-holding and examples to make a novice feel comfortable. Making matters worse, there are numerous typos in this section, including quite a few in the examples (making them uncompilable without corrections). Some of these appear to be type-setting errors, however, there are enough to potentially confuse novice developers.
I believe that the combination of weak examples, and significant typographical errors are strong enough to give a novice much difficulty in learning the C++ language.
Having said that, the section should be provide no difficulty for any programmer with a good knowledge of any vaguely similar language (eg, Perl, Java, PHP, etc).
Section II -- Beyond the Basics
Ah, now we're getting down to Brass Tacks... this section goes over everything from Function overloading to Structure and Unions. The section on function members within structures also does an excellent job of preparing the reader for the upcoming introduction of Object Oriented concepts.
The sections on Memory management, both from an allocation standpoint, and from a bit manipulation standpoint are first-rate. Details are perhaps not as strong as they could have been, however the material is very accessible, and clearly described.
Probably my only complaint with this chapter is the overly general section on compiling and debugging programs. However, as this book does attempt to be somewhat compiler/debugger agnostic, this is forgivable. From here, we dive into the real power of C++, Object Orientation.
Section III
From the beginning, this book treats Objects as an extension of the structure syntax taught previously (with the default of Public switched to Private). This, along with the classic Plans vs. Product description of the difference between a Class and an Object are quite clear and robust.
Again, this is a solid chapter, describing the details of getting a system of classes up and running, as well as some sample data structure implementations.
And then finally, the last section is a slightly less than 200 page description of the STL. This section is probably the book's weakest part, as it is just strong enough to give you a taste of what is available, but often not strong enough to grasp the details. It's a good start, but much more attention should have been made to this subject (potentially even at the cost of some of the wasted words on how a 'for' loop works). It makes a decent introduction for someone with very limited STL background, however, there is not enough depth to reach a strong level of understanding here.
Summary
Overall, this is a solid book for an existing programmer to pick up C++ concepts. A programmer with a strong knowledge of an existing procedural language (such as C) would have no trouble digesting the concepts of this book. Having said that, the poor typographical issues, and verbose wording often muddle an otherwise good book.
You can purchase Practical C++ from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
"Practical C++" (Score:2, Funny)
Its the only language that ive had trouble getting
cout "Hello World!";
(or equivalent)
to compile.
Book spoiler (Score:5, Funny)
900 pages! (Score:2, Funny)
Re:"Practical C++" (Score:5, Funny)
My mother is in fact a software developer and has no problems getting a "Hello World" to compile.
Re:"Practical C++" (Score:2, Funny)
public static void main ( String args [] ) {
System.out.println("omg i hate teh java!!1");
}
}
Cease and Desist (Score:2, Funny)
The code examples in this book are part of the intellectual property owned by SCO. You must pay $650.00 per code example to receive a license that allows you to use our IP. Send check or money order, no cash please.
Thank You,
Darl (Big D)
philosophical puzzlement (Score:5, Funny)
I'm not sure what books would be good for non-existing programmers.
Re:Cease and Desist (Score:5, Funny)
A hit-man cost about $30,000. hmmm....
Sorry Darl McBride, it's not personaly, it's just economics.
practical? (Score:5, Funny)
Steve
This book has been out a few years.. (Score:5, Funny)
Re:Book spoiler (Score:5, Funny)
No, no, this is C++, remember? It ends with };.
Re:Cease and Desist (Score:5, Funny)
A hit-man cost about $30,000. hmmm....
Sorry Darl McBride, it's not personaly, it's just economics.
I clearly need to move to a nicer area. The going rate for a hit round here is less than a tenth of that. And the body would probably dissolve in the river...
about the title (Score:3, Funny)
Why you young whelp! (Score:2, Funny)
C invented the dangling pointer. And it put the buffer overflow on the map.
Kids these days. You have everything we worked hard for handed to you on a silver platter. You have no idea where these concepts even originated. PHAH!
Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE (Score:3, Funny)
Except for all other languages...
Re:C AND C++ ARE THE WORST LANGUAGES EVER DEVELOPE (Score:4, Funny)
C and C++ combine all the raw speed and power of assembly with all the grace and smooth design of assembly.
(I heard that somewhere - don't know the original source).
Re:philosophical puzzlement (Score:5, Funny)
Abstract C++ Programming
Re:Stereotype, that C/Cis "just faster" (Score:1, Funny)
And by those numbers, if C is faster than C++, then B [wikipedia.org] must be smoking fast! A comparison of B and A++ would then determine if it's the letter or the added "++" slowing down the run time.
The author obviously has something to hide.
Re:Stereotype, that C/Cis "just faster" (Score:2, Funny)