REVIEW - C# and the .NET Framework - The C++ Perspective

Title:

C# and the .NET Framework - The C++ Perspective

Author:

Robert Powell, Richard Weeks

ISBN:

9780672321535

Publisher:

Sams Publishing (2002)

Pages:

620pp

Reviewer:

Garry Lancaster

Reviewed:

February 2002

Rating:

★★☆☆☆

Whatever the true motivation behind Microsoft's introduction of the .NET development initiative (unstoppable desire to innovate, ruthless attempt to sideline a competitor, or a bit of both), there is little doubt that it will have great impact on the way many developers work. C# is the core .NET language because, arguably, it is closest to the intermediate language instructions to which all .NET languages must compile. Moreover, it is one of the only two .NET languages that support visual drag-and-drop GUI building within Visual Studio. Therefore .NET developers are likely to focus on C# together with the massive Base Class Library (a.k.a. the .NET framework), a replacement for pretty much the whole of the Windows API, MFC and ATL. This book addresses both of these subjects.

It's a reasonably long book, especially in comparison with the same publisher's C# Essentials, which is less than a third of the size. The good news is that the meatier book provides a perfectly good introductory to intermediate coverage of its subject matter. The bad news is that the smaller book does, for my money, just as good a job in many of the subject areas, by dispensing with the waffle and overlong examples on display here. C# Programming has a gentler introductory style, it's true and it does provide useful chapters on Windows Forms, Web Forms, ADO.NET, Web Services and Marshalling and Remoting, which are scarcely covered in the other book. The language is covered comprehensively, but the library is not. This is no surprise since the latter is so huge. However, serious .NET programmers will need fast Internet access to msdn.microsoft.com or a copy of the same on some form of silvery disc.

Some of the book's chapters are infected by an inordinate number of typos. Whilst these are irritating, more significantly the number of technical errors is much lower, although there are a few, for example at one point we are told that changing the name of a function's parameter is sufficient to overload it. The index is average, however the book does have an online errata page, which is good form.

In summary, this is not an essential purchase for an advanced programmer looking for a fast track to C#. On the other hand, it is a reasonable purchase for someone who has done a little programming before and is looking for a gentle introduction to C# and the .NET framework that takes them up to some subjects of intermediate complexity.


Book cover image courtesy of Open Library.