|< Day Day Up >|
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.
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 >|