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, well, here comes this course you’re reading 😉
C# is a modern language that offers a unique combination of features that set it apart from other programming languages.
Some of these features include:
- Clear and easy-to-learn syntax
- Object orientation
- 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 most is how it has been able to integrate different paradigms into a single multi-purpose language, comfortable to use and very efficient.
Furthermore, with the introduction of .NET Core (now just .NET), C# is now cross-platform and multi-system. So 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 the “Common Language Runtime” (CLR), which is a kind of “virtual machine” that manages code and provides essential services for applications.
Additionally, .NET provides a comprehensive base class library containing a vast amount of ready-to-use functionality, making it easier to develop applications without having to reinvent 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
- .NET provides the runtime environment and base class libraries necessary to compile, run, and maintain those programs
On other platforms, these two concepts are much more 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 primary language used on the .NET platform. But .NET supports other programming languages such as Visual Basic .NET, F#, and other third-party languages through interoperability.
