<< 1 >>
Rating:  Summary: Excellent book if you're already a .NET expert Review: A better title for this book would be 'An Insider's Guide to Why the .NET Framework Was Designed the Way It Was'. The authors are Microsoft developers who have been working on .NET for most of its existence. Because of their first hand knowledge of the Framework's evolution, they offer a perspective that is uniquely different than all the other .NET books out there. Covered are topics such as the design goals of C# (including an alarming story of how Microsoft considered modifying C++ rather than creating a new language), the internal discussions of the Visual Basic team regarding how that language would evolve, and the advantages/disadvantages of garbage collection versus deterministic finalization, and why garbage collection finally won out. There are even little known nuggets, such as why every .NET Framework executable contains the string "BSJB" (they are the initials of four of the original developers).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.
Rating:  Summary: Excellent book if you're already a .NET expert Review: Do you want to know how .NET actually WORKS? If you weren't comfortable using C++ until you understood v-tables, then this is the book for you. 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.
Rating:  Summary: Straight From The Source Review: Do you want to know how .NET actually WORKS? If you weren't comfortable using C++ until you understood v-tables, then this is the book for you. 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.
Rating:  Summary: This book is a must have! Review: For anyone doing serious development on the .NET platform, this book does a great job of explaining the fundamental CLR concepts which any developer needs to understand. I find it is also quite useful as a handy reference to help in explaining concepts to other developers as well. Between this book and Don Box's Essential .NET, you can't go wrong!
Rating:  Summary: This book is a must have! Review: For anyone doing serious development on the .NET platform, this book does a great job of explaining the fundamental CLR concepts which any developer needs to understand. I find it is also quite useful as a handy reference to help in explaining concepts to other developers as well. Between this book and Don Box's Essential .NET, you can't go wrong!
Rating:  Summary: Provide some interestings views into the Framework. Review: Good solid introduction into .Net Framework. The authors who appear to have been working with .Net before most of us heard of .Net not only explain the framework but at times why certain pieces ended up the way they did. The book starts with coverage of issues with current distributed systems and how .Net attempts to solve the issues. There is coverage of the Common Type System, metadata and how it is used as well as the Execution System. The section on the Execution system provides an interesting "high-level" look into Intermediate Language instructions as well as various pieces of .Net security and management. There is a good section that details .Net versioning as well as a section on Internationalization and Localization. This section I found particularly useful as many other .Net Framework books I have read does not adequately cover this topic. The "second" part of the book contains a discussion and breakdown of the framework's class library. It is not a complete breakdown but it gives you the basics of the base classes. The authors explained some guidelines that were used to create the framework as well as some useful guidelines to fit your types into the same design to help make development more intuitive. If you are looking to get an understanding of development using .Net, this is a decent book to get started. It covers the core of the framework, primarily uses C# in the code examples and is generally easy to follow. You do not need to be a code guru to set up and run the examples. It look like there are some other really good books from some good authors in this series that will start to cover in more detail the intricacies of .Net.
Rating:  Summary: Good Reference, but not for the beginner. Review: Programming in the .NET environment provides insights and examples for using the latest enhancements provided by the .NET framework. The text is mostly language agnostic, though some of the code examples are in C#, but the concepts apply to all .NET enabled languages. I found most of the material dry, but necessary information to know, if you are planning on doing any sort of .NET application. The book covers some fairly challenging concepts, but discusses them in a clear manner. Certain sections required prior knowledge. For example in one of the sections talked about Visual Studio's nmake.exe utility. I do not have much experience with nmake.exe and the authors assumed a prior understanding, so I had to go and read the Visual Studio documentation to learn about this command before I fully understood the rest of the section. Also, I found chapter 3 to be a bit difficult to understand without an understanding of COM/COBRA. The book contains a wealth of knowledge, and if you are going to be doing a lot of .NET programming, knowing the material and having this book as a reference will be essential to you. The appendix chapters which discuss language-specifics and .NET proved to be a useful read to get to know the benefits of each language. This knowledge is useful to determine which tool is the right choice for any particular job. This is one of the few books in the .NET development series from AWL that I have been a bit disappointed in. Certain sections are excellent, while others leave a little to be desired. You can defiantly tell that the chapters are written by different authors as they seem disjointed and some have a higher quality than others. Overall, I would say it is a good reference to have, but not really worth reading beginning to end.
Rating:  Summary: Good Reference, but not for the beginner. Review: Programming in the .NET environment provides insights and examples for using the latest enhancements provided by the .NET framework. The text is mostly language agnostic, though some of the code examples are in C#, but the concepts apply to all .NET enabled languages. I found most of the material dry, but necessary information to know, if you are planning on doing any sort of .NET application. The book covers some fairly challenging concepts, but discusses them in a clear manner. Certain sections required prior knowledge. For example in one of the sections talked about Visual Studio's nmake.exe utility. I do not have much experience with nmake.exe and the authors assumed a prior understanding, so I had to go and read the Visual Studio documentation to learn about this command before I fully understood the rest of the section. Also, I found chapter 3 to be a bit difficult to understand without an understanding of COM/COBRA. The book contains a wealth of knowledge, and if you are going to be doing a lot of .NET programming, knowing the material and having this book as a reference will be essential to you. The appendix chapters which discuss language-specifics and .NET proved to be a useful read to get to know the benefits of each language. This knowledge is useful to determine which tool is the right choice for any particular job. This is one of the few books in the .NET development series from AWL that I have been a bit disappointed in. Certain sections are excellent, while others leave a little to be desired. You can defiantly tell that the chapters are written by different authors as they seem disjointed and some have a higher quality than others. Overall, I would say it is a good reference to have, but not really worth reading beginning to end.
Rating:  Summary: GOOD Authors Review: This book was written by GOOD authors, all of them are very experienced and have been deeply involved with the .net project development from the beginning. As the previous reviewer pointed out, a lot of the book is about different languages that most* people don't care about. I wanted to give this book 4 stars because of that but the book is VERY well written, reads well, great intro to .NET framework and etc... so i give it 5 stars (i'm satisfied with the VALUE of the book). You will probably find the C# section very interesting (it's excellent).
Rating:  Summary: Solid intro to .NET Review: You have to approach this book as two halves: the main text and the appendices, and indeed, the appendices take up some 40% of the book. The main text is a good introduction to the framework and leads you through the basic features of types, assemblies, configuration, localization etc. The language used in the main text is (understandably) C# and one of the appendices is an introduction to this language by the acclaimed writer on C#, Eric Gunnerson. The other appendices cover a diverse collection of languages from VB.NET, through Python, Perl, Component Pascal and Oberon. If you are interested in the languages that can be used with .NET then the appendices are useful but incomplete (bizarrely, IL and Managed C++ are not covered). Instead, I recommend that developers new to .NET should ignore the appendices and read the main text, which is a good grounding before reading Richter's book.
<< 1 >>
|