Programming in the .Net Environment

Programming in the .Net Environment

3.5 (4 ratings by Goodreads)
By (author)  , By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 3 business days
When will my order arrive?


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 more

Product details

  • Paperback | 560 pages
  • 180.34 x 228.6 x 27.94mm | 929.86g
  • Pearson Education (US)
  • Addison Wesley
  • Boston, United States
  • English
  • glossary, index
  • 0201770180
  • 9780201770186
  • 1,613,244

Back cover copy

"Programming in the .NET Environment" is the software developer's guide to the .NET Framework. The authors describe Microsoft's vision for distributed component-based systems development and then show programmers how to develop software that takes full advantage of the features of the .NET Framework. Readers learn how to author components, libraries, and frameworks that not only exploit the capabilities of the .NET Framework but also integrate seamlessly into that environment.This book begins with an introduction to the goals and architecture of the .NET Framework. Readers will then gain a thorough understanding of the type, metadata, and execution systems; learn how to build and deploy their components within .NET assemblies; and gain an understanding of the facilities of the Framework Class Libraries. Topic coverage includes: The Common Language Runtime (CLR) and the Framework Class LibrariesThe CLR's Type, Metadata, and Execution SystemsCreating and deploying .NET AssembliesInternationalization and localization facilities.NET Languages, including C# and Visual Basic .NETThe book concludes with appendixes written by other specialists in the field: Paul Vick (writing about VB .NET), Eric Gunnerson (on C#), Mark Hammond (on Python for .NET), Jan Dubois (on Perl for .NET), John Gough (on Component Pascal for .NET), Pankaj Surana (on Scheme for .NET), Nigel Perry (on Mondrian), and Juerg Gutknecht (on Active Oberon for .NET).Written by a team of experienced authors using a practical, authoritative approach, "Programming in the .NET Environment" is an indispensable guide to developing components that fulfill the promise of Microsoft's .NET Framework.Books in the Microsoft .NET Development Series are written and reviewed by the principal authorities and pioneering developers of the Microsoft .NET technologies, including the Microsoft .NET development team and DevelopMentor. Books in the Microsoft .NET Development Series focus on the design, architecture, and implementation of the Microsoft .NET initiative to empower developers and students everywhere with the knowledge they need to thrive in the Microsoft .NET revolution. 0201770180B10312002show more

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 more

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. 0201770180T10292002show more

Rating details

4 ratings
3.5 out of 5 stars
5 25% (1)
4 25% (1)
3 25% (1)
2 25% (1)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X