Вы можете проверить этот курс на мой сайт.

Приготовься! Начинаем погружаться в C# и, конечно же, начнем с истории.

Microsoft начала разработку C# еще в 1998 году, а первый анонс состоялся в 2000 году. С тех пор язык претерпел большое количество обновлений и улучшений. Текущая версия языка — версия C# 10.0, выпущенная 8 ноября 2021 года. Сегодня C# — один из самых мощных и востребованных языков в ИТ-индустрии.

Сам язык использует синтаксис, очень похожий на C++ или Java. Поэтому, если вы изучали или писали программы на этих языках, то C# будет легче освоить.

C# является объектно-ориентированным и в этом отношении он многое перенял от Java и C++. Например, C# поддерживает полиморфизм, наследование, перегрузку операторов, статическую типизацию. Объектно-ориентированный подход позволяет решать задачи построения больших, но в то же время гибких, масштабируемых и расширяемых приложений. C# продолжает развиваться и с каждой новой версией появляется все больше интересного функционала.

Что можно написать на C#?

В своей современной форме C# способен на многое. Сегодня он не зря занимает лидирующие позиции в списках популярных языков, так как на его основе можно строить практически любые понравившиеся проекты.

  • Мобильные приложения
  • Настольные приложения
  • Веб-приложения
  • Веб-сервисы
  • Веб-сайты
  • Игры
  • Приложения базы данных

Роль платформы .NET

Вы, наверное, слышали, что когда говорят о C#, часто имеют в виду технологии платформы .NET (ASP.NET, WPF, Xamarin и так далее). И наоборот, когда люди говорят о .NET, они часто имеют в виду C#. Хотя эти понятия связаны, но они не совпадают. Язык C# был создан специально для работы с платформой .NET, но сама концепция .NET несколько шире.

Платформа .NET предоставляет мощную и большую платформу для создания приложений. Давайте рассмотрим его основные особенности:

Кроссплатформенность

Последняя версия .NET 6 поддерживается многими современными операционными системами: Windows, MacOS, Linux. Платформа также предоставляет различные технологии, благодаря которым вы можете разрабатывать приложения на C# для разных платформ — Windows, MacOS, Linux, Android, iOS.

Многоязычная поддержка

Основой платформы .NET является Common Language Runtime (CLR), с помощью которого .NET поддерживает несколько языков, кроме C#, например: C++, F#, VB.NET, а также диалекты других языков, родственных .NET, например: Deplhi.

При компиляции код на любом из этих языков компилируется в сборку на Common Intermediate Language (CIL) — своего рода ассемблере для платформы .NET. Поэтому при определенных условиях и необходимости можно делать отдельные модули одного приложения на разных языках.

Производительность

В ряде тестов веб-приложения .NET 6 превосходят веб-приложения, созданные с использованием других технологий, в разных категориях.

Мощная библиотека классов

.NET предоставляет единую библиотеку классов для всех поддерживаемых языков. И какое бы приложение мы ни собирались писать на C# — игру, веб-сайт или мобильное приложение — мы так или иначе используем библиотеку классов .NET.

На самом деле вы можете себе представить, что эта платформа похожа на некую папку, которая содержит другие папки (библиотеки). При этом важно понимать, что для работы в определенной области вам также придется изучить подходящую для этой области библиотеку.

Разнообразие технологий

Как было сказано выше, на C# можно писать приложения любого типа и на любой ОС, для этого платформа .NET имеет среду Common Language Runtime (CLR) и базовую библиотеку классов, которые являются основой для целого стека технологий.

Например, ADO.NET и Entity Framework Core предназначены для работы с базами данных в этом стеке технологий. Для разработки кроссплатформенных мобильных и десктопных приложений — Xamarin/MAUI. Для создания сайтов и веб-приложений — ASP.NET и др.

Уборщик мусора

Разработчику не нужно беспокоиться об освобождении памяти, так как это нужно сделать на C++, CLR сама вызовет сборщик мусора и очистит память.

Я поверхностно описал преимущества и роль платформы .NET, а более подробно я опишу в отдельном разделе.

.NET Framework и .NET 6

Следует отметить, что .NET долгое время развивалась как платформа для Windows под названием .NET Framework. В 2019 году вышла последняя версия этой платформы. NET Framework 4.8. Он больше не находится в разработке

С 2014 года Microsoft разрабатывает альтернативную платформу — .NET Core, которая уже была предназначена для разных платформ и должна была вобрать в себя все возможности .NET Framework и добавить новый функционал. Затем Microsoft выпустила серию версий этой платформы: .NET Core 1, .NET Core 2, .NET Core 3, .NET 5, а текущая версия — .NET 6.

Помните, что старый . NET Framework для Windows, но мы будем рассматривать .NET 6 и C#10, так как это самая актуальная версия.

Управляемый и неуправляемый код

Возможно, вы слышали, что приложение, созданное на C#, называется управляемым кодом. Что это значит? Это означает, что это приложение основано на платформе .NET и поэтому управляется общеязыковой средой CLR, которая загружает приложение и при необходимости очищает память.

В то же время платформа .NET предоставляет возможности для работы с неуправляемым кодом.

JIT-компиляция

Код C# компилируется в приложения или сборки с расширениями exe или dll на языке CIL. Затем, когда вы запускаете приложение или сборку, JIT (Just in Time) компилируется в машинный код, который затем выполняется.

Важным преимуществом приложения является возможность компилировать только те части программы, которые необходимы в данный момент. Если приложение не обращается к какой-либо части кода, оно не будет скомпилировано. В момент доступа выполняется мгновенная компиляция из CIL в машинный код.

Все скомпилированные блоки не удаляются, они сохраняются до окончания работы с программой. Это помогает снизить затраты системных ресурсов на перекомпиляцию.

Это было краткое введение в C# и платформу .NET. Перейдем к эволюции C#.

Содержание

Следующая статья -› 1.2 Эволюция C#

Присоединяйтесь к нашему сообществу в Telegram — https://t.me/itifico

Если вы хотите поддержать меня, вы можете купить мне чашку кофе, и я выпью ее, когда буду писать следующую статью :)

Список пожертвований:

  1. Динеш Чинталапуди — 3$
  2. Неизвестный — 5$