or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
CIL Programming: Under the Hood of .NET
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

CIL Programming: Under the Hood of .NET [Hardcover]

Jason Bock (Author)
3.3 out of 5 stars  See all reviews (3 customer reviews)

List Price: $49.95
Price: $32.97 & this item ships for FREE with Super Saver Shipping. Details
You Save: $16.98 (34%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 2 left in stock--order soon (more on the way).
Want it delivered Monday, January 30? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Hardcover, Bargain Price $19.98  
Hardcover, June 16, 2002 $32.97  

Book Description

Expert's Voice June 16, 2002
For the most part, .NET developers use a high-level language, such as C# or VB .NET, to develop their systems. However, the core language of .NET is the Common Intermediate Language, or CIL. This language is the language of .NET¿developers can use CIL to do whatever is allowed by the .NET specifications, which is not the case for C# and VB .NET. Although it is unlikely that the majority of .NET developers will create their assemblies in CIL, understanding how CIL works will give them a deep, language-independent insight into the core parts of .NET. Furthermore, such knowledge is essential for creating dynamic types, a powerful part of the .NET Framework. In ¿CIL Programming: Under the Hood of .NET¿, Jason Bock covers the essentials of programming the CIL. First, Bock discusses the basics of what .NET assemblies are and how manifests fit into the picture. He then shows how to create assemblies in .NET¿including the ilasm directives and CIL opcodes, and how these are used to define assemblies, classes, field, methods, and method definitions. Bock also covers how C# and VB .NET and other non-MS languages emit CIL and how they differ. Finally, he reveals how developers can create dynamic assemblies at runtime via the Emitter classes. After reading ¿CIL Programming: Under the Hood of .NET¿, developers will have a better understanding of the CIL and how to program directly into it. A must-have on every .NET developer¿s desk! Jason Bock is consultant and instructor for Intertech-Inc. (a company devoted to delivering hands-on workshops for enterprise web developers and whose focus is the professional Java¿, XML, and .NET enterprise developer). He has worked on a number of business applications using a diverse set of substrates and languages such as C#, .NET, and Java. He is the author of ".NET Security" by Apress, and "Visual Basic 6 Win32 API Tutorial¿, and has written numerous articles on technical development issues associated with both VB and Java. Jason holds a B.A. and a Master¿s degree in Electrical Engineering from Marquette University. You can find out more about him at http://www.jasonbock.net

Customers Who Bought This Item Also Bought


Editorial Reviews

About the Author

Jason Bock is a senior consultant for Magenic Technologies (http://www.magenic.com). He has worked on a number of business applications using a diverse set of substrates and languages such as C#, .NET, and Java. He is the author of CIL Programming: Under the Hood of .NET and .NET Security, both published by Apress, as well as Visual Basic 6 Win32 API Tutorial. He has also written numerous articles on technical development issues associated with both Visual Basic and Java. Jason holds both a bachelor's and a master's degree in electrical engineering from Marquette University. You can find out more about him at http://www.jasonbock.net.

Product Details

  • Hardcover: 340 pages
  • Publisher: Apress; 1 edition (June 16, 2002)
  • Language: English
  • ISBN-10: 1590590414
  • ISBN-13: 978-1590590416
  • Product Dimensions: 9.4 x 7.5 x 1.1 inches
  • Shipping Weight: 2.1 pounds (View shipping rates and policies)
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Best Sellers Rank: #2,039,250 in Books (See Top 100 in Books)

 

Customer Reviews

3 Reviews
5 star:    (0)
4 star:
 (1)
3 star:
 (2)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
3.3 out of 5 stars (3 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

9 of 9 people found the following review helpful:
3.0 out of 5 stars CIL - Microsoft's Assembly for .NET, December 23, 2002
By 
Rishon Industries "Lou G" (Forest Hills, New York United States) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: CIL Programming: Under the Hood of .NET (Hardcover)
Has this ever happened to you... There's this new technology or programming language that you're dying to learn, but there are no books. Finally, someone writes a book, you get the book from the bookseller (Amazon), you open the book, and you thumb through the pages. Well, that's the way I felt about learning Microsoft IL for .NET. I really was keen about learning .NET's "assembly language" because throughout my career I found that having low level knowledge about how a system is put together is very, very useful. Now, I'm not suggesting that you stop everything you're doing and run out to learn CIL programming. However, I believe that if you want to be a serious .NET professional, learning CIL should definitely be on your To-Do list.

So what about Bock's Book: "CIL Programming: Under the Hood of .NET"? In a word - disappointing. Bock spends most of the book's first chapter entitled "Language Interoperability" on detailed discussion of programs written in a variety of languages. He's trying to make the point that the CLR allows programs written in different languages to freely interoperate. Duh? Why spend the better part of the book's opening talking about everything but CIL. There's even an Oberon (?) programming sample here.
The second and third chapters on ILASM Directives, and, CIL Opcodes, respectively, read like my weekend shopping lists. While it is true that programming books have to regurgitate all the nasty details of the programming language, the good books tell its readers how to internalize the information and describe useful ways of summarizing the information in one's mind. That is, the authors of the better books have figured out some rhyme and reason to the language and they share these insights with their readers. On the other hand, this is what I found in these two most important chapters of Bock's book: the more I read, the more questions I had. I wound up spending significant time on the NET trying to resolve questions that were raised in the material in these two chapters. Clearly, the author did not anticipate these questions.
The fourth chapter, "ILASM and CIL in Practice" is a decent discussion of a typical sample program in IL. It demonstrates some of the IL constructs and programming concerns discussed in the previous chapters.
Chapter 6 is interesting. Here the author talks about and contrasts the IL generated by various programming languages. Some of the VB.NET and C# exposés were eye-opening, but then Bock goes back to Oberon again.
The author ends off the book in chapters 7 and 8 with some very long and tedious samples. I got nothing from this. Chapter 9, the last in the book, is a two-pager on "CIL Tips".

So why do I give this book 3 stars?
1) The book includes Chapter 5, a well-written and interesting discussion about CIL Debugging.
2) Right now, Bock's book is one of three books that talk about CIL. It is the only book that is targeted directly at programming. Although John Gough's "Compiling for the .NET Common Language Runtime" is an excellent book, it is very specialized and targets would-be compiler authors. I didn't read the third book in the IL arena, Serge Lidin's "Inside Microsoft .NET IL Assembler", but I did thumb through it several times (you know what little that is worth): this book strikes me as being very difficult.

RECOMMENDATIONS:
If you need to learn IL Programming right now, buy Bock's book - read the second half of chapter 1, and read Chapters 2-5, maybe Chapter 6. If you have the time, money, and inclination, then buy and read Gough's book. You'll need a lot of time for Gough, but you will definitely learn.

If learning IL is not that pressing right now, I would wait to see if someone else releases a better book.

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


6 of 6 people found the following review helpful:
3.0 out of 5 stars CIL - Microsoft's Assembly for .NET, December 18, 2002
By 
Rishon Industries "Lou G" (Forest Hills, New York United States) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: CIL Programming: Under the Hood of .NET (Hardcover)
Has this ever happened to you... There's this new technology or programming language that you're dying to learn, but there are no books. Finally, someone writes a book, you get the book from the bookseller (Amazon), you open the book, and you thumb through the pages. Well, that's the way I felt about learning Microsoft IL for .NET. I really was keen about learning .NET's "assembly language" because throughout my career I found that having low level knowledge about how a system is put together is very, very useful. Now, I'm not suggesting that you stop everything you're doing and run out to learn CIL programming. However, I believe that if you want to be a serious .NET professional, learning CIL should definitely be on your To-Do list.

So what about Bock's Book: "CIL Programming: Under the Hood of .NET"? In a word - disappointing. Bock spends most of the book's first chapter entitled "Language Interoperability" on detailed discussion of programs written in a variety of languages. He's trying to make the point that the CLR allows programs written in different languages to freely interoperate. Duh? Why spend the better part of the book's opening talking about everything but CIL. There's even an Oberon (?) programming sample here.
The second and third chapters on ILASM Directives, and, CIL Opcodes, respectively, read like my weekend shopping lists. While it is true that programming books have to regurgitate all the nasty details of the programming language, the good books tell its readers how to internalize the information and describe useful ways of summarizing the information in one's mind. That is, the authors of the better books have figured out some rhyme and reason to the language and they share these insights with their readers. On the other hand, this is what I found in these two most important chapters of Bock's book: the more I read, the more questions I had. I wound up spending significant time on the NET trying to resolve questions that were raised in the material in these two chapters. Clearly, the author did not anticipate these questions.
The fourth chapter, "ILASM and CIL in Practice" is a decent discussion of a typical sample program in IL. It demonstrates some of the IL constructs and programming concerns discussed in the previous chapters. Chapter 6 is interesting. Here the author talks about and contrasts the IL generated by various rogramming languages. Some of the VB.NET and C# exposés were eye-opening, but then Bock goes back to Oberon again. The author ends off the book in chapters 7 and 8 with some very long and tedious samples. I got nothing from this. Chapter 9, the last in the book, is a two-pager on "CIL Tips".

So why do I give this book 3 stars?
1) The book includes Chapter 5, a well-written and interesting discussion about CIL Debugging.
2) Right now, Bock's book is one of three books that talks about CIL. It is the only book that is targeted directly at programming. Although John Gough's "Compiling for the .NET Common Language Runtime" is an excellent book, it is very specialized and targets (would-be) compiler authors. I didn't read the third book in the IL arena, Serge Lidin's "Inside Microsoft .NET IL Assembler", but I did thumb through it several times (you know what little that is worth): this book strikes me as being very difficult.

RECOMMENDATIONS:
If you need to learn IL Programming right now, buy Bock's book - read the second half of chapter 1, and read Chapters 2-5, maybe Chapter 6. If you have the time, money, and inclination, then buy and read Gough's book. You'll need a lot of time for Gough, but you will definitely learn.

If learning IL is not that pressing right now, I would wait to see if someone else releases a better book.

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


1 of 1 people found the following review helpful:
4.0 out of 5 stars Great for learning Reflection.Emit, March 4, 2005
This review is from: CIL Programming: Under the Hood of .NET (Hardcover)
My goal in reading this book was not to learn how to write IL in notepad and compile it via ilasm.exe. I wanted to learn the basics of IL and learn how to use the Refelction.Emit namespace to create dynamic types at runtime. This book does a great job at teaching this. I think the two chapters about Reflection.Emit are the best in the book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
dynamic proxies, argument exception, ilasm directives, callvirt instance string, ldfld class, callvirt instance class, field public static literal, type initializer, public hidebysig instance, newobj instance void, method public instance, call instance string, callvirt instance void, call instance void, native int, locals init, new opcode, dword ptr, call void, method pointer, custom constructor, assembly directive, language interoperability, native instructions, exception block
Key Phrases - Capitalized Phrases (CAPs): (learn more)
True Method, Private Const, String Sit, Private Shared Sub, Microsoft Corporation, End Method, Program Files, Verifier Version, End Sub, Private Sub, Errors Verifying, Compilation Results, Are We Done, Call Stack, Emitting Types, Public Sub, False Method, Sub Main, Miscellaneous Files, Microsoft Visual Studio, Interface Implementation, Spanish Inquisitor, Person System, Drive Return, Cancel Help Figure
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:

What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(5)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject