Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
C# in a nutshell
Drayton P., Neward T., Albahari B., O’Reilly & Associates, Inc., Sebastopol, CA, 2003. 856 pp. Type: Book (9780596005269)
Date Reviewed: Feb 10 2004

The books in the Nutshell series from OReilly have become popular references for programmers, since they provide concise information on the topics they cover. These books are not targeted at novice users of a system, but rather at people with intermediate to expert skills. This book seeks to provide a no-frills introduction to the C# language, and to associated technologies from Microsoft. While it is difficult to call a book of almost 900 pages concise, this tome does not disappoint in its intended role as a convenient reference book.

Five main parts make up the book. The first part (chapters 1 to 4) covers the basics of programming with C#. A programmer who has prior experience with Java or C++ (and no experience with C#) will find the first two parts of the book extremely useful, and detailed enough to start programming in C#. Novice programmers would be better served by a different book, with more code examples and detailed explanations. Chapter 1 introduces some background on the C# language and the .NET framework. Chapter 2 discusses the basics of the language (basic types, arrays, expressions, operators, and statements). The authors introduce user-created types in chapter 3, including classes, inheritance, access modifiers, structs, interfaces, and enums. Chapter 4 addresses advanced features of C#; delegates are discussed in some detail in this chapter.

The second part (chapters 5 to 20) gives the reader an introduction to programming with the .NET framework. This part forms the major chunk of the introduction, with short chapters devoted to string handling, collections, Extensible Markup Language input/output (XML I/O), networking, streams, serialization, reflection, memory management, and threading. The chapters on serialization, threading, custom attributes, and reflection are somewhat lightweight. If the reader is not already familiar with these concepts, this is not a good place to start. In some cases, it might be handy to have the C# language specification (freely downloadable from the Microsoft site) at hand for more code examples. The chapters on integration with native dynamic link libraries (DLLs) and integrating with COM components are also not too detailed. Obviously, these sacrifices have been made to keep the book short, but it has probably done more harm than good.

Part 3 (chapters 21 to 23) discusses the tools available with the .NET framework software developers kit (SDK). Chapter 21 of the book discusses the predefined set of Extensible Markup Language (XML) tags that can be used to generate documentation for C# programs. Chapter 22 discusses C# naming and coding conventions released by Microsoft. The C# development tools available with the .NET framework SDK are discussed in chapter 23. This chapter provides a very handy one-stop reference for all of the command-line utilities that ship with the SDK.

Part 4 is the application programming interface (API) reference, and Part 5 contains the appendices. The introduction to the API reference section states that it is a succinct but detailed API reference of 21 important namespaces and more than 700 core types and their members. The entries are ordered by types and namespace. If readers do not know the namespace of a type they are trying to look up, they can refer to the Type, Method, Property, Event, and Field Index, right after Appendix E. Both of these features together make it easy to look up information on types. The namespace listing is by no means comprehensive (another sacrifice made to keep the book compact). Some notable omissions are System.Windows.Forms, System.Web, and System.Security.

The CD that comes with the book allows the user to plug the reference section into the Visual Studio .NET dynamic help facility. While this is convenient for people who have Visual Studio .NET installed, it is of little use to people who are using the .NET framework SDK. It would have been more useful if the CD also included Hypertext Markup Language (HTML) or portable document format (PDF) documentation.

In spite of the minor problems I have mentioned above, it is difficult not to recommend this book to programmers who work with C#. The reference would be a very good starting point for looking up any information. For more details, or code samples, one might need to look at other books, or at documentation provided by Microsoft.

Reviewer:  Robin Abraham Review #: CR129070 (0407-0768)
Bookmark and Share
  Reviewer Selected
 
 
C# (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "C#": Date
Programming C#
Liberty J., O’Reilly & Associates, Inc., Sebastopol, CA, 2001.  680, Type: Book (9780596001179)
Jun 12 2002
C# primer: a practical approach
Lippman S., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2002.  394, Type: Book (9780201729559)
Jun 5 2002
C# essentials
Merrill B., Drayton P., Albahari B., O’Reilly & Associates, Inc., Sebastopol, CA, 2002.  216, Type: Book (9780596003159)
Jul 8 2002
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy