I was in the computer store today and I saw This Book " and it seemed a bit interesting.

The IL isn't very complicated, arguably simpler than MASM. Really, it looks like C# with pnuemonics instead of statements... but thought I'd share with the family...

Posted on 2002-03-18 20:53:33 by _Shawn
I have been wanting to purchase that book for some time now. I would buy it if someone would write a review on ebay or if it came to my local barnes and nobles.

Did you purchase it shawn?
Posted on 2002-03-19 00:39:15 by Asm_Freak
I was thinking on buying it, too. But again I'd have to see it to know what it provides beyond the documentation I already have.
Posted on 2002-03-19 00:44:02 by bitRAKE
I did not puchase it but I was strongly tempted. There was another more pressing book for me to get (I'm writing a Plugin Framework kit for COM and .NET -- -- don't complain of an incomplete site, it's not fully developed yet).

From my glances, it appeared to be a good book. I had a few questions about IL and dissassembly of it and so on. They seemed to be answered. Does it go into great detail? I think on a scale of 1-10 (10 being great technical info and lots of examples and good explanation) I'd say it falls into the 6.5-7.5 category.

It didn't give me a warm, fuzzy, "wow, that had all the info and examples I needed", feeling (of course, the Petzold Fifth Edition book didn't either -- If found Win32 Programming more complete -- but it was still a great reference to have)... if you know what I mean. Most books these days don't, anyway... even when you consider that 20 book volume sets, they still lack... nonetheless, I think it was more than sufficient for the info it contains and the point it makes. I don't think too many other books of it's nature will appear. How many Java Byte-Code books were there? I know of only two books that explained the Byte-Code mnuemonics for Java. It does go into debugging, as well... on an IL level, somewhat.

As for containing documentation already available or not. I think it goes a bit more beyond any documentation I've ever seen before and I don't think it contains a rehash of all the existing docs and basics implementations. I think it actually explains things and shows the how IL actually works and how it's used by the CLR. I actually think it appeared to give valuable insights that were otherwise hard to find. Nonetheless, I may not know all the source of IL info that there are, but it did seem to me more and better than what I've already seen (and I do try to keep my eye out for such info).

To summerize, I tihnk that I'd buy it but I really don't think it's all that it's cracked up to be on first glance (perhaps a second glance tomarrow will change that). I'm falling short of providing a good review (or a bad one), but I think this is one of those few books that you'll have to determine for yourself whether it contains the info you're looking for... in my case, it does.

Posted on 2002-03-19 01:16:20 by _Shawn

with pnuemonics instead of statements

Does this mean that C# is full of air or was it just a freudian slip ? :tongue:

Posted on 2002-03-19 01:53:57 by hutch--
Well,... it was clearly understandable...

Posted on 2002-03-19 02:29:48 by _Shawn
thanks for the review shawn! i don't think it's a bad price either, so i'll pick this one up!
Posted on 2002-03-19 03:08:29 by Asm_Freak

I looked at the book again today. It seems to be better than I thought on first glance. It has a great chapter on Structured Exception Handling (SEH) and the vtabe, and so on... also, what more can you ask: there's an ebook version of the book on the CD.

Posted on 2002-03-19 15:30:49 by _Shawn
Thanks Shawn, sounds like a good buy.
Posted on 2002-03-19 19:55:47 by bitRAKE
There's some info - table of contents, index and a sample chapter (the SEH one) - at:
Posted on 2002-03-20 04:33:32 by eGo
I dont understand, (I have no exp with .NET so maybe thats it).

Is .NET machine independent opcodes that are compiled at runtime?

If so then what's to be gained on using an assembler for it??

It is possible to optimize more than in C?

Posted on 2002-03-20 21:23:11 by dxantos
IL is similar to Java ByteCode. It's just a middle step before it's JIT'd.

Really, when you program in a .NET language, it's all converted into a Intermediate Language (IL) and then later "interpreted" or "compiled" on demand into the actual program. Java is similar. MS took this approach because they want the CLR (or portions thereof) to be platform-neutral.

Now, as far as I'm aware, there isn't a direct way to program in IL, such as inlining. However, there is the .NET Reflection Library which provides the same functionality the .NET compilers and interpreters and code emitters use, therefore, in a certain sense, you can, it's just not as straight forward as inlining would be. Now, how to actually create a pure IL module, I don't know. I recon it's in the book.

Posted on 2002-03-20 23:21:55 by _Shawn
You can program in IL asm directly if you want to, i wouldn't see why it's necessary but you can. Use the program ILAsm. The framework has the all the docs on the mnemonics.

It's somewhat interesting :)
Posted on 2002-03-21 00:11:45 by Asm_Freak
I'm quite ignorant on the subject.. so please let me understand.

Microsoft's true aim with .NET is to please software companies and stop piracy once for all, because even the code will be online, and on demand? All Internet-based also poses serious questions about security and privacy.

Did I get the real substance behind .NET?
Posted on 2002-03-21 04:58:12 by Maverick

Did I get the real substance behind .NET?
This is really based on your level of paranoia. :)
Posted on 2002-03-21 10:15:58 by bitRAKE
As I said, I'm quite ignorant on the subject.. so, please would you illuminate me about what's the real aim of Microsoft about .NET? Perhaps "a better world"? :)
I repeat (if writing it two times isn't enough, here is the third): I'm quite ignorant on the subject, but I'd like to understand.
Posted on 2002-03-21 15:52:32 by Maverick
Posted on 2002-03-21 17:06:04 by _Shawn
Many big companies use java (ejbs - enterpise java beans, mostly i think) to develop their server side software (machine independent code rule in server world ;) ). So Microsoft copied great ideas from Sun and created .NET to get those companies as customers. That is my opinion.

Microsoft could spent all that money for improving IDE for C and developing kick a$$ ASM IDE & debuger, but instead they created a toy, which supposed to help write better code for all VB programers.

"No but now you can write code in C# and use it from VB."

I remember using asm/c graphic libraries from QBasic 4.5 5+ years ago.

ASM + C + good programmer (you can add PowerBasic) = speed, quality.
.NET + bad or good (doesnt matter) programmer = fast development, slow code (read not very reusable code), questionable quality.


Everything above is just my opinions and thougths !!!!!!!
Posted on 2002-03-21 17:11:53 by pahan
Java killer is one truth.
The code might be slow,
but it'll be similar to Java speed, IMO.
Posted on 2002-03-21 17:19:07 by bitRAKE
Frightening stuff.
Posted on 2002-03-21 17:34:06 by iblis