|
(Michael Klaene) Code written in a .NET language like C# is referred to as managed code. That is, it is not compiled into machine-specific instructions. Instead, .NET compiles into MSIL (Microsoft intermediate language). MSIL is a machine-independent instruction set that is compiled at runtime by the .NET CLR (common language runtime). A similar sequence of events takes place in the Java world, within the JVM (Java Virtual Machine). This extra compilation step is the key to .NET's success. Code executes in a protected sandbox, the managed environment of the CLR. It can provide greater security, stability, and it can run on any piece of hardware that the CLR supports, which may someday include non-Microsoft platforms. With executable programs produced by traditional languages, it can be very difficult to analyze the original source code. This can be a good thing when it comes to code protection, but being able to view source can be of tremendous value; for example, when it becomes necessary to analyze logic in a .dll whose source code has been lost. The Lutz .NET Reflector application provides .NET developers an easy way to analyze .NET assemblies. |