What is C#?
C# is a modern, general-purpose, object-oriented programming language for networking and Web development. It is specified as a common language infrastructure (CLI) language, which consists of the executable code and run-time environment that allows use of various high-level languages on different computer platforms and architectures. It’s developed by Microsoft and approved by European Computer Manufacturers Association (ECMA) and International Standards Organization (ISO).
In January 1999, Dutch software engineer Anders Hejlsberg formed a team to develop C# as a complement to Microsoft’s NET framework. Initially, C# was developed as C-Like Object Oriented Language (Cool). The actual name was changed to avert potential trademark issues. In January 2000, .NET was released as C#. Its .NET framework promotes multiple Web technologies.
Features of C#
Following is the list of few important features of C# :−
1. Automatic Garbage Collection
2. Assembly Versioning
3. Boolean Conditions
4. Conditional Compilation
5. Delegates and Events Management
6. Easy-to-use Generics
8. Properties and Events
9. Standard Library
10. Simple Multithreading
11. LINQ and Lambda Expressions
12. Integration with Windows
What is .NET Framework?
The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It’s a platform that provides tools and technologies to build Networked Applications as well as Distributed Web Services and Web Applications. The .Net Framework provides the necessary compile time and run-time foundation to build and run any language that conforms to the Common Language Specification (CLS).
The main two components of .Net Framework are:-
A) Common Language Runtime (CLR)
B) .Net Framework Class Library (FCL)
1. Common Language Run-time (CLR):- The .Net Framework provides run-time environment called Common Language Run-time (CLR).It provides an environment to run all the .Net Programs. The code which runs under the CLR is called as Managed Code. Programmers need not to worry on managing the memory if the programs are running under the CLR as it provides memory management and thread management.
2. .Net Framework Class Library (FCL):- This is also called as Base Class Library and it is common for all types of applications i.e. the way you access the Library Classes and Methods in VB.NET will be the same in C#, and it is common for all other languages in .NET.
The few more concepts that we need to know and understand as part of this .Net framework:-
3. Common Type System (CTS):- CTS is basically a standard that specifies how types are declared, used and managed in the common language run-time and it is intended to allow programs written in different programming languages to easily share information.
4. Common Language Specification (CLS):- It is a sub-set of CTS and it specifies a set of rules that needs to be adhered or satisfied by all language compilers targeting CLR. It helps in cross language inheritance and cross language debugging.