Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Paperback
Title: Microsoft Visual C++ .NET Step by Step--Version 2003 (Step By Step (Microsoft))
Publisher: Microsoft Press
Authors: Julian Templeman, Andy Olsen
Rating: 3/5
Customer opinion - 3 stars out of 5
Incomplete Introduction to .Net

First off...the reviewer who criticized the editor for having the wrong book is the one who is wrong:this is C++, not C#. So that reviewer's dismissal should be dismissed. Second, as the editor pointed out, some reviews were for the wrong edition: they too should be dismissed. However...
I do not recommend this book for beginners. A lot of its "teaching" is done by cookie-cutter programming: find this line of code in the program...don't worry about what it actually means...now type these things under it...now compile. The reader gets working programs without fully understanding what x, y, and z mean.
And the authors don't know how to teach step-by-step, despite the book's title. It's as if they can't decide what their target audience is. Are they writing a step-by-step book (as the title implies) that gradually walks beginners through from beginning to end, holding their hands and easing them along? Sometimes. Or are they writing a book for people who already know C++ and just need to learn how to apply it to .NET? Sometimes. The worst part is that while it is possible to do both in one book, I don't feel the authors managed to do either. Beginners will be confused by the disorganized introduction of material (pointers and classes in chapter 2) and lack of explanations, while already-proficient-in-C++ programmers won't learn enough new stuff to make the book worthwhile (unless they are new to programming .NET with C++: then the later chapters will give them new stuff).
Here are some details, looked at from a newbie's perspective.
*********************************"... (the endl stream manipulation operator inserts a new-line character in the stream.)" (p5) *********************************
What the heck is a `stream', an `operator', and a `new-line', and what in the world does it mean for an operator to manipulate a stream? A newbie could be confused already...only 4 pages into the book.
********************************"How does the compiler know which function should be called first? ... The rule is that the compiler will always generate code that looks for a function named main. If you omit the main function, the compiler reports an error and doesn't create a finished executable program." (p6) ********************************
That alone is not a problem. The problem arises when the rest of the book violates the rule just provided, without explaining why!
Only the first program in the book - the trivial "Hello World!" program -- uses Standard C++ (iostream, cout, etc.). The second and subsequent programs don't include a main() function!
The book has the reader "blindly" begin typing the second program on page 20, and that program contains several non-Standard C++ entries and omits several of the most common Standard C++ elements.
(1) The program does not have a main() function but does have a _tmain(). What exactly is a _tmain() function anyway? The book doesn't say.
(2) The program does not have the typical #include <iostream> directive but does have #include "stdafx.h". So what exactly is the "stdafx.h" anyway? The book doesn't say. And why is this one surrounded by double quotes instead of by angle brackets? The book doesn't explain that either.
(3) The program does not have the typical using namespace std; statement but does have #using <mscorlib.dll>. What exactly is the <mscorlib.dll>? The book doesn't say. And why is the typical using statement (such as using namespace std;) not prepended with a pound sign while the program's #using <mscorlib.dll> is? The book doesn't say.
(4) Related to the above, the program has a using namespace System; statement. So what exactly is the System namespace? The book doesn't say.
Here's another newbie-stumper.
***************************"To access the member variables and functions, you have to dereference the pointer in one of two ways. You can use the dereferencing operator, an asterisk (*) followed by the dot notation - for example, (*cat).legs. " (p23) ***************************
Dereferencing a pointer? What the heck is a pointer? What the heck is dereferencing? The book hasn't explained either yet.
And why in the world is the book already talking about classes? Functions haven't even been covered, nor have variable types, looping, selection, scope, pointers, etc.
***************************"The lifetime of an object instantiated from the class will be managed by the .NET Framework's garbage collector. When the object falls out of scope, the memory used by the object will be garbage-collected and no explicit calls to delete will have to be made." (p22) ****************************
What the heck does "fall out of scope" mean? A newbie wouldn't know from reading the book. What the heck is delete? And should the book really be discussing topics like dynamic memory allocation on the heap and memory management when less than 2 dozen pages in?
Now note the difference between these two.
**************************** Console.WriteLine("Animal 1"); (p25) ****************************
*****************************Console::WriteLine(S"Welcome to your friendly Investment Planner"); (p49) *****************************
Why does the second one prepend a capital `S' to the string while the first doesn't? The book doesn't say.
So far I've been disappointed with several of the Microsoft Press books I have purchased. It is almost as if MS is just pumping books out one after another...each one quickly thrown together...just to get presence on the shelf (or to flood the shelves with their books): knowing that people are more likely to by an authentic Microsoft book on Microsoft products.

Product: Book - Hardcover
Title: Programming Windows With MFC
Publisher: Microsoft Press
Authors: Jeff Prosise
Rating: 5/5
Customer opinion - 5 stars out of 5
Excellent book for learning MFC

I have been writing Windows programs for several years, and have read many MFC books. This book is definitely one of the best around. It covers most of the stuff you need to know in detail. The examples provided are also quite good, not the trivial programs that you would usually see in most programming books.
A reader claimed that, "The examples aren't too helpful, and look the book is 1000+ pages¡K Keep it short and sweet, it'll take us the rest of our lives to finish reading this book¡K" This is simply not true. Programming for windows in MFC is not simple, if he cant get himself to read a 1000+ page book, then maybe programming isn't for him.

Product: Book - Paperback
Title: JavaScript: The Definitive Guide
Publisher: O'Reilly
Authors: David Flanagan
Rating: 5/5
Customer opinion - 5 stars out of 5

It seems in the whole web development process I keep coming back to this book for answers. Absolutely essential for any cross-browser javascript that needs to be written as well as cross-browser comparisons. I can't write javascript without it!! If I could give it 6 stars I would for one reason, the coverage of regexp!!!! The absolute heart of PERL and the best thing to hit earth for string manipulations. Go get it now!!!

Product: Book - Paperback
Title: Microsoft Access 2000/Visual Basic for Applications Fundamentals
Publisher: Microsoft Press
Authors: Evan Callahan
Rating: 4/5
Customer opinion - 4 stars out of 5
Very Good for Beginners

Before I started I knew some VBA and some Access. This book helped to me learn the things I needed to know. Well written, organized, accurate.
It's NOT a good tutorial on either VBA or Access, tho.