cover of computer careers book

 

 

 

 

 

 

 

Discover the 8 Reasons Why Now is the Best Time Ever to Change to a Computer Career

MSIL / Microsoft Intermediate Language for Not Yet Techies

"Computer Careers: Working With .NET Framework and Internet Application Development"

by Richard Stooker, President Info Ring Press and author of Secrets of Changing to a Computer Career

 

MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) is an essential aspect of making .NET Framework applications widespread. MSIL (Microsoft Intermediate Language) is also called CIL (Common Intermediate Language) and right now I don't know which usage will be used the most in the future.

To understand why MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) is so important, you must review what has been happening with ordinary programming language throughout computer history.

In the old days, a company wanted a program to keep track of their inventory of widgets. They gave the job to a group of their programmers who worked late into the night coding the program to run on the company's computer.

Remember that computers can't understand computer languages. Computers understand only combinations of bytes - on and off. What these combinations of bytes tell the computer to do is called native code.

So when programmers write a code in, say, C++, that code must then be compiled into native byte code. It tells that computer -- and ONLY *that* computer -- what to do with its memory and other resources to keep track of the company's inventory.

Where does MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) come into this?

They don't. Each program written in C++ is computer-specific. It will not run on a different kind of computer.

Yet the Internet and other networks are filled with hundreds of different computers trying to talk to each other. Today, a company wants to not only track its inventory, it wants an order for new widgets to be placed with its supplier when its supply gets low, it wants an order for widgets to be shipped to customers who order over the Internet, it wants its accounting system to be debited and credited automatically for all these transactions, it wants daily reports sent to upper level management etc.

All of these functions require intercommunication between computers, which has been a huge problem.

Because MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) is NOT computer-specific.

When a programmer designs a inventory-tracking program in a .NET language such as VB.NET or C#, the code is NOT compiled directly into machine-specific native byte code. It is compiled into MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) -- an intermediate language which can then be recompiled into native byte code on any computer.

Ah ha! This inventory-tracking program can now be put on other computers in other divisions of the mega-widget conglomerate.

When managed code from C# or VB.NET is compiled, two things are generated: MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) and metadata, which is data about the program itself and the data types it uses. This is stored in modules, .exe and .dll files.

What happens to MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) ?

MSIL / Microsoft Intermediate Language can be re-compiled to native byte code in two ways:

1. Just In Time (JIT), which means the .NET Common Language Runtime (CRL) loads MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) assemblies as they are called by the program. It also verifies the integrity of the code, enhancing security.

2. All at once, using the Native Language Generator (NGEN).

MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) is stack-based

If a developer wants to skip using C# or VB.NET, they can code directly with MSIL (Microsoft Intermediate Language) / CIL (Common Intermediate Language) using an assembler called Ilasm. There's no practical reason to do so but Microsoft understands that some techies do such things for their own inner, personal needs.

Next: .NET Framework

Use Your New Computer Career as a Stepping Stone to Even Greater Success

Send off for your free 7-part Techie Plus eCourse now. So that you can learn:

  • The 7 most important skills to even greater business achievement -- not to mention wealth and (maybe) fame
  • Why techies are expendable in bad times and how to protect yourself from them
  • Why the world's richest computer programmer has not written any code in ages
  • How one ex-engineer now makes $500,000 a year
  • The abilities most techies don't even realize they don't have -- which confines their success to their technical abilities
  • Why techies are expendable in bad times and how to protect yourself from them

It's fast and easy. You will receive the first part in your email box within minutes.

I respect your privacy. I will never sell, rent or trade your email address.

After you subscribe, the form will redirect you to a thank you page.

Subscribe now to free 7 part Techie Plus eCourse
Your Name:
Your Email:

Check Out Email Aces Today!
- Powered By Email Aces -

Thank you!

Rick Stooker

Permission is granted to reprint the above article in an ezine or on a website as long as it is reprinted in full, with no changes, with full credit and with this contact information and link included at the bottom. All other rights reserved.

Copyright 2007 by Info Ring Press

All Rights Reserved.

Computer Careers (Home)   Sitemap   Contact   Privacy  

Info Ring Press
Richard Stooker
PO Box 617
130-G Ballwin Manor Dr
Ballwin, MO 63011
(636) 394-2052
rick@inforingpress.com