Eric Lippert has put together an excellent blog post called Why IL that explores the reasoning behind having an Intermediary Language rather than going straight to the bytecode from the source compiler.
Eric Lippert has put together an excellent blog post called Why IL that explores the reasoning behind having an Intermediary Language rather than going straight to the bytecode from the source compiler.