C# Programming/NET Framework overview

.NET Framework is a common environment for building, deploying, and running Web Services, Web Applications, Windows Services and Windows Applications. The .NET Framework contains common class libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced standard services that can be integrated into a variety of computer systems.



In June 2000 Microsoft released both the .NET platform and a new program language called C#. C# is a general-purpose OOP language designed to give optimum simplicity, expansiveness, and performance. Its syntax is very similar to Java, with the major difference being that all variable types are derived from a common ancestor class.

C# is a language in itself. It can perform mathematical and logical operations, variable assignment and other expected traits of a programming language. This in itself is not flexible enough for more complex applications. At some stage, the developer will want to interact with the host system whether it be reading files or downloading content from the Internet.

The .NET framework is a toolset developed for the Windows platform to allow the developer to interact with the host system or any external entity whether it be another process, or another computer. The .NET platform is a Windows platform-specific implementation. Other operating systems have their own implementations due to the differences in the operating systems I/O management, security models and interfaces.


  • Originally called NGWS (Next Generation Windows Services).
  • .NET does not run in any browser. It is a runtime language (Common Language Runtime) like the Java runtime. By contrast, Microsoft Silverlight does run in a browser.
  • .NET is based on the newest Web standards.
  • .NET is built on the following Internet standards:
    • HTTP, the communication protocol between Internet Applications
    • SOAP, the standard format for requesting Web Services
    • UDDI, the standard to search and discover Web Services
    • XML, the format for exchanging data between Internet Applications