52 of 56 people found the following review helpful
4.0 out of 5 stars
C++ showing its age, May 12 2008
By Rennie Petersen - Published on Amazon.com
This review is from: Ivor Horton's Beginning Visual C++ 2008 (Paperback)
Just read an interview with Bjarne Stroustrup, the inventor of C++, where he studiously avoided talking about C# as much as possible. Understandable, perhaps - in my opinion most (not all, but most) programming projects for Windows systems would benefit greatly from using C# instead of C++.
Not that the above observation has anything to do with "Ivor Horton's Beginning Visual C++ 2008"; I just felt the urge to pass along that opinion in case the reader of this review has not yet decided whether to start learning C++ or C#.
For those who are interested in learning C++ for use with Windows, I can recommend this book. It is well written and covers everything you need to know to get started. In fact, at 1356 pages (not 1392, as currently listed at Amazon) it covers much more than most people need to know.
In Visual Studio 2005, and continuing in Visual Studio 2008, Microsoft introduced a new dialect of C++ called C++/CLI. The great advantage of C++/CLI is that it allows you to integrate "managed" programming (programs that run on the .Net Framework) and "unmanaged" or "native" programming. This is a unique ability of C++/CLI, and for this kind of programs C++/CLI can run circles around C#.
Ivor Horton's book provides a good introduction to C++/CLI, with most chapters being divided into two parts; the first part about classical (ANSI/ISO) C++ and the second part about C++/CLI. However, as a beginner's book, it does not get into the really exciting managed/unmanaged "interop" parts of C++/CLI. For that you will need a more advanced book, for example Expert Visual C++/CLI: .NET for Visual C++ Programmers (Expert's Voice in .Net) - and some experience in creating both managed and unmanaged programs.
On the other hand, if C++/CLI is of no interest to you, then you can easily ignore those parts of the book.
Turning to more general comments, this book is well written and does a good job of describing all of the (sometimes messy) details about C++. There are many programming examples, all meticulously explained. The source code for the examples is available on the publisher's web site. There is even an online service - at one point I mistakenly thought I'd found a bug in one of the examples and I reported it as errata. In response I received a kind message from Mr. Horton himself telling me why I was wrong.
I liked the occasionally humorous tone of the book too, and was especially intrigued by Mr. Horton's reference to a book called "Paneless Programming" from 1981.
There are no major negative aspects, but I did find the fairly large number of typos somewhat irritating. Another surprising experience was that the index, although huge at 38 pages, was missing obvious entries such as "enum" and "typedef". Occasionally material was presented in a slightly illogical way, being (prematurely?) mentioned briefly in one chapter and then finally described properly in a later chapter.
As mentioned by other reviewers, in order to do the MFC parts of the book you need to have access to one of the non-free versions of Microsoft Visual Studio 2008.
This is a very good introductory book about C++ and C++/CLI for Visual Studio 2008.
Rennie Petersen
23 of 26 people found the following review helpful
5.0 out of 5 stars
BEST OF ITS KIND, April 15 2008
By John P. F. Oconnor "jpfoc" - Published on Amazon.com
This review is from: Ivor Horton's Beginning Visual C++ 2008 (Paperback)
I have used Ivor Horton's books on Visual C++ since Beginning Visual C++ 4 and this latest book conforms to the very high standard set by the previous books.
First of all, the book is written for the IDE(s) provided and not the other way round. This book covers the ISO/ANSI standard C++ and the Microsoft extension C++/CLI, together with the Standard Template Library, in the first 11 chapters. Windows Programming is introduced in Chapter 12 and covers both MFC and Windows Forms.
Now, if you want to go down the traditional game Programming route, then Win32 and Standard C++ is what you will need, together with DirectX or OpenGL at a later stage. The book covers all the C++ you will need for that. However, should you want something for business applications, together with a graphics capability and a rich GUI, then that is covered also with Windows Forms and, although I have never used it, presumably Visual Studio Express is perfectly adequate for this exercise.
A problem emerges if you have used and want to continue using MFC, since these classes are not part of the Express version. Presumably, Microsoft considered that those who would want to use MFC have done so in previous versions of Visual Studio and would simply upgrade to, at least, the 2008 Standard version.
The fact remains, however, that this book covers Windows Forms, and all that you could do with the MFC can be done as well, if not a lot better, with Forms. And since the Express version contains Windows Forms, it is difficult to imagine there being any problem with reaching project objectives.
Having said that, I would like to conclude by saying that this is a truly excellent work, and it is very difficult to see how this beginning text could be improved upon, even by Wrox standards.
14 of 16 people found the following review helpful
3.0 out of 5 stars
Reasonable title but already showing its age, Sep 25 2008
By obediah - Published on Amazon.com
This review is from: Ivor Horton's Beginning Visual C++ 2008 (Paperback)
"Beginning Visual C++" is a book divided into two main components. The first half of the book is dedicated to teaching the reader about ANSI C++, that is standardized C++ with no Microsoft specific features. The second part of the book is dedicated to Microsoft specific additions to the language. Here the author shows the user how to use the Microsoft Foundation Classes as well as programming with the .NET framework.
Overall the book is well written and clear to understand. As the title indicates it is pitched at the beginner market. However, its primary flaw is that it tries to deliver too much for a single text. With plenty of excellent ANSI C++ references on the market, it is a mystery to me as to why the author tries to cram two books into the one volume. The end result is that both sections of the book do not go into as much detail as they could.
ANSI C++ is currently undergoing a very major revision and the standard will soon include regular expressions, smart pointers, hash tables and random number generators. These are not by any means "advanced" features of the language and I feel that any C++ book written from 2008 onwards should include at least a brief reference to what will shortly become a core component of the language. The MFC component feels similarly dated in that it does not include coverage of ribbon elements, docking toolbars, tabbed documents and so forth.
I have not read any of the previous "Beginning Visual C++" volumes by Horton but it feels as if he has simply tacked on small, incremental changes as each new release of Visual C++ has come out rather than making the broad sweeping changes necessary to do justice to some of the new feature sets discussed above. Nonetheless I would still recommend the purchase of this book for beginners who have absolutely so C++ experience at all.