I'm confused about machine code and native code in the context of .NET languages. What is the difference