Expert .NET 2.0 IL Assembler Review

Expert .NET 2.0 IL Assembler

When you write a C# program and compile it, a complicated process turns it into an intermediate language representation (IL). The book Expert .NET 2.0 IL Assembler by Serge Lidin helps us understand the IL. we can even build our own languages that compile to IL.

This article reviews Expert .NET 2.0 IL Assembler by Serge Lidin.

What it's about

The book doesn't focus on how the C# or VB.NET language is compiled to IL. Instead, it focuses purely on the intermediate language itself and how it is expressed. This means the book won't help you at all with your C# programs unless you look at how your C# programs are expressed in IL. You can do this with IL Disassembler.

IL Disassembler Tutorial

It's advanced!

You will find that this book is very deeply technical about the .NET Framework. You will be introduced to the concept of the virtual execution engine. Other interesting things you will find out include how generic types are expressed; how memory is allocated when the virtual execution engine invokes a method; and what the metadata is.

Question and answer

A relational database? Serge Lidin's book introduced me to the concept of how the metadata is actually a relational database. In Chapter 4, The Structure of a Managed Executable, you will find out what every byte in an executable C# program does.

It's funny!

The book also has some really funny parts to it. In the introduction, the author wonders why this book was written; he concludes that "I don't think I had much choice in this matter." It goes downhill from there. A good sense of humor is a huge benefit for a book of this technical merit and depth.

Summary

I don't recommend the book Expert .NET 2.0 IL Assembler for all C# or VB.NET programmers. Instead, I vigorously recommend it only for those who want a deep understanding of the concepts of the framework—this includes people creating new languages, trying to micro-optimize code, or building meta-compilers on top of the intermediate language. I found the book to be useful in my own .NET programming and related endeavors.

Books About Programming
.NET