Previous Section  < Day Day Up >  Next Section

Chapter 1. Introduction to .NET and C#

Topics in This Chapter

  • Overview of the .NET Framework: Architecture and features.

  • Common Language Runtime: An overview of the tasks performed by the runtime portion of the .NET Framework: Just-in-Time (JIT) compiler, loading assemblies, and code verification.

  • Common Type System and Common Language Specifications: Rules that govern Common Language Runtime (CLR) compatibility and language interoperability.

  • Assemblies: A look at the structure of an assembly, the philosophy behind it, and the difference between private and shared assemblies.

  • Framework Class Library: The Framework Library supplies hundreds of base classes grouped into logical namespaces.

  • Development Tools: Several tools are provided with .NET to aid code development. These include Ildasm for disassembling code, WinCV to view the properties of a class, and the Framework Configuration tool.

  • Compiling and Running C# Programs: Using the C# compiler from the command line and options for structuring an application.

The effective use of a language requires a good deal more than learning the syntax and features of the language. In fact, the greater part of the learning curve for new technology is now concentrated in the programming environment. It is not enough to be proficient with the C# language; the successful developer and software architect must also be cognizant of the underlying class libraries and the tools available to probe these libraries, debug code, and check the efficiency of underlying code.

The purpose of this chapter is to provide an awareness of the .NET environment before you proceed to the syntax and semantics of the C# language. The emphasis is on how the environment, not the language, will affect the way you develop software. If you are new to .NET, it is necessary to embrace some new ideas. .NET changes the way you think of dealing with legacy code and version control; it changes the way program resources are disposed of; it permits code developed in one language to be used by another; it simplifies code deployment by eliminating a reliance on the system registry; and it creates a self-describing metalanguage that can be used to determine program logic at runtime. You will bump into all of these at some stage of the software development process, and they will influence how you design and deploy your applications.

To the programmer's eye, the .NET platform consists of a runtime environment coupled with a base class library. The layout of this chapter reflects that viewpoint. It contains separate sections on the Common Language Runtime (CLR) and the Framework Class Library (FCL). It then presents the basic tools that a developer may use to gain insight into the inner workings of the .NET Framework, as well as manage and distribute applications. As a prelude to Chapter 2, the final section introduces the C# compiler with examples of its use.

    Previous Section  < Day Day Up >  Next Section