A Programmer s Introduction to C#, Second Edition
Programmers seeking a quality book to teach them about Microsoft s newest language, C#, need not look any further than A Programmer s Introduction to C#. This second edition updates the original April 2000 release with a more solidified discussion of this powerful language s constructs. And readers need not fret over waiting for the next edition; Apress offers free electronic updates to this title when a reader registers their ownership of the book on Apress Web site.
C# takes the best programming attributes of Java, C++, VB, and Delphi and combines them in a C++-meets-Java syntax. Though it s obvious Microsoft intends to make C# compete head-on with Java, it is still unclear whether the language will be adopted beyond Microsoft s Windows platform.
Author Eric Gunnerson has an advantage over other C# tutorial authors because he was a member of Microsoft s C# Quality Assurance design team, and has a solid understanding of C# s capabilities. The book includes a foreword written by C# s main designer Anders Hejlsberg, the man responsible for the evolution of Object Pascal with Borland s successful Delphi IDE.
Unlike the formal C# reference published by MSDN, A Programmer s Introduction to C# first illustrates basic OOP techniques and shows how C# adopts these. Then it walks through the unique aspects of C# that make this language a powerful programming syntax to consider. Reading the book brings a greater level of appreciation for the language s design, and enhances abilities beyond Java by including such features as support for multiple interfaces; boxing and unboxing (the ability to make value types look like reference/object types); jump statements (including support for the dreaded goto keyword); delegation; threading; calling COM and Native DLLs from C#; .NET Framework built-in support for binary, text, and XML (and using XML structured comments to generate code documentation); reflection (self-describing class interfaces); conditional compiler statements, including assertions and trace; and even the ability to support unsafe code (code unprotected by the .NET Framework run time and required for fast access to resources and structures via pointers).
Only one of the many examples in the book recommends using the Visual Studio .NET IDE. Every other code sample can be compiled by simply installing the .NET SDK. As such, be prepared to work with Notepad and the csc command line compiler. And while some readers might be disappointed that no CD-ROM containing the book s sample code accompanies the title, the examples are short enough to quickly type in, compile, and execute. I found this approach much more conducive to learning C# because it forced me to reinforce my learning of the language s syntax and behaviors by manually entering the code. The book also contains a helpful chapter comparing and contrasting C# with C++, Java, and Visual Basic 6.
Overall, I was highly satisfied with the quality and clarity the author provided in the second edition of A Programmer s Introduction to C#. I was so impressed with the quality and value of this title that I hope we see a follow up by the author on advanced C# topics.
A Programmer s Introduction to C#, Second Edition by Eric Gunnerson, Apress, http://www.apress.com.
Cover Price: US$39.95