Microsoft Visual Studio 2008

Denver Visual Studio User Group   www.DenverVisualStudio.net 

 
 
 Review Details

Denver VS UG - Home    

     Also see Reviews and How To Review.
   
 
Programming C#, Fourth Edition - Building .NET Applications with C# Building .NET Applications with C#
Author(s): Jesse Liberty
Published: 2005, Copyright: 2005, ISBN 0-596-00699-3, 672 pages
Publisher (more . . .):  O'Reilly
 
   
 
 Review
 

 Four out of Five Stars
  Reviewed: July, 2005
  Reviewer: Dmitri Nevedrov
 
       The book is divided into three parts - introduction and presentation of C#, C# programming techniques, and description of .NET framework and runtime environment.

     First part starts with the history and motivation behind .NET and in particular C# programming language particular. And, as in most programming books the author presents a typical C# "Hello World" application, followed by discussion about such concepts as classes, methods, attributes, namespaces, that helps the reader to learn or refresh object oriented programming and language syntax. The details are provided about compilation and running "Hello World" application, instructions are sufficient enough for the beginner to launch the app and even debug through it.

     Fundamentals of the C# language are presented in the next chapter, this includes types, statements, enumerations, operators, processor directives. After that the author gives a detailed description of C# classes – their declaration, initialization, constructors and destructors, overloading, encapsulation, and accessors - essentially the basic object oriented concepts, followed by inheritance and polymorphism - the section that also includes abstract and sealed classes, boxing and unboxing. Next paragraphs are about overloading, structs and interfaces. I think it would be logical to have the Interfaces mentioned earlier in a special chapter focused on general object oriented C#, instead of dedicating a separate chapter to it. Next is Arrays, Indexers and Collection - a long and very detailed chapter that explains the usage and handling of these structures. Strings, Exceptions, Delegates and Events are each very important and used by every C# programmer, and author dedicated each of them a separate chapter, thus closing the first part of the book.

     Part 2 actually helps to apply the knowledge of the language to build applications, using Visual Studio as a development tool. We learn about Forms - basic user interface components, creating and coding controls. ADO.NET and data access are also described based on SQL databases. ASP.NET and web services are described in the next chapter, here we learn how to use visual and data access controls to create a web application. Steps to create an web services application are presented in good details.

     The last part of the book is about .NET framework and runtime environment. It starts with a chapter about marshalling and remoting, that focuses on application contexts and boundaries, marshalling (transporting) objects across application domain boundaries, marshalling with proxies. An example to build a server and a client. Next chapter is threads and synchronization. The author assumes that the reader is already familiar with multithreading and focuses on how threads work in C#, we particularly learn about creating, running, killing threads and applying locks and monitors to synchronize them. Race conditions and deadlocks are mentioned at the end of the chapter.

     The streams chapter is essentially about input output and is dedicated to reading and writing data from/to files and sockets. The last chapter is about integrating .NET with COM and ActiveX. Although the subject deserves a separate book, the author provides a detailed example how an ActiveX control can be imported into Visual Studio .NET project.

     Overall the book gives a good detailed introduction to C# as a language and teaches how to use it in practice to build either desktop or web based application accessing database. Author illustrates material by screenshots and code examples, that helps the reader to easily create his or her own program. I think, given compact size of the book, author managed to put together all necessary details about C# as a programming language, .NET framework and their essential programming techniques. The book is a good reference material for someone already familiar with basics object oriented programming, multithreading, input output and looking to learn C# basics or make transition from Java to C#. As a developer who programmed with different languages I found the book to be a useful C# syntax reference source.
   
  Top
  Copyright © 2000 - 2008 Denver Microsoft® Visual Studio User Group™.
All Rights Reserved. Please see Notice