Добавить в корзинуПозвонить
Найти в Дзене
JackiePotato

Глава 1. Введение в C#- Язык C# и платформа .NET(1.1)

Вся информация взята с сайта Metanit.com. Как я говорил в первом посте, я буду читать статьи, выбирать самое главное и разбирать это здесь, с вами. Яндекс дзен заменяет решётку символом #, что очень раздражаает😠 Первая версия языка вышла вместе с релизом Microsoft Visual Studio .NET в феврале 2002 года. Текущей версией языка является версия C# 10.0, которая вышла 8 ноября 2021 года вместе с релизом .NET 6. C# является объектно-ориентированным языком с Си-подобным синтаксисом и близок в этом отношении к C++ и Java. В этом уроке толком не объяснили, что значит объектно- ориентировочный язык, но думаю, сейчас это не особо важно Роль платформы .NET Язык C# был создан специально для работы с фреймворком .NET, однако само понятие .NET несколько шире. .NET представляет мощную платформу для создания приложений. Можно выделить следующие ее основные черты: Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), благодаря чему .NET поддержива

Вся информация взята с сайта Metanit.com. Как я говорил в первом посте, я буду читать статьи, выбирать самое главное и разбирать это здесь, с вами. Яндекс дзен заменяет решётку символом #, что очень раздражаает😠

Первая версия языка вышла вместе с релизом Microsoft Visual Studio .NET в феврале 2002 года. Текущей версией языка является версия C# 10.0, которая вышла 8 ноября 2021 года вместе с релизом .NET 6.

C# является объектно-ориентированным языком с Си-подобным синтаксисом и близок в этом отношении к C++ и Java.

В этом уроке толком не объяснили, что значит объектно- ориентировочный язык, но думаю, сейчас это не особо важно

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

Язык C# был создан специально для работы с фреймворком .NET, однако само понятие .NET несколько шире.

.NET представляет мощную платформу для создания приложений. Можно выделить следующие ее основные черты:

  • Поддержка нескольких языков

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

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

.NET является переносимой платформой.Используя различные технологии на платформе .NET, можно разрабатывать приложения на языке C# для самых разных платформ - Windows, MacOS, Linux, Android, iOS, Tizen.

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

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

  • Разнообразие технологий. Общеязыковая среда исполнения CLR и базовая библиотека классов являются основой для целого стека технологий, которые разработчики могут задействовать при построении тех или иных приложений. Например, для работы с базами данных в этом стеке технологий предназначена технология ADO.NET и Entity Framework Core. Для построения графических приложений с богатым насыщенным интерфейсом - технология WPF и WinUI, для создания более простых графических приложений - Windows Forms. Для разработки кроссплатформенных мобильных и десктопных приложений - Xamarin/MAUI. Для создания веб-сайтов и веб-приложений - ASP.NET и т.д.

Как нууууудно, благо в последующих уроках такого не будет
  • Производительность

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

Приятная особенность- нам в большинстве случаев не придется, в отличие от С++, заботиться об освобождении памяти. Вышеупомянутая общеязыковая среда CLR сама вызовет сборщик мусора и очистит память.

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 в связке с .NET 6, поскольку это актуальная платформа.

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

Нередко приложение, созданное на Csharp называют управляемым кодом (managed code). Данное приложение создано на основе платформы .NET и поэтому управляется общеязыковой средой CLR, которая загружает приложение и при необходимости очищает память. Но есть также приложения, например, созданные на языке С++, которые компилируются не в общий язык CIL, как Csharp VB.NET или F а в обычный машинный код. В этом случае .NET не управляет приложением.

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

Ага, но мы об этом не узнаем 😅

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

Как выше писалось, код на C

компилируется в приложения или сборки с расширениями exe или dll на языке CIL. Далее при запуске на выполнение подобного приложения происходит JIT-компиляция (Just-In-Time) в машинный код, который затем выполняется. При этом, поскольку наше приложение может быть большим и содержать кучу инструкций, в текущий момент времени будет компилироваться лишь та часть приложения, к которой непосредственно идет обращение. Если мы обратимся к другой части кода, то она будет скомпилирована из CIL в машинный код. При том уже скомпилированная часть приложения сохраняется до завершения работы программы. В итоге это повышает производительность.

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

#программирование #самосовершенствование #саморазвитие #работа #яндекс #развитие #c# #жизнь #университет