Q. What is MS-IL (Microsoft Intermediate Language) ?
Ans: When a program is complied in .Net , the source code will be converted into an intermediate language called Microsoft Intermediate Language (MS-IL) . This is done by Just-In time Complier (JIT). .Net framework is built in such a way that , Code is Just-In time complied, that is it get complied when it is called rather compiling entire code at the start up. A portion of the code will get complied only once and it will exists till the application exit. This will have a significant improvement in performance since entire section of the code wont get executed in most cases.
Q. What is Common Type System (CTS)?
Ans: .Net uses Common Type System (CTS) for Language Interoperability. CTS defines the predefined data types that are available in IL, so that all languages that target the .NET framework will produce compiled code that is ultimately based on these types. So that a data type defined in a VB.net will be understood by C#. For example, VB.Net uses “Integer” to define data type Integer. C# uses “int” to define data type Integer. When VB.Net code is complied , it will convert Integer to Int32 and since C# refers Int to Int32 VB.Net code will be understood by C#.
Q. What is Common Language Specification (CLS)?
Ans: Common Language Specification (CLS) is also used for Language Interoperability in tandem with CTS to ensure Language Interoperability. CLS defines a set of minimum standards that all compilers targeting .NET must support. For example VB.Net is not case sensitive. So attribute “EmployeeName” and “employeename” is considered same. But C# is case sensitive. So for language interoperability , C# doesn’t allow two variable which differs only in Case.