Tuesday, February 24, 2009

The .NET Framework, Visual Studio.Net and C#

I tried to look up a good reference for .NET or rather the .NET Framework as it is actually called and found this

http://www.microsoft.com/net/basics.mspx

But that seems more like something meant for the layman or client.

This one is perfect

http://msdn.microsoft.com/netframework/programming/fundamentals/default.aspx

"The .NET Framework is a development and execution environment that allows different programming languages & libraries to work together seamlessly to create Windows-based applications that are easier to build, manage, deploy, and integrate with other networked systems.

The .NET Framework consists of:

The Common Language Runtime (CLR)
A language-neutral development & execution environment that provides services to help "manage" application execution
The Framework Class Libraries (FCL)
A consistent, object-oriented library of prepackaged functionality"

This link will help explain (or increase) the jargon a bit

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconinsidenetframework.asp

In most simple terms, the CLR is nothing but a virtual machine like the JVM for .Net applications.

.Net executables and dlls comprise of an intermediate language called MSIL just like Java's byte-code. The executables, though named *.exe, will not run on a machine without the .Net CLR

The second part of .Net, the Framework Class Libraries, are nothing but a huge set of inbuilt classes that one can use for development.

They make web development, encryption, web services, threading, interoperability with COM and hundreds of other such normally complex tasks quite simple and easy to implement.

The claim of increased portability arises from the the fact that programs written in a large number of languages can be compiled into dlls and exes in MSIL and any exe or dll in MSIL will run on any machine that has .Net installed on it.

But the problem is .Net is only avaliable for Windows so the portability is still restricted to Windows.

But yes, there is the advantage that your applications become machine independent and language independent so long as you have .Net installed on the target computer.

Dlls and exes originally written in different languages can be deployed together and use each other as long as they've all been compiled to MSIL.

The framework itself is a free download

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3

I think it comes with a free SDK. But almost all our work is done in an IDE developed for .Net called Visual Studio.Net

http://msdn.microsoft.com/vstudio/

No comments:

Post a Comment