|
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details. |
Product details
|
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.
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 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.
Tag this product(What's this?)Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organise and find favourite items. |
This book is filled with numerous examples of how .NET solves problems differently than other architectures such as CORBA, COM, and Java. It freely admits advantages others might have in certain areas but the authors clearly evangelize .NET as the best overall solution. It follows a consistent pattern when discussing concepts such as type systems, metadata, versioning, and security. First, it describes the core problem or challenge. Second, implementations by other languages/architectures are briefly discussed. Finally, a detailed explanation is given of how .NET offers the best solution, complete with clear examples.
Several topics are discussed that are skipped in other .NET books. Whether this is a good thing depends on your skill level and your interest in these topics. Experienced developers who are already proficient in .NET will appreciate the excellent discussion of the boxing of value types into reference types, how events and properties are implemented behind the scenes, and the line-by-line analysis of the Intermediate Language (IL) of a simple application.
While most examples are presented in C#, this book does not help one become proficient in it. The examples are given only to illustrate how the .NET Framework works, not any particular language.
What are clearly missing are chapters on creating web applications, web services, windows forms, and windows services. In other words, this book by itself only provides a small piece of the knowledge a developer must gain when learning .NET.
As a former Visual Basic developer, I am task-oriented. This is in contrast to being theory-oriented, which is how I think of C++ developers who spend an extra ten hours tweaking pointers (and tracking down memory leaks) to gain a ten percent speed increase in a procedure. Though I have converted to C#, I am still more interested in getting the job done quickly than understanding the internal details of the .NET engine.
I bring this up because this book is theory-based, and as such I found it lacking in information I could immediately apply to my programming projects. We are all stretched for time, and I would rather spend mine reading about techniques to solve business problems through real-world examples of forms and services, not learning why C# produces slightly different IL than VB.
That being said, this book has a place among developers who come from a Computer Science background, or who know C++ or Java inside and out, or who already know .NET very well and want to learn the core underpinnings. In this regard it does an excellent job and is well written and concise.
However, I only gave it three stars because I believe most developers could better spend their time with other books that offered more practical and applicable advice. Those books, such as Wrox's `Professional C#' or Sams' `ASP.NET Unleashed', teach just enough of the core underpinnings to keep a developer from shooting himself in the foot, yet focus most of the time on real world examples that are far more useful.
The co-authors are exactly the right people for this purpose. Brad Abrams was a .NET development lead; Mark Hammond implemented Python.NET; and Damien Watkins helped Monash University learn about .NET before starting his own .NET consulting company.
When I was one of Microsoft's Technical Evangelists for .NET, I invited Mark and Damien to participate with Brad in the design of the .NET Runtime back in 1999 -- along with the designers of other commerical and academic languages such as Smalltalk, Scheme, Eiffel, Haskell, Oberon, etc. -- to make sure that the .NET Runtime and CLR really could support different languages well. Their feedback made .NET more flexible, powerful, and useable. In this book, they explain not only HOW .NET works, but WHY. After all, these guys helped MAKE those decisions.
Some have said that only compiler writers targeting .NET would be interested in reading this book. I could not disagree more. At each level of abstraction above the silicon, more and more trade-offs must be made by those implementing the abstractions. If you don't understand the feature and performance trade-offs they made, then you're not going to be able to make good trade-offs yourself, when writing code that uses their abstractions. In an ideal world, all abstractions would be pure, involving no trade-offs; but .NET was designed for the real world, in which performance still matters. Do you write code for the real world, too? Then you NEED to read this book.
If you'd rather read the Kama Sutra than "Sex for Dummies," then order this book RIGHT NOW.
|