Introduction



Before learning C#, lets understand what is a programming language?

So, A programming language is a set of commands or instruction used to produce various kinds of output.

Types of programming language:
  • High Level Programming Language: These languages have higher level of abstraction, these are written in the format that is close to our human language, these are used to create portable application or software. Example: Python, Java, C, C#, C++, Ruby, Perl, JavaScript etc.
          Advantages:
            Easier to modify as it uses English like statements.
            Easier/faster to write code as it uses English like statements.
            Easier to debug during development due to English like statements.
            Portable code – not designed to run on just one type of machine. 
  • Low Level Programming Language: These languages have lower level of abstraction, these are written in native language of a computer(binary) making them harder for programmers to understand, these are used to write programs that relate to the specific architecture and hardware of a particular computer.
          Note: Low level refer to Assembly Language & Machine Code.
          Example: GAS assembly languages, machine languages(binary) etc.
          Advantages:
            Can make use of special hardware or special machine-dependent instructions (e.g. on the specific chip)
            Translated program requires less memory.
            Write code that can be executed faster
            Total control over the code
            Can work directly on memory locations

So, What is C#?

C# is a modern, high-level (i.e. language with strong abstraction from the details of the computer), object oriented programming language. C# can be used to create various types of applications, such as web, windows, console applications or other types of applications using Visual studio.


Who developed C#?

A C# development team at microsoft which we lead by Anders Hejlsberg.

What is .NET Framework?

It is a software development framework (i.e. where we develop software) developed by Microsoft. We develop software with the help of .NET Framework using C#. To develop software in .NET we can use other languages also, like VB.NET, F#, C++ etc. The .NET framework consists of many things; so it is important to understand the architecture of this framework.

.NET Framework Architecture

The basic architecture of the .Net framework is as shown below.

Note: .NET Framework also includes Common Language Specification (CLS), Common Type System (CTS), Metadata, Assemblies etc. We will discuss this in later session.

The architecture of the .Net framework is based on the following key components:

Languages: These are .NET languages such as: C#, VB.NET, Jscript.Net etc.

Library: Set of standard class libraries for core purpose & it also provides class libraries which includes ADO.NET, WPF, WCF, Task Parallel Library, LINQ etc.

CLR: Common Language Runtime is a platform on which .NET programs are executed.


.NET Framework Component Stack:
This will help you understand how .NET framework has evolved over time.


Comments

Popular posts from this blog

C# Tutorial