Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

CSharp.NET Tutorial – Day 2

Tags: language

In this article, we will discuss what is .NET and its languages, technologies, servers, etc, what is framework and development of .NET framework, what are CLI specifications and its components

.NET

.NET is a software which can be used in the development of various kinds of applications like:
1)      Desktop Applications
a.      Character User Interfaces (CUI)
b.      Graphical User Interfaces (GUI)
2)      Web Applications
3)      Mobile Applications

Microsoft’s .NET provides us various things that will be used in application development like
1)      Languages(C#, VB, J#, VCPP, etc...)
2)      Technologies (ASP.NET, ADO.NET, etc...)
3)      Servers (Windows2008 server, SQL Server, IIS, SharePoint server, BizTalk)

FRAMEWORK
In case of OS Independent languages code execute under a special software known as FRAMEWORK.

Framework is software, which will mask the functionalities of an OS and makes the code to execute under its control, providing features like.

1)      OS Independency
2)      Security
3)      Automatic Memory Management.

Development of .NET Framework
  1. Microsoft’s .NET Framework development has been started in the late 90's, originally the name NGWS (Next Generation Windows Services).
  2. For the development of Framework, it has first prepared a set of specifications known as CLI (Common Language Infrastructure) specifications.
  3. CLI specifications are open specifications which have been standardized under ISO (International Standards Organization) and ECMA (European Computer Manufacturers Association).
The CLI specification talks on 4 major things
1)      CLS (Common Language Specification)
2)      CTS (Common Type System)
3)      BCL (Base Class Libraries)
4)      VES (Virtual Execution System)

1) CLS (Common Language Specification):- It is a set of base rules all the high level .NET languages has to adopt the interoperate with each other, most importantly after compiling any .NET language program it should generate the same type of output known as CIL code.



2) CTS (Common Type System): - According to this, the data types that are present under every .NET language should adopt similar structure. That is sizes of similar types should be Uniform.

As every .NET language is derived from an existing language (Except C#). The names of the types will not be similar in all these languages, but similar types present in different languages even if they don’t have the same name will have the same size.

When we use a "type" in language after compilation that type gets converted into IL type as following



In the above case types that are used in two different languages after compilation get converted into IL types, where in IL all types will be same.

When we want to consume the code of one language from other languages these types will be exchanged between the languages in their understandable format only as following.



Note: - CLS and CTS are the two rules which provide language interoperability between .NET languages.
3) BCL: - A Library is a set of re-usable functionalities provided for a language. Every Programming language will have libraries specific to them like CLibraries for 'C', Java libraries for Java etc… whereas in case of .NET language all the languages are provided with a single set of libraries known as Base Class Libraries (BLC). Mostly developed using C# language. But can be consumed from any other .NET language.



Note: - Base class libraries can be taken as best example for language Interoperability

4) VES: - All high level .NET languages after compilation will generate the same type of output known as CIL code which can be carried and executed on any machine provided specific VES is available which converts IL code into Machine code according to the OS and Hardware.



Note: - VES provides the OS Independency for CIL code.

Following the CIL specifications Microsoft has developed the framework for only windows operating system, but third party vendors like MONO has developed the frameworks for few other Machines like UNIX, LINUX, SUNSOLARIS, MCA-OS etc.

Note: - As per CIL specifications .NET is theoretically fully platform independent, but practical implementation of the framework will Available for few operating systems.

CSharp.NET Tutorial - Day 3


This post first appeared on Dot Net Programming (C#, Asp.Net, ADO.Net, WCF, WPF, Ajax, LINQ), please read the originial post: here

Share the post

CSharp.NET Tutorial – Day 2

×

Subscribe to Dot Net Programming (c#, Asp.net, Ado.net, Wcf, Wpf, Ajax, Linq)

Get updates delivered right to your inbox!

Thank you for your subscription

×