Preface

 < Day Day Up > 

"The process of preparing programs for a digital computer is especially attractive because it not only can be economically and scientifically rewarding, it can also be an aesthetic experience much like composing poetry or music."

Donald Knuth, Preface to Fundamental Algorithms (1968)

Thirty-seven years later, programmers still experience the same creative satisfaction from developing a well-crafted program. It can be 10 lines of recursive code that pops into one's head at midnight, or it can be an entire production management system whose design requires a year of midnights. Then, as now, good programs still convey an impression of logic and naturalness particularly to their users.

But the challenges have evolved. Software is required to be more malleable it may be run from a LAN, the Internet, or a cellular phone. Security is also a much bigger issue, because the code may be accessible all over the world. This, in turn, raises issues of scalability and how to synchronize code for hundreds of concurrent users. More users bring more cultures, and the concomitant need to customize programs to meet the language and culture characteristics of a worldwide client base.

.NET and the languages written for it addresses these challenges as well as any unified development environment. This book is written for developers, software architects, and students who choose to work with the .NET Framework. All code in the book is written in C#, although only one chapter is specifically devoted to the syntactical structure of the C# language.

This book is not an introduction to programming it assumes you are experienced in a computer language. This book is not an introduction to object-oriented programming (OOP) although it will re-enforce the principles of encapsulation, polymorphism, and inheritance through numerous examples. Finally, this book is not an introduction to using Visual Studio.NET to develop C# programs. VS.NET is mentioned, but the emphasis is on developing and understanding C# and the .NET classes independent of any IDE.

This book is intended for the experienced programmer who is moving to .NET and wants to get an overall feel for its capabilities. You may be a VB6 or C++ programmer seeking exposure to .NET; a VB.NET programmer expanding your repertoire into C#; or and yes it does happen occasionally a Java programmer investigating life on the far side. Here's what you'll find if you choose to journey through this book.

  • 18 Chapters. The first four chapters should be read in order. They provide an introduction to C# and a familiarity with using the .NET class libraries. The remaining chapters can be read selectively based on your interests. Chapters 6 and 7 describe how to develop Windows Forms applications. Chapters 8 and 9 deal with GDI+ the .NET graphics classes. Chapters 10 through 12 are about working with data. Both XML and ADO.NET are discussed. Chapters 13, 14, and 15 tackle the more advanced topics of threading, remoting, and code security, respectively. The final chapters form a Web trilogy: Chapter 16 discusses ASP.NET Web page development; Chapter 17 looks behind the scenes at how to manage state information and manage HTTP requests; the book closes with a look at Web Services in Chapter 18.

  • .NET 2.0. The manuscript went to publication after the release of Beta 2.0. As such, it contains information based on that release. The 2.0 topics are integrated within the chapters, rather than placing them in a special 2.0 section. However, as a convenience, Appendix A contains a summary and separate index to the .NET 2.0 topics.

  • Coding examples. Most of the code examples are short segments that emphasize a single construct or technique. The objective is to avoid filler code that does nothing but waste paper. Only when it is essential does a code example flow beyond a page in length. Note that all significant code examples are available as a download from www.corecsharp.net or indirectly at www.phptr.com/title/0131472275. To access the download area, enter the keyword parsifal.

  • Questions and answers. Each chapter ends with a section of questions to test your knowledge. The answers are available in a single section at the end of the book.

  • Fact rather than opinion. This book is not based on my opinion; it is based on the features inherent in .NET and C#. Core recommendations and notes are included with the intent of providing insight rather than opinion.

Although some will disagree, if you really want to learn C# and .NET, shut down your IDE, pull out your favorite text editor, and learn how to use the C# compiler from the command line. After you have mastered the fundamentals, you can switch to VS.NET and any other IDE for production programming.

Finally, a word about .NET and Microsoft: This book was developed using Microsoft .NET 1.x and Whidbey betas. It includes topics such as ADO.NET and ASP.NET that are very much Microsoft proprietary implementations. In fact, Microsoft has applied to patent these methodologies. However, all of C# and many of the .NET basic class libraries are based on a standard that enables them to be ported to other platforms. Now, and increasingly in the future, many of the techniques described in this book will be applicable to .NET like implementations (such as the Mono project, http://www.mono-project.com/Main_Page) on non-Windows platforms.

     < Day Day Up > 


    Core C# and  .NET
    Core C# and .NET
    ISBN: 131472275
    EAN: N/A
    Year: 2005
    Pages: 219

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net