Thursday, June 4, 2009

Basic .NET Framework Questions

What is a IL?

Twist :- What is MSIL or CIL , What is JIT?

(IL)Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL(Common Intermediate Language). All .NET source code is compiled to IL. This IL is thenconverted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.

What is a CLR?

Full form of CLR is Common Language Runtime and it forms the heart of the .NET framework.All Languages have runtime and its the responsibility of the runtime to take care of the codeexecution of the program. For example VC++ has MSCRT40.DLL,VB6 has MSVBVM60.DLL,Java has Java Virtual Machine etc. Similarly .NET has CLR. Following are the responsibilities ofCLR

√Garbage Collection :- CLR automatically manages memory thus eliminatingmemory leaks. When objects are not referred GC automatically releases thosememories thus providing efficient memory management.

√Code Access Security :- CAS grants rights to program depending on the securityconfiguration of the machine. Example the program has rights to edit or createa new file but the security configuration of machine does not allow the programto delete a file. CAS will take care that the code runs under the environment ofmachines security configuration.

√Code Verification :- This ensures proper code execution and type safety whilethe code runs. It prevents the source code to perform illegal operation such asaccessing invalid memory locations etc.

√IL( Intermediate language )-to-native translators and optimizer’s :- CLR usesJIT and compiles the IL code to machine code and then executes. CLR alsodetermines depending on platform what is optimized way of running the ILcode.

What is a CTS?


In order that two language communicate smoothly CLR has CTS (Common Type System).Examplein VB you have “Integer” and in C++ you have “long” these datatypes are not compatible so theinterfacing between them is very complicated. In order to able that two different languages can1. Basic .NET 99communicate Microsoft introduced Common Type System. So “Integer” datatype in VB6 and“int” datatype in C++ will convert it to System.int32 which is datatype of CTS. CLS which iscovered in the coming question is subset of CTS.

Note: If you have undergone COM programming period interfacing VB6 application withVC++ application was a real pain as the datatype of both languages did not have acommon ground where they can come and interface, by having CTS interfacing is


What are the different types of Assembly?

There are two types of assembly Private and Public assembly. A private assembly is normally usedby a single application, and is stored in the application's directory, or a sub-directory beneath. Ashared assembly is normally stored in the global assembly cache, which is a repository of assembliesmaintained by the .NET runtime. Shared assemblies are usually libraries of code which manyapplications will find useful, e.g. Crystal report classes which will be used by all application forReports.

What is NameSpace?

Namespace has two basic functionality :-
√NameSpace Logically group types, example System.Web.UI logically groupsour UI related features.
√In Object Oriented world many times its possible that programmers will use thesame class name.By qualifying NameSpace with classname this collision is able tobe removed.

No comments:

Post a Comment