Monday, March 30, 2009

Introduction

Iremember a time years ago when I proposed a book to Apress regarding a forthcoming software SDK
code-named Next Generation Windows Services (NGWS). As you may be aware, NGWS eventually
became what we now know as the .NET platform. My research of the C# programming language and
the .NET platform took place in parallel with the authoring of the initial manuscript. It was a fantastic
project; however, I must confess that it was more than a bit nerve-racking writing about a technology
that was undergoing drastic changes over the course of its development. Thankfully, after many
sleepless nights, the first edition of C# and the .NET Platform was published in conjunction with the
release of .NET 1.0 Beta 2, circa the summer of 2001.
Since that point, I have been extremely happy and grateful to see that this text was very well
received by the press and, most important, by readers. Over the years it was nominated as a Jolt
Award finalist (I lost . . . crap!) and for the 2003 Referenceware Excellence Award in the programming
book category (I won? Cool!).
The second edition of this text (C# and the .NET Platform, Second Edition) provided me the
opportunity to expand upon the existing content with regard to version 1.1 of the .NET platform.
Although the second edition of the book did offer a number of new topics, a number of chapters and
examples were unable to make it into the final product.
Now that the book has entered its third edition, I am happy to say that the manuscript contains
(almost) all of the topics and examples I was unable to cram into the previous versions. Not only
does this edition of the text account for the numerous bells and whistles brought about by .NET 2.0
but it also incorporates a number of chapters that have long been written but not yet published
(such as content on the common intermediate language, or CIL).
As with the earlier editions, this third edition presents the C# programming language and .NET
base class libraries using a friendly and approachable tone. I have never understood the need
some technical authors have to spit out prose that reads more like a GRE vocabulary study guide than
a readable book. As well, this new edition remains focused on providing you with the information
you need to build software solutions today, rather than spending too much time examining esoteric
details that few individuals will ever actually care about.
We’re a Team, You and I
Technology authors write for a demanding group of people (I should know—I’m one of them). You
know that building software solutions using any platform is extremely detailed and is very specific
to your department, company, client base, and subject matter. Perhaps you work in the electronic
publishing industry, develop systems for the state or local government, or work at NASA or a branch
of the military. Speaking for myself, I have developed children’s educational software, various n-tier
systems, and numerous projects within the medical and financial industries. The chances are almost
100 percent that the code you write at your place of employment has little to do with the code I write
at mine (unless we happened to work together previously!).
Therefore, in this book, I have deliberately chosen to avoid creating examples that tie the
example code to a specific industry or vein of programming. Given this, I choose to explain C#, OOP,
the CLR, and the .NET 2.0 base class libraries using industry-agnostic examples. Rather than having
every blessed example fill a grid with data, calculate payroll, or whatnot, I’ll stick to subject matter we
can all relate to: automobiles (with some geometric structures and employees thrown in for good
measure). And that’s where you come in.
My job is to explain the C# programming language and the core aspects of the .NET platform
the best I possibly can. As well, I will do everything I can to equip you with the tools and strategies
you need to continue your studies at this book’s conclusion.
Your job is to take this information and apply it to your specific programming assignments.
I obviously understand that your projects most likely don’t revolve around automobiles with pet
names, but that’s what applied knowledge is all about! Rest assured, once you understand the concepts
presented within this text, you will be in a perfect position to build .NET solutions that map to
your own unique programming environment.

No comments:

Post a Comment