Customer Reviews


6 Reviews
5 star:
 (3)
4 star:    (0)
3 star:
 (3)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 
Only search this product's reviews

The most helpful favorable review
The most helpful critical review


35 of 37 people found the following review helpful:
5.0 out of 5 stars Excellent coverage of IL and practical compilation for CLR
Compiling for the .NET Common Language Runtime is a very complete book and an excellent reference. It provides a solid introduction to the CLR, type system and instruction set (IL). The discussion of code generation for the CLR is thorough.

An excellent aspect of the book is that it goes beyond the more mundane aspects to discuss broader issues (for example, in mapping...

Published on November 13, 2001

versus
8 of 8 people found the following review helpful:
3.0 out of 5 stars essentially an IL generation book
The book does NOT cover all phases of a compiler as a previous reviewer indicated, such as parsing or designing and constructing abstract syntax trees. It only covers the last phase of generating IL for equivalent Pascal code. In that sense, it duplicates what you can learn from the ildasm and reflector tools, as well as the more recent book Inside Microsoft .NET IL...
Published on June 24, 2005 by doug


Most Helpful First | Newest First

35 of 37 people found the following review helpful:
5.0 out of 5 stars Excellent coverage of IL and practical compilation for CLR, November 13, 2001
By A Customer
This review is from: Compiling for the .NET Common Language Runtime (CLR) (Paperback)
Compiling for the .NET Common Language Runtime is a very complete book and an excellent reference. It provides a solid introduction to the CLR, type system and instruction set (IL). The discussion of code generation for the CLR is thorough.

An excellent aspect of the book is that it goes beyond the more mundane aspects to discuss broader issues (for example, in mapping language semantics to the CLR). It also manages to include very practical tips such as using the visitor pattern. The book has amazing breadth and depth, yet it is marvelously concise! The writing is clear and easy to understand.

Every compiler phase (from scanning to code generation) is covered, so the book is very accessible for programmers new to compilation (as I was). However I doubt that more experienced programmers will find it tedious as the chapters on scanning, parsing and semantic analysis could probably be skipped. The emphasis is obviously on code generation, and the usual language constructs (such as loops, etc.) are covered with some interesting discussion. The book also discusses other issues with compiling for the CLR-- using custom attributes, mangling names for languages that don't support method overloading, even dealing with languages with multiple inheritance (the CLR only supports single inheritance).

The book generates textual IL that is compiled with ilasm, but there is a chapter on using System.Reflection.Emit. This is the only real coverage of an API, so the book avoids any tiresome material that is better left to the MSDN.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


30 of 33 people found the following review helpful:
5.0 out of 5 stars Review from CodeGuru.com, November 9, 2001
This review is from: Compiling for the .NET Common Language Runtime (CLR) (Paperback)
The following review from a CodeGuru member was posted to CodeGuru.com for this book:

Finally a book written by an author who knows his material and is able to express himself clearly in written form. I have reviewed many books and most of them leave me unsatisfied with the depth of information or the breadth of coverage. This book did not disappoint in either of these areas. It is excellent for those wishing to learn precisely how a language is mapped onto the CLR. Granted not everyone will have a need for such information but if you do then I would not hesitate to recommend it.

That's the good news, the bad is that this book is not really needed to be a proficient C# programmer. I believe the audience for this book will be very specialized. People interested in squeezing the very last bit of performance out of C# will undoubtedly compare the IL code generated by the compiler and then modify their C# practices accordingly. Others faced with debugging in the absence of a symbolic debugger, embedded environments???, will need to code in C# and then debug in IL. For these types of situations this book will prove to be invaluable.

The book does an excellent job of taking sample C# code and showing the resulting generated IL code. I can't realistically think of an example of typical code or a typical code sequence that is not covered by one of the many examples. It digs into assemblies, unmanaged code, and interaction with COM. It even goes so far as to describe how name mangling can be accomplished in languages that traditionally do not support such a feature.

The assumed knowledge section indicates that the reader should be familiar with the basic concepts of programming languages, customary data structures and algorithm theory. I would also recommend that the reader have some knowledge of grammars, lexical analysis and parsing to the level of a first college course.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 8 people found the following review helpful:
3.0 out of 5 stars essentially an IL generation book, June 24, 2005
This review is from: Compiling for the .NET Common Language Runtime (CLR) (Paperback)
The book does NOT cover all phases of a compiler as a previous reviewer indicated, such as parsing or designing and constructing abstract syntax trees. It only covers the last phase of generating IL for equivalent Pascal code. In that sense, it duplicates what you can learn from the ildasm and reflector tools, as well as the more recent book Inside Microsoft .NET IL Assembler by Lidin. The book is well written, however I would have liked to have seen more coverage of emitting IL to handle non-Pascal or non-C# features. The book mentions a corresponding website with more code, but I couldn't find much there at all. Also the book suggests looking at "Project 7" by Microsoft which apparently years ago implemented many languages for .NET including Python, but there is nothing about that project available anywhere.

I would recommend the Lidin book instead, plus the use of ildasm and Reflector.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful:
3.0 out of 5 stars Valuable knowledge, but cheap binding, March 22, 2010
By 
Shawn (Auckland, New Zealand) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Compiling for the .NET Common Language Runtime (CLR) (Paperback)
Though this book is now 8 years old, I'm surprised there are not many new books addressing this very topic. For newbies like myself, it does give an excellent (even if incomplete) view of crafting a new .Net language.

Unfortunately, I am dismayed at the cheap glue binding used. I'm just into Chapter 2, but Chapter 1 pages have come unstuck. This is absolutely horrible! I expect that I'll have to throw the book away by the time I finish, lest I am content with taping the pages together and making it look like a scrapbook.

Language used is dry and direct. No one goes into compilers expecting humour and rainbows anyway!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful:
5.0 out of 5 stars Definitely the best book for IL generation, August 17, 2008
Amazon Verified Purchase(What's this?)
This review is from: Compiling for the .NET Common Language Runtime (CLR) (Paperback)
Such a thorough discussion regarding emitting code in a .NET compiler!

Though the book is a little dated now it is still highly recommended as it still covers most of the common CLR/S concerns like exception handling, overloading of methods and operators, metadata and the like.

The book's publication pre-dates the Visual Studio SDK. This freely available SDK includes tools by the same author for building a managed lexer/parser. Alternatively, the latest versions of these and other related tools are available (in source form) from the author's web site at http://plas.fit.qut.edu.au/projects/LanguageProcessingTools.aspx.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3.0 out of 5 stars Hard read but interesting, July 8, 2011
Amazon Verified Purchase(What's this?)
This review is from: Compiling for the .NET Common Language Runtime (CLR) (Paperback)
I didn't get past the 130th page but what I learned about the CLR and IL in the first chapters was enough to make the price I paid worth it. I wish it were written in a more clear manner.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Most Helpful First | Newest First

This product

Compiling for the .NET Common Language Runtime (CLR)
Compiling for the .NET Common Language Runtime (CLR) by K. John Gough (Paperback - November 5, 2001)
$44.95 $37.44
In Stock
Add to cart Add to wishlist