Free Shipping In Australia
Currency:
AUD $ AUD
Programming in the .NET Environment By Damien Watkins

Programming in the .NET Environment
by Damien Watkins

An authoritative guide for developers who want to develop software that fully takes advantage of the .NET Framework.
Only 1 left

Programming in the .NET Environment Summary


Programming in the .NET Environment by Damien Watkins

Understanding the philosophy and architecture of .NET is important for any Microsoft developer. The .NET Framework is not an abstract programming model. It is a full-featured system that allows developers to implement their solutions and then make them available to other developers in a robust and secure environment. This book shows developers how to produce generic frameworks, libraries, classes, and tools to be used in the .NET Framework. It also shows how to use the right language to develop parts of a system and then incorporate these parts together at runtime regardless of language differences. The book will conclude with a series of appendices from contributors who are very active in the .NET community.

Why buy from World of Books

Our excellent value books literally don't cost the earth
Free delivery in Australia
Read more here
Every used book bought is one saved from landfill

About Damien Watkins


Damien Watkins is the founder of Project 42, a consulting company specializing in the development of Component Based Systems for the Internet. Until 2002 he was a lecturer at Monash University in Melbourne, Australia. Damien became involved with the development of the .NET Framework in 1998 when Microsoft invited Monash University to join Project 7, an early access program for .NET.

Mark Hammond has been an independent software consultant since 1995. He has produced many of the Windows extensions for Python, including PythonWin, Active Scripting and Active Debugging support, and coauthored the Python/COM framework and extensions. In 2000 he published his first book, Python Programming on Win32, and from 1999 through 2001 developed the first .NET implementation of the Python language.

Brad Abrams was a founding member of both the Common Language Runtime and .NET Framework teams at Microsoft, where he is currently a Lead Program Manager. Brad has been involved with WinFX and Windows Vista efforts from the beginning. His primary role is to ensure consistency and developer productivity of the .NET Framework through Vista and beyond. His popular blog can be found at http://blogs.msdn.com/BradA/.



Table of Contents


(NOTE: Each chapter concludes with a Summary.)

Foreword.


Preface.


1. Introducing the .NET Framework.

Programming Issues.

Programming in the Small.

Programming in the Large.

Solutions.

Comparing the .NET Framework and IDL-Based Systems.

Elements of the .NET Framework.

Common Language Runtime.

Base Framework.

Exposing the .NET Framework.

Windows Clients.

ASP.NET: Web Forms.

ASP.NET: Web Services.

Terminology.

The Type System.

The Metadata System.

The Execution System.

Example: Hello World.



2. The Type System.

The Relationship Between Programming Languages and Type Systems.

The Evolution of Type Systems.

Programming Language-Specific Type Systems.

The Design Challenge: Development of a Single Type System for Multiple Languages.

CLR-Programming Language Interaction: An Overview.

Elements of the CLR Type System.

Value Types.

Built-in Value Types.

User-Defined Value Types.

Reference Types.

Object Types.

Interface Types.

Pointer Types.

Example: User-Defined Object Type.

Example: Use of Interfaces on Value Types.

Assignment Compatibility.

Nested Types.

Visibility.

Accessibility.



3. The Metadata System.

Medata Issues.

Saving Metadata About Types: IDL Files.

Reflection: Inspection of a Type's Metadata.

Reflection Classes.

Example: Using Reflection.

Example: Use of Type as an Abstract Type.

Metadata Tools and Extensions.

A Tool for Reading Metadata.

Metadata Extensibility.

Dynamic Discovery of Types.

Assemblies and Manifests.

Meta-Programming.

Metadata File Format.

COM Interop.



4. The Execution System.

The Execution System Versus Other-Component Models.

Intermediate Language.

Example: Generating Intermediate Language.

Verification of Intermediate Language.

Starting a CLR Program.

COR Debugger.

Application Domains.

Memory Management.

Value Types Versus Reference Types.

Garbage Collection.

Security.

Role-Based Security.

Evidence-Based Security.

Policy Manager.

Code Groups.

Named Permission Sets.

Policy Assemblies.

Examining Policy Levels and Permission Sets.

Stack Walks.

Declarative and Imperative Style.



5. Building Applications.

Existing Technologies to Solve Application-Related Problems.

Well-Known Locations.

Search Paths.

Symbolic Names.

Versioning-Related Technologies.

Windows Registry.

Assemblies.

Example: A Simple Assembly.

Version 1 of AboutBox.

Building the Assembly with nmake and makefile.

Functioning of the makefile.

Embedded and Linked Resources.

Example: A .NET Assembly with Embedded Resources.

Example: A .NET Assembly with Linked Resources.

The Assembly Linker.

Public and Private Assemblies.

Strong Names.

Assembly Caches.

Example: Creating and Using Public Assemblies.

Assembly Versioning.

Example: Building a Second Version of an Assembly.

Example: Binding to a Different Version of an Assembly.

Internalization and Localization.

Definitions.

Existing Technologies: Separation of Code and User Interfaces.

.NET Localization Concepts.

Example: A Localized Application.

Application Domains.

Application Domains Versus Processes.

Use of Application Domains.

Example: Retrieving Current Application Domain Information.

Example: Creating and Manipulating Application Domains.

Example: Loading Assemblies into Application Domains.



6. Deploying Applications.

Configuration Files.

Text-Based Configuration Files.

CLR Configuration Files.

Which Configuration Files to Use?

Downloading Web Content.

Referencing Assemblies with the codeBase Element.

The Download Cache Revisited.

Web Controls.

Installing Applications.

Copying Files to the Computer.

Downloading Files to the Computer.

Using Traditional Installation Programs.

Installing the .NET Framework.

The ECMA CLI Standards.

Compact Framework.

Smart Device Extensions.

Shared Source Common Language Infrastructure.



7. The Framework Class Library.

A Historical Perspective.

C/C++.

SmallTalk.

LISP.

C++.

Java.

Support for Multiple Programming Languages.

Goals of the .NET Framework.

Unify Programming Models.

Be Factored and Extensible.

Integrate with Web Standards and Practices.

Make Development Simpler.

Design Guidelines.

Naming Guidelines.

Member Usage.

Namespaces.

System.

System.Collections.

System.Data.

System.Globalization.

System.Resources.

System.IO.

System.Net.

System.Reflection.

System.Security.

System.Text.

System.Threading.

System.Runtime.InteropServices.

System.Windows.Forms.

System.Web.

System.Web.Services.

System.Xml.

Looking Back and Looking Ahead.



Appendix A: Visual Basic .NET.

Type System Additions.

Classes.

Inheritance.

Overloading.

Namespaces.

Type System Modifications.

Arrays.

Variant and Object Types.

Structures.

Date, Currency, and Decimal Types.

Platform Changes.

Deterministic Finalization and Garbage Collection.

Let and Set Assignment.

Late Binding.

On Error and Structured Exception Handling.

Events and Delegates.

Language Cleanup.

New Features.

Future Directions.

Conclusions.



Appendix B: C#.

History and Design Goals.

A Brief History of C++ and C#.

C# Design Goals.

The C# Type System.

Reference Versus Value Types.

User-Defined Types.

Component-Oriented Development.

Properties.

Indexers.

Operator Overloading.

Attributes.

Delegates.

Events.

Unsafe Code.

Advanced Interoperability.

Dealing with Existing Structures.

Performance Extremes.

Neat Things.

foreach.

switch on String.

params Arrays.

XML Comments.

A Stack Component Example.

Future Directions.

C# and Standardization.

Conclusions.



Appendix C: Python for .NET.

A Brief Overview of Python.

About Python.

Python Implementations.

Terminology.

Python for .NET.

Current Status.

Architecture.

Using Python for .NET.

Example: Hello World.

Using .NET Objects.

Method Signatures and Overloads.

Other Examples of Compiler Techniques.

Limitations of Python for .NET.

Performance.

Closed World Syndrome.

Class and Instance Semantics.

Type Declarations or Inference for Speed.

Type Declarations for Semantics.

Possible .NET and Python Enhancements.

Type Declarations.

Dynamic Language Support.

Alternative Implementation Strategies.

Python for .NET.

The Compiler.

The Runtime.

The Library.

Conclusions.



Appendix D: Perl and the .NET Runtime.

Perl for .NET Research Compiler.

The Parser.

The Code Generator.

The Runtime Library.

PerlNET Component Builder.

Interface with Standard Perl Interpreter.

Challenges.

Supported .NET Features.

PerlNET Status.

Example: A Windows Forms Application.

Conclusions.



Appendix E: Component Pascal on the CLR.

About Component Pascal.

The Type System.

Statements.

Module Structure.

Mapping to the CLR.

Mapping the Program Structure.

The Synthetic Static Class.

Controlling Visibility.

Mapping the Type System.

Static Record Types.

Dispatched Methods.

Semantic Challenges.

Nonlocal Addressing.

Structural Compatibility of Delegates.

Covariant Function Types.

Conclusions.

Compatibility Extensions.

Performance.

Notes.



Appendix F: Hotdog: Compiling Scheme to Object-Oriented Virtual Machines.

Introduction to the Hotdog Scheme Compiler.

Scheme, Briefly.

Object-Oriented Virtual Machines.

Implementations.

Closures.

Small Values.

Dynamic Type Checking.

Limitations.

Performance Improvements.

Conclusions.

References.



Appendix G: Functional Languages for the .NET Framework.

A Brief Introduction to Mondrian.

The Type System.

Exception Handling.

Concurrency Support.

The Syntax.

Types in Mondrian.

Primitive Types.

Type Products.

Type Unions.

Parametric Types.

Functions in Mondrian.

Monomorphic Functions.

Polymorphic Functions.

Partial Applications.

Just-in-Time Evaluation.

Calling Other CLR-Hosted Languages.

The Power of .NET: A Multilanguage Example.

The Sieve of Eratosthenes in C#.

The Sieve: Combining Mondrian and C#.

A Glimpse into the Future: Improving the Interface.

Conclusions.

References.



Appendix H: Active Oberon for .NET: A Case Study in Language Model Mapping.

History of the ETH Programming Languages.

The Active Object System.

An Extended Concept of Object Types.

A Unified Concept of Abstractions.

A Concept of Static Modules.

The Mapping to the Common Type System.

Recapitulation of the .NET Interoperability Framework.

Mapping Modules.

Mapping Definitions.

Interoperability.

Mapping Active Behavior.

Language Fitting.

Summary and Conclusions.

Acknowledgments.

References.



Glossary.


Suggested Reading List.


Index. 0201770180T10292002

Additional information

GOR003342247
Programming in the .NET Environment by Damien Watkins
Damien Watkins
Used - Very Good
Paperback
Pearson Education (US)
2002-11-06
560
0201770180
9780201770186
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us.