What is C# .Net
C# .Net is a programming language developed by Microsoft that uses their .Net framework. C# is a very powerful managed language that is aimed at making the programmer more productive by letting the system do automated things like garbage collection and handling exceptions, unlike C and C++ where these have to be done manually. C# is object orientated unlike its predecessor C (C++ had the ability extended to allow for object orientation), this allows you to make reusable components. C# still have many of its features rooted from C++ in the way it works, but also looks very similar to Java in its syntax. Because C# .Net is a managed language it requires the .NET Common Language Runtime (CLR) in order for it to run, but this usually comes pre-installed, but it is available via Windows Update for older computers.
The .net library now has two flavours, .net framework and .net core. The main difference is .net framework is for windows only and the last version will be 4.8.x. This is because .net core will be the main line going forward and will be rebranded from .net core to .net 5 and upwards. This is because .net core line is open source and multiplatform allowing you to develop applications on Windows, Linux and Mac OSx.
.net framework vs .net core (.net 6)
.NET Framework and .NET Core are both free, open-source development frameworks created by Microsoft. However, they have some key differences:
- Platform support: .NET Framework is designed for use on Windows and supports a wide range of older Windows versions, while .NET Core is cross-platform and can be used on Windows, Linux, and macOS.
- API support: .NET Framework has a larger API set, including Windows Forms and WPF for desktop development, while .NET Core has a smaller API set, focusing on web and cloud development.
- Performance: .NET Core is generally considered to be faster and more efficient than .NET Framework, especially for cloud and web applications.
- Deployment: .NET Core applications can be deployed in a self-contained manner, meaning that they include everything they need to run, while .NET Framework applications usually require the .NET Framework to be installed on the target machine.
Overall, .NET Core is a more modern and versatile framework, while .NET Framework is more established and has a wider range of API support. It depends on the requirement of the application you are building and the target platform you want to deploy it to.