As a C# developer you would always hear these three words again and again, IDE (Integrated Development Environment), Programming language and framework. Even senior developers use these three words interchangeably without even not knowing that they are very much different.
So in one line let me define what they are:-
.NET framework is a huge set of reusable components and libraries by which you can create applications. So if you want to see .NET framework components you can browse to “C:\Windows\Microsoft.NET\Framework” you will see different versions of .NET framework and if you browse to any of the .NET version folders you will see files with “DLL” extensions and starting with “System” name.
Full form of DLL is Dynamic link library. These DLL’s have reusable code which helps to perform certain tasks. For instance “System.Data.dll” helps to store data in databases, “System.Drawing.Dll” helps to display GUI and so on.
So in simple words .NET framework is a huge repository of reusable component.
Figure 1.2: - .NET Framework reusable components
But framework alone cannot do anything we need to write logic , we need put IF conditions , invoke these reusable components and so on. For that we need programming languages like C# , VB.NET and so on. Programming languages can run loops, check IF conditions and so on.
Enterprise applications are large in size and integrating C# and .NET framework can become very difficult. So we would like to have some kind of a tool or automation which can make this integration easy while development.
When we talk about professional applications we will need do the following activities :-
In short we need some kind of automation or we can say an integrated development environment ( IDE) which can help us to organize C# code and reference .NET framework component depending on situations. This is all done by VS IDE (Visual studio IDE).
Below is a simple screen shot of how Visual studio IDE looks like. Yes, it looks complex at the start but once you start using it you cannot stay without it.
Figure 1.3: - IDE view
Figure 1.4: - IDE, Language and Framework
So if we can summarize .NET is a framework of huge repository of readymade components.
C# is a language which invokes these components, puts logic, work flows as per the business flow of the end user.
While VS IDE is a tool which gives you syntax help , compiling , debugging , code editing so that you can deliver your projects on time.