C# vs .NET (A must know for Beginners)
Tags: dotnet, csharp, codenewbie, learncsharp
Published: 2022-12-13 16:25:37

Welcome to the first article on our C# tutorial.

C# VS .NET

C#
 
C# a general purpose programming language developed by Microsoft. It has witnessed immense growth since its inception ,With Object-oriented capabilities , cross-platform using Xamarin ,the advent of Machine learning  using ML.NET  , while also largely used in building gaming applications . Microsoft has delivered a language capable of delivering in all fronts and certainly in every aspect you want to dive in as a programmer or an aspiring developer.


If you ever find yourself pronouncing it “c-hash” , then you show your ignorance right away , called “c-sharp” ,  a prominent language very well advisable to kick start your coding career with, as it will expose you to global programming concept used in other languages , while also empowering you with necessary programming tool to enjoy your coding experience. Certainly remains an easy ride due to similarities in development and syntax  for Java , C ,C++ and Visual Basic programmers looking to try their hands on C#.

WHAT IS .NET??
Several questions has emerged as to the difference between C# and .NET, as beginners in C# mostly think .NET and C# is the same thing .But that is wrong .Take this Analogy:
Every football player needs the right field, in the right dimension , and the field in best of conditions to enjoy his/her football , or else we just might not see the quality of that player .Same goes to C#, If you ever wonder what makes your C# codes tick, run with much efficiency ,then it is because of a strong open source framework that serves as a soil to turns of code implant done on your system.


Therefore , the .NET is a developer platform  made up of tools , and libraries for building many different types of application. So while C# is a programming language ,the .NET is a platform which allows the program to run , provides libraries and efficiently allows you to build any type of application with it. 


The .NET was formally or even still called .NET Framework but as development and upgrade were made, a change in name  significantly arouse to differentiate them in this order (.NET Framework -> .NET Core -> .NET)

The .NET Framework is the original implementation of .NET , it supports running websites , services , desktop apps,  and more on windows.
While the .NET is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS., .NET is open source on GitHub.,  .NET was previously called .NET Core.

**
Architecture of .NET Framework**


The .NET Framework  contains two major components , These components participate actively in making our codes run properly on whatever machine we use. 
1.	**The Common Language Runtime(CLR):** This is concerned with Thread Management , Garbage collection, Type Safety , Exception Handling ,it is the execution engine that handles running applications. 
2.**	The Class Library :** provides a set of APIs and types for common functionality. It provides types for strings, dates, numbers, etc. The Class Library includes APIs for reading and writing files, connecting to databases, drawing, and more.

What really happens behind the Scene??

It is known that computer only understands the Machine Language(0’s and 1’s) , Which is quite a stressful and difficult one for humans to comprehend , However the advent of High level programming languages and even Object oriented programming languages  has made programming friendly and fascinating .This explains why .NET applications  which are written in C# , F#, Visual Basic programming language and the code is compiled into a language-agnostic Common Intermediate Language (CIL). Compiled code is stored in assemblies—files with a .dll or .exe file extension.
When an app runs, the CLR takes the assembly and uses a just-in-time compiler (JIT) to turn it into machine code that can execute on the specific architecture of the computer it is running on.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sh6vrxvh8rwflzle93zx.png)

While this a wrap on this topic ,This is your take away, C# is a statically typed programming Language backed by a strong platform for it to carry out programming functions (.NET) . Hope your Journey to writing  and creating programs under this language and it framework is a blissful and smooth one.

Welcome to the .NET and C# Family.
Follow this page for upcoming C# Tutorials

©Jalalgorithm.