{"id":35,"date":"2021-12-20T08:57:49","date_gmt":"2021-12-20T01:57:49","guid":{"rendered":"https:\/\/csharptutorial.net\/?page_id=35"},"modified":"2022-06-03T13:11:32","modified_gmt":"2022-06-03T06:11:32","slug":"what-is-csharp","status":"publish","type":"page","link":"https:\/\/www.csharptutorial.net\/csharp-tutorial\/what-is-csharp\/","title":{"rendered":"What is C#"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you&#8217;ll learn about the C# programming language and various .NET platforms.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction to the C# programming language<\/h2>\n\n\n\n<p>The C# (\/si&nbsp;\u0283\u0251\u02d0rp\/ or <em>see sharp<\/em>) is a general-purpose, type-safe, object-oriented programming language developed by Microsoft.<\/p>\n\n\n\n<p>C# allows you to develop the following applications:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Websites<\/li><li>Desktop applications<\/li><li>Mobile apps<\/li><li>Command-line programs<\/li><li>Cloud-based systems<\/li><li>IoT devices<\/li><li>Machine learning applications<\/li><li>Games<\/li><\/ul>\n\n\n\n<p>C# first appeared in 2000 with the introduction of the .NET framework 1.0. For almost two decades, developers have been using C# to develop applications on Windows.<\/p>\n\n\n\n<p>In June 2016, Microsoft released .NET Core 1.0, a cross-platform version of .NET, allowing you to develop applications that run across platforms, including Windows, macOS, and Linux.<\/p>\n\n\n\n<p>In the early day, C# was closed. However, today C# is open. Microsoft welcomes the community&#8217;s contributions to the C# language. The community can propose new C# language features on <a href=\"https:\/\/github.com\/dotnet\/csharplang\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>, enabling open discussions and involvement from the earliest stage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why C#<\/h2>\n\n\n\n<p>Many programming languages are available today. Each language is suitable for a set of applications. Sometimes, you&#8217;ll see the overlaps. <\/p>\n\n\n\n<p>However, programming languages are just tools that help you build applications productively. Therefore, selecting the right tool will help you speed up the development.<\/p>\n\n\n\n<p>C# balances simplicity, expressiveness, and performance. The goal of C# is to help you build applications fast.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Understanding .NET<\/h2>\n\n\n\n<p>.NET framework, .NET Mono, .NET Core are closely related and overlapping platforms. It&#8217;s essential to understand each of them and what they can do before developing applications.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">.NET Framework<\/h3>\n\n\n\n<p>Microsoft developed the .NET framework that includes two main components:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Common language runtime (CLR) that manages the code execution.<\/li><li>Base class library (BCL) that provides a library to build applications.<\/li><\/ul>\n\n\n\n<p>The .NET framework can work only on Windows. If you develop new applications, you should not use the .NET framework.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">.NET Mono<\/h3>\n\n\n\n<p>The open-source community developed an implementation of the .NET framework called the Mono project. Mono is open and cross-platform. However, it&#8217;s often behind the official implementation of the .NET framework.<\/p>\n\n\n\n<p>Mono project is a foundation for the following popular platforms:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Xamarin mobile platform<\/li><li>Unity game development platform<\/li><\/ul>\n\n\n\n<p>Microsoft acquired Xamarin in 2016 and included it in Visual Studio for free.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">.NET Core<\/h3>\n\n\n\n<p>Microsoft developed a specific version of the .NET framework that works cross-platform called .NET Core. The .NET Core includes the cross-platform implementation of the .NET framework, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>CoreCLR is the cross-platform implementation of CLR<\/li><li>CoreFX is the cross-platform implementation of BCL<\/li><\/ul>\n\n\n\n<p>But any improvements that Microsoft makes to the .NET Core cannot be added to the .NET framework. Therefore, Microsoft planned to unify all the .NET platforms.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A unified .NET platform<\/h3>\n\n\n\n<p>In November 2021, Microsoft announced a unified .NET platform. They renamed .NET Core to  .NET. <\/p>\n\n\n\n<p>.NET versions are either long term support (LTS) or current:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>LTS releases are stable and have fewer updates in their lifetime. LTS releases are a good choice for applications that you don&#8217;t want to update frequently. Microsoft supported LTS releases for three years after general availability, and 1 year after it ships the next LTS release.<\/li><li>Current releases include features that include frequent changes based on feedback. Therefore, the current releases include the latest improvements. They&#8217;re suitable for applications that you&#8217;re actively developing. Microsoft supports the current releases for six months after a subsequent Current or LTS release. Since the releases happen every 12 months, the support period for a Current release is 18 months.<\/li><\/ul>\n\n\n\n<p>Microsoft will release critical fixes for LTS and Current releases throughout their lifetimes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>C# is a general-purpose, type-safe, object-oriented programming language.<\/li><li>Use .NET to develop new applications.<\/li><\/ul>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"35\"\n\t\t\t\tdata-post-url=\"https:\/\/www.csharptutorial.net\/csharp-tutorial\/what-is-csharp\/\"\n\t\t\t\tdata-post-title=\"What is C#\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"35\"\n\t\t\t\tdata-post-url=\"https:\/\/www.csharptutorial.net\/csharp-tutorial\/what-is-csharp\/\"\n\t\t\t\tdata-post-title=\"What is C#\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you&#8217;ll learn what the C# programming language is and what it can do for you.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":7,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-35","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":5,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/35\/revisions"}],"predecessor-version":[{"id":697,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/35\/revisions\/697"}],"up":[{"embeddable":true,"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/pages\/7"}],"wp:attachment":[{"href":"https:\/\/www.csharptutorial.net\/wp-json\/wp\/v2\/media?parent=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}