CLR via C# 3rd Edition
Author: Jeffrey Richter
Publisher: Microsoft Press, 2010
Pages: 896
ISBN: 978-0735627048
Aimed at: C# programmers
Rating: 4
Pros: Gives a deep understaning of C#
Cons: Lack a high-level overview 
Reviewed by: Mike James

There is no doubt that this is a classic  - and it has reached its third edition. But as with all classics it still isn't perfect.

What would you expect a book called CLR via C# to be about? Presumably the CLR with illustrations of how it works in C#. In many ways what the book is really all about is illuminating the way C# works via an understanding of how its facilities are implemented by the CLR.Thus the book is primarily about C#.

The book starts off with the CLR execution model and works its way through the usual C# topics of type, methods, parameters , properties, events, generics, interfaces, arrays, delegates and so on. It tackles advanced topics such as custom attributes, nullable types, exceptions, garbage collection,. CLR hosting, AppDomains, serialization, threading and synchronisation.

Many of these topics would be covered in any book on C# but without the digging down to see how the CLR handles the tasks. It isn't about advanced CLR and it isn't about Intermediate Language IL code - although there is a fair bit of IL used to explain what is going on. After reading this book you will understand C# at a deeper level and appreciate how it is implemented by the CLR.

One problem with the book is that its focus is generally on low-level implementation details and sometimes this means that you can miss the bigger picture. For example, in discussing delegates we have an account of how the variables declared in the same scope as an anonymous delegate are accessible from the delegate. This is an example of capture of the delegate's outer variables, more commonly described as closure but these higher-level facts are never mentioned. There are other places where the level of detail means that you miss the high-level view, which is fine if you already have the hlgh-level view but if not it can all seem very arbitrary.

As well as explaining how the CLR implements various aspects of C# the author also makes comments and asides about which features of C# don't sit well with practice. For example, auto-generated properties, language based primitive type names and so on. This is all good stuff and the book is packed with suggestions about how you should do something and what you should avoid. What you won't find is lots of waffle about object-oriented design or indeed any formal design or development methodologies.

This is a book in the old style, focused on the mechanics of how things work and how to get things done, and as such it should be on the shelf of every C# programmer. 

Banner


SQL Server DMVs in Action

Author: Ian W Stirk
Publisher: Manning, 2011
Pages: 375
ISBN: 978-1935182733
Aimed at: DBAs and developers
Rating: 5
Pros:Well written, packed with useful code samples
Cons: No coverage of Performance Dashboard
Reviewed by: Kay Ewbank

Kay Ewbank described this book as "a fun read" and "packed full of really [ ... ]



Objective-C Phrasebook

Author: David Chisnall
Publisher: Addison-Wesley, 2011
Pages: 352
ISBN: 978-0321743626
Aimed at: Objective-C programmers
Rating: 2
Pros: Wide and deep coverage will appeal to language enthusiasts and to users of GNUStep
Cons: Confusing for Mac/iOS developers
Reviewed by: Mike James

This small format book pr [ ... ]


More Reviews

Last Updated ( Sunday, 06 June 2010 )
 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.