Inside NET IL Assembler Paperback – 1 Feb 2002
Customers Who Bought This Item Also Bought
Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Author
The .NET Framework is the platform for next-generation distributed, Web applications. It exposes a language-independent yet consistent programming model across all tiers of an application, while providing seamless interoperability with and easy migration from existing technologies.
The IL Assembly language is the intermediate language that is converted to machine language by the runtimes compilers. It is critical to runtime functionality.
About the Author
Serge Lidin is uniquely qualified to write this book because he is the developer at Microsoft responsible for the design of the IL Assembly language and for the design and implementation of IL Assembler, IL Disassembler, and Metadata Validation tools. He wrote the specifications for this language.
Top Customer Reviews
-developer's grade Dll are included but basic.
-Distributed Applications and Interoperable Systems. -redo older code.
Most Helpful Customer Reviews on Amazon.com (beta)
Benefits of the book:
For the 'average' .NET developer there are a number of things you can learn and apply to daily software development. For a start you will learn how to read the IL code from compiled C#, VB.NET or any other managed .NET assembly. This will give you more options in tuning performance (since you will understand the true IL impact of your code alternatives) or hunting down bugs, even if orignial source is unavailable.
Learning the finer points of IL will allow you to use the Reflection.Emit namespace to dynamically create and load your own IL-based assemblies at run time, for extreme flexibility, performance or both.
Knowing IL will also allow you to work with existing assemblies by disassembling then, modifying their code then re-assembling them (IL round-tripping). You can add functionality that is not available to C# or VB.NET (i.e. global methods and fields or unions within a struct) or you can control minute details of unmanaged interop.
Things I thought could be improved:
Since the text is quite dense with information, there could be more context which would help with actual application. Sometimes the implications of what was being talked about weren't clear to me.
There were few samples on the CD, although there were lots of snippets inline with the text.
All in all, this is my favorite .NET book simply because, although you can be a great .NET programmer without knowing IL, you are definately better off if you do.
Understanding the IL system is not so easy, though. While excellent in their own right, texts like Richter's CLR via C# really don't do the job, especially when it comes to understanding metadata. The only way to understand IL and .NET is to understand IL and metadata.
Since reading most of this book, I would say that just about every word I read elsewhere about C# or any .NET language is 25% easier to understand. Let's face it, when you know how an engine works it's easier to understand what a, say, turbo-charger does.
Lidin writes well and avoids straying or getting too deep into CLR history or quirks, but he never sacrifices the process facts of how CLR does its job (in spite of almost promising he will in the introduction, then dramatically reversing himself...with intentional effect).
This book is not for the beginner! But any coding pro should find it to be a pretty straightforward experience. Certainly it is easier reading than, say, Grimes' C++ Managed Extensions book.
Understanding how it works is just such a great way to leverage time spent learning. It is time very well spent, and with this text the reader won't have any reason to doubt that at all.
This book does provide that information, nonetheless, my mistake was not realizing that this is a book mainly about the *IL language* itself. I was not interested in looking into that much detail. The book also covers in great detail what exactly is stored in a .NET assembly. I also liked the discussion on interoperation of managed and unmanaged code.
If you're looking for a book on IL, this is your book, otherwise it seems that the book 'Compiling for the .NET CLR' is a better book for what I was looking for.