Accessability Links

What’s the difference between C# and .NET?

Requirements for IT jobs always mention the specific skills the applicant needs; often these include programming languages as well as competencies in software packages. A programming language is a computer language created to formulate a standard set of commands -- a computer interprets these commands as code and is able to implement them. The language generates algorithms in order to create programmes.

There are thousands of programming languages out there – Googling a list produces page upon page. Among the more familiar terms you’ll see in job adverts are C# and .NET. But can these two items be compared? What are the differences between them?

In simple terms, C# is a programming language, whereas .NET is the framework on which the language is built. Microsoft created .NET (Network Enabled Technology), and .NET developers will use programming languages such as C#. In fact, .NET supports many programming languages, and defines the rules and associated libraries those languages will use. The .NET framework is the management tool for a shared library of code that developers can use so that they don’t have to write code from scratch every time. .NET is packed with tens of thousands of pieces of shared code allowing developers to use common functions. As well as this, it also provides a runtime environment for applications. Other platforms (for example Java) do this too. .NET’s runtime environment is called the Common Language Runtime (CLR). What this means in practice is that an application written in a language such as C# will be able to run on any piece of hardware that supports .NET. So, if you’re a developer using C# to write the code for your app, you know it’ll be able to run on anything that supports .NET.

C# was originally introduced at the turn of the millennium (although it’s been revised since then, unsurprisingly) and was created by Microsoft from existing C and C++ as a fully object-oriented programming language. It’s simpler than Java and C++ and is extremely flexible, allowing developers to create a huge range of projects and applications. It is also based on a relatively small number of keywords, meaning it may be easier to learn than languages with a wider “vocabulary”. 

Because both C# and .NET are Microsoft products, you’d expect them to be easily integrated. The vast majority of C# work takes place in the .NET environment, although it’s possible to use C# without .NET using an open-source version of the CLR.

So when a vacancy calls for C# and .NET, it’s asking that applicants understand both the language and the environment in which it will be used.

Read our related blog: JavaScript development and competing libraries
Add new comment

Meet the team

Back to Top