C# (pronounced “C sharp”) is a high-level, object-oriented programming language developed by Microsoft as part of its .NET platform.
It is an integral part of the .NET platform and is used to develop a wide variety of applications, from desktop applications to web and mobile applications.
Since its release in 2000, C# has become one of the most popular and widely used programming languages in the world.
And, since it’s also one of my favorite programming languages, here comes the course you are reading 😉
C# is a modern language that offers a combination of unique features that set it apart from other programming languages.
Some of these features include:
- Clear and easy-to-learn syntax
- Object-oriented
- Strong and safe typing
- Support for parallel and asynchronous programming
- Native integration with other Microsoft technologies, such as .NET and Visual Studio
Personally, what I like the most is how it has been able to integrate different paradigms into a single, multipurpose language that is easy to use and very efficient.
Furthermore, with the introduction of .NET Core (now .NET), C# is cross-platform and multi-system. Thus, applications written in C# can run on different operating systems, including Windows, macOS, and Linux.
Finally, .NET is OpenSource. All the code is available in Microsoft’s GitHub repositories.
What is .NET?
.NET is a software development platform developed by Microsoft. It provides a runtime environment and a set of libraries that allow developers to create applications for a wide variety of devices and operating systems.
.NET is based on the concept of “Common Language Runtime” (CLR), which is a kind of “virtual machine” that manages the code and provides essential services for applications.
Additionally, .NET provides a wide base class library that contains a wealth of ready-to-use functionalities, making it easier to develop applications without reinventing the wheel.
Relationship between .NET and C#
Both concepts are related, but they are not the same. C# is the programming language, and .NET is the runtime environment.
C# provides the syntax and rules for writing programs, while .NET provides the runtime environment and the base class libraries necessary to compile, execute, and maintain those programs.
In other platforms, both concepts are much intertwined. In .NET they also go hand in hand, but there is an effort to keep both concepts separate.
On the other hand, C# is the main language used in the .NET platform. However, .NET supports other programming languages such as Visual Basic .NET, F#, and other third-party languages through interoperability.