Прогресс в языках программирования и операционных системах никогда не стоит на месте. После первого появления компьютера соответствующие области начали стремительно развиваться. Сейчас популярностью пользуется так называемое Си-семейство. Это языки программирования C/C++/C#. Последний – наиболее новый и удобный.
Пользователи и разработчики часто слышат такое словосочетание как Net Framework. Но не все понимают, что это такое. Для программеров и обычных юзеров данный термин крайне важен. О нем и зайдет речь в данной статье.
Си Шарп – язык программирования «нового поколения». Относится к высшему уровню и предлагает:
- простой синтаксис;
- кроссплатформенность;
- удобную среду программирования;
- отсутствие большинства ошибок, присущих Си-языкам;
- расширенный функционал по сравнению с предшественниками.
Используется для написания приложений и разнообразных программ преимущественно для Windows 8 и другие ОС от Microsoft. Чем-то напоминает JavaScript.
C# — идеальный вариант для тех, кто планирует заниматься веб-программированием. У него есть собственная среда выполнения – Net.Framework.
Разработчики все чаще пользуются соответствующим языком, так как он включает в себя все преимущества Си-семейства и схож с большинством «способов общения» с компьютерами и софтом в веб-пространстве. Активно развивается, дорабатывается и поддерживается.
Управляемые и неуправляемые кодификации
Стоит обратить внимание на то, что утилиты, написанные на Шарпе, нередко называются управляемыми. Это значит, что основывается софт на базе Net.Framework. Данная особенность позволяет работать с общеязыковой средой CLR, отвечающей за загрузку и очистку памяти при необходимости.
Если же компиляция происходит без CLR, будет задействована обычная машинная кодификация. При подобных обстоятельствах фреймворк не осуществляет управление написанным кодом. Зато посредством него удается взаимодействовать с «машинным текстом».
Framework – определение
Net Framework – своеобразный комплекс сервисов, работающих в Сети, а также программного обеспечения, активно внедряемого компанией Майкрософт. Для работы в интернете frameworks – это аналоги DirectX при задействовании игровых утилит. Иными словами – общепризнанный стандарт.
Появился Net Framework в 1999 году. Сейчас это – некая среда, используемая для работы ряда программного обеспечения. Есть две «версии» подобного ПО – для пользователей и для программеров.
Хотя само название Net Framework в случае с программированием использовать не совсем корректно. Связано это с тем, что фреймворк представляет собой некий инструментарий интерфейсов прикладного программирования (API). В нем также есть библиотеки для разработчиков. Отвечают за среду выполнения приложений (машина-песочница).
Именно Net.Framework – один из примеров. Пользуется спросом, так как поддерживается Microsoft и выполняется в Windows.
Цели, особенности и задачи
Фраймворк Net содержит разнообразный функционал. Когда выполняется/пишется та или иная программа, требуется не только обработка информации, но и проделывание неких алгоритмов.
Основные цели, задачи и особенности Net Framework – это:
- Работа с памятью устройства. Осуществляется управление оной. Программисты предусматривают освобождение и выделение пространства, управление жизнью тех или иных элементов. За это фраймворки Net задействуют CLR.
- Наличие общей системы типов. В «классическом» варианте базовые типы определяются не самостоятельно, а при помощи компиляторов. Из-за этого при взаимодействии разных языков программирования могут возникать проблемы. Net Framework задействует систему типов.
- Наличие библиотек классов. Больше не придется вручную записывать кодификации, дабы выполнить стандартные операции низкого уровня.
- Собственные платформы и технологии разработки. В рассматриваемых фреймворках имеются «индивидуальные» области разработки приложений (ASP/ADO и другие). Они часто используются для написания утилит Виндовс.
- Поддержка взаимодействия языков. NET Framework имеет поддержку промежуточного кода – CIL. Он компилируется во время взаимодействия с CLR. Данный примем можно использовать, чтобы сэкономить время при разработке: утилита, написанная на C#, будет осуществлять работу на других языках.
- Поддержка совместимости. Возможно запускать утилиты, работающие на базе Net фреймворк на более поздних версиях. Не требуется предварительно проделывать какие-либо доработки.
- Параллельность выполнения. Платформа годится для разрешения конфликтов версий. Несколько утилит (их интерпретаций) смогут без проблем сосуществовать на устройстве. В процессе обработки будет использоваться наиболее подходящий Framework.
- Настройки для версий. Программисты смогут выпускать утилиты, которые работают по определенным стандартам. Пример – на платформах Net Core и Net Framework 4.
Созданный таким образом контент – универсален и удобен. Это – одна из причин, по которой разработчики предпочитают работать с C#.
Для юзера
Описание Framework иногда вынуждает запутаться, особенно новичков. Существуют две версии этой «утилиты». Первая – для пользователей.
В данном случае не потребуется никаких особых знаний относительно рассматриваемой платформы. Для «рядового» пользователя контент прозрачен и понятен.
При использовании Windows соответствующий «пакет инструментов» может быть установлен на устройстве по умолчанию. Если же открыть приложение, требующее Net Framework, система предложит провести инициализацию недостающей «библиотеки».
Пользователям не стоит избавляться от более старых версий платформы. На то существует ряд отдельных причин:
- «набор» приложений Net поможет избежать ошибок запуска некоторых утилит – того ПО, которое использует конкретный фреймворк;
- для некоторых платформ есть обновления «на базе прошлых».
Чтобы избавиться от Net Framework в Windows до «Восьмерки», рекомендуется воспользоваться средством под названием «Программы и компоненты». Вручную деинсталляцию проводить нельзя ни в коем случае.
Внимание: начиная с Windows 8, фреймворк является частью операционной системы. Отдельному удалению он не подлежит.
Для разработчиков
Программисты, решившие освоить C#, будут обязательно сталкиваться с Net Framework. Это очень удобно, так как платформа поддерживает совместимость языков. Можно взаимодействовать со всем функционалом Framework, независимо от того, на чем именно написан тот или иной контент.
Перед тем, как начать использование подобного программного обеспечения, требуется провести небольшую подготовку. Она сводится к следующим манипуляциям:
- Если Net Framework ранее не был установлен в ОС — провести инициализацию. На данный момент стабильно работает версия 4.8. Присутствует в майских обновлениях Windows 10 (2019-2020 года). Можно загрузить платформу для более старых Виндовс. Дополнительные пакеты – это внештатные элементы. Выпускаются хаотично и не все требуются для разработки контента.
- Выбрать языки, которые будут поддерживаться платформой Net. Обязательно обратить внимание на C# и Си-семейство как таковое.
- Определиться со средой разработки. Воспользоваться можно любым подходящим контентом. В случае с Windows по умолчанию задействуют так называемую «базу» Visual Studio. Ее необходимо предварительно инициализировать перед началом программирования.
Важно: для разработчиков предусматривается весьма дружелюбное и обширное комьюнити, а также разнообразные руководства и официальные справки от корпорации Майкрософт.
Где взять и установить
У некоторых пользователей, особенно далеких от программирования, возникают вопросы относительно Net Framework. Они задумываются над тем, где вообще взять соответствующее программное обеспечение. Ведь не всегда оно по умолчанию установлено в имеющейся операционной системе. Обойтись без него можно, но придется «туго».
Загрузку можно произвести через данную ссылку. Также на официальной страничке Microsoft Net Framework удастся отыскать программное обеспечение для своей ОС.
Внимание: проводить предварительную деинсталляцию прошлых версий нет никакой необходимости. Более того, поступать подобным образом крайне не рекомендуется. Конфликтов платформ не возникнет!
Если с фреймворком проблемы
Можно сколько угодно писать о том, что такое Net Framework, но не всем ясно, как поступить, если с данным ПО возникли проблемы. Это – крайне редкое явление. В новых версиях платформы и на новейших Windows они практически исключены. Операционная система вносит необходимые корректировки самостоятельно.
Если же проблемы все равно возникают, рекомендуется:
- Проверить, есть ли в Виндовс (или иной операционке) последние обновления.
- При наличии новой версии Net Framework – скачать и установить ее. Можно просто инициализировать обновление системными утилитами.
- Деинсталлировать все имеющиеся фреймворки, перезагрузить компьютер (рекомендуется). После этого произвести добавление оных вновь.
- Проверить системные файлы ОС на наличие ошибок и повреждений. Процесс отнимает несколько минут. В случае обнаружения ошибок Windows постарается автоматически исправить их.
Иногда разрешить «конфликтную ситуацию» помогает откат системы. В крайнем случае стоит воспользоваться утилитой под названием Net Framework Repair Tool. Соответствующий софт способствует устранению наиболее распространенных ошибок при настройке и обновлениях фреймворков. В основном делается это автоматически.
Нет Core
Net Framework с 2019 года перестала развиваться в качестве платформы для программирования. Остановились «работы» на версии 4.8. Но с 2014 года миру представили альтернативное решение. Речь идет о Net Core.
Это – тот же «виндовсовский» фреймворк, но более удобный и функциональный. Разработчиком является компания Microsoft. На данный момент актуальна связка C# и Core 5 (Net Framework).
Отличительной чертой «Коре» является именно кроссплатформенность. На практике Net Framework – утилита преимущественно для Windows (хоть и может работать на других ОС). А Core подойдет для:
Разработчики обещают вскоре выпустить совершенно новый фреймворк Core 6, который заберет лучшее от платформы Mono.
Внимание: Core также используется для разработки мобильных приложений на Android и iOS посредством C#.
Компиляция
Описание Си-семейства и используемых платформ для программирования не дают особого понимания нюансов компиляции Net Framework.
В C# при компилировании приходится работать с расширениями .dll или .exe через языковую «раскладку» CIL. После того, как происходит запуск, осуществляется компиляция типа JIT в машинный код. У него есть runtime, который отнимает не так много времени.
Полученная кодификация выполняется, но компилируется лишь та часть, к которой обращается устройство или пользователь. Если «войти» в другую часть кода, она преобразуется компилированием из CIL в обычный машинный вариант. И только после этого сохранится до завершения работы утилиты. Подобный алгоритм Net Framework способствует повышению производительности.
Поддержка сред разработки
Каждый разработчик имеет право выбирать, в какой среде писать те или иные кодификации. В случае с Net Framework разрешается использование:
- Visual Studio;
- MonoDevelop;
- SharpDevelop;
- A#;
- Borland;
- Embarcadero;
- Zonnon;
- JetBrains;
- PascalABC.
Ни одно описание платформы не упоминает ключевой особенности Net Framework – кодификации пишутся и разработки возможны в обычном текстовом редакторе. Дополнительно придется вызывать компиляторы из командной строки.
Прочитав данную статью, каждый сможет понять, что такое Net Framework, и для чего он используется. В C# обойтись без него никак не получится. Это не предусматривается «встроенными возможностями».
В остальном работа с Net Framework, как и программирование на Си Шарп – это не так трудно. Если человек уже знаком с Си-семейством в той или иной степени, он относительно быстро освоит новый «способ общения» с компьютером.
Внимание: проверить наличие рассмотренной платформы в Windows можно через «Программы и компоненты».
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>C# и Framework: первое знакомство OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Прогресс в языках программирования и операционных системах никогда не стоит на месте. После первого появления компьютера соответствующие области начали стремительно развиваться. Сейчас популярностью пользуется так называемое Си-семейство. Это языки программирования C/C++/C#. Последний – наиболее новый и удобный. Пользователи и разработчики часто слышат такое словосочетание как Net Framework. Но не все понимают, что это такое. Для" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/c-i-framework-pervoe-znakomstvo/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#article","name":"C# \u0438 Framework: \u043f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e OTUS","headline":"C# \u0438 Framework: \u043f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2021\/09\/oj-1080x720-5.png","width":1080,"height":720},"datePublished":"2021-09-03T16:51:00+00:00","dateModified":"2023-03-31T16:26:50+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, C#, Net Framework"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#listItem","position":2,"name":"C# \u0438 Framework: \u043f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#webpage","url":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/","name":"C# \u0438 Framework: \u043f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e OTUS","description":"\u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0432 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u0421\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0435 \u0421\u0438-\u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e. \u042d\u0442\u043e \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f C\/C++\/C#. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u2013 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0439 \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u0441\u043b\u044b\u0448\u0430\u0442 \u0442\u0430\u043a\u043e\u0435 \u0441\u043b\u043e\u0432\u043e\u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u043a\u0430\u043a Net Framework. \u041d\u043e \u043d\u0435 \u0432\u0441\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435. \u0414\u043b\u044f","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2021\/09\/oj-1080x720-5.png","@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#mainImage","width":1080,"height":720},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/c-i-framework-pervoe-znakomstvo\/#mainImage"},"datePublished":"2021-09-03T16:51:00+00:00","dateModified":"2023-03-31T16:26:50+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/1957" /><link rel='shortlink' href='https://otus.ru/journal/?p=1957' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fc-i-framework-pervoe-znakomstvo%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fc-i-framework-pervoe-znakomstvo%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-1957 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-1957" class="the-post post-1957 post type-post status-publish format-standard has-post-thumbnail category-polza tag-c-2 tag-net-framework">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
C# и Framework: первое знакомство
</h1>
<a href="https://otus.ru/journal/c-i-framework-pervoe-znakomstvo/" class="date-link" data-wpel-link="internal"><time class="post-date">3 сентября, 2021</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5.png" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="C# и Framework: первое знакомство" title="C# и Framework: первое знакомство" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5-270x180.png 270w" data-src="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-5-770x515.png" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_C" title="Что такое C#">Что такое C#</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5_%D0%B8_%D0%BD%D0%B5%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5_%D0%BA%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8" title="Управляемые и неуправляемые кодификации">Управляемые и неуправляемые кодификации</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#Framework_%E2%80%93_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Framework – определение">Framework – определение</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%A6%D0%B5%D0%BB%D0%B8_%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B8_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8" title="Цели, особенности и задачи">Цели, особенности и задачи</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%94%D0%BB%D1%8F_%D1%8E%D0%B7%D0%B5%D1%80%D0%B0" title="Для юзера">Для юзера</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%94%D0%BB%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2" title="Для разработчиков">Для разработчиков</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%93%D0%B4%D0%B5_%D0%B2%D0%B7%D1%8F%D1%82%D1%8C_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C" title="Где взять и установить">Где взять и установить</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%95%D1%81%D0%BB%D0%B8_%D1%81_%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D0%BE%D0%BC_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B" title="Если с фреймворком проблемы">Если с фреймворком проблемы</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%9D%D0%B5%D1%82_Core" title="Нет Core">Нет Core</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F" title="Компиляция">Компиляция</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0_%D1%81%D1%80%D0%B5%D0%B4_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8" title="Поддержка сред разработки">Поддержка сред разработки</a></li></ul></nav></div>
<p>Прогресс в языках программирования и операционных системах никогда не стоит на месте. После первого появления компьютера соответствующие области начали стремительно развиваться. Сейчас популярностью пользуется так называемое Си-семейство. Это языки программирования C/C++/C#. Последний – наиболее новый и удобный.</p>
<p>Пользователи и разработчики часто слышат такое словосочетание как Net Framework. Но не все понимают, что это такое. Для программеров и обычных юзеров данный термин крайне важен. О нем и зайдет речь в данной статье.</p>
<figure class="wp-block-image"><a href="https://otus.ru/lessons/c-sharp-specialization/?utm_source=oj&utm_medium=affilate&utm_campaign=spec-csharp" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer"><img decoding="async" width="970" height="90" src="https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90.png" alt="C# и Framework: первое знакомство" class="wp-image-5973" srcset="https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90.png 970w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-300x28.png 300w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-150x14.png 150w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-768x71.png 768w" sizes="(max-width: 970px) 100vw, 970px" /></a></figure>
<p></p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_C"></span>Что такое C#<span class="ez-toc-section-end"></span></h2>
<p>Си Шарп – язык программирования «нового поколения». Относится к высшему уровню и предлагает:</p>
<ul>
<li>простой синтаксис;</li>
<li>кроссплатформенность;</li>
<li>удобную среду программирования;</li>
<li>отсутствие большинства ошибок, присущих Си-языкам;</li>
<li>расширенный функционал по сравнению с предшественниками.</li>
</ul>
<p>Используется для написания приложений и разнообразных программ преимущественно для Windows 8 и другие ОС от Microsoft. Чем-то напоминает JavaScript.</p>
<p>C# — идеальный вариант для тех, кто планирует заниматься веб-программированием. У него есть собственная среда выполнения – Net.Framework.</p>
<p>Разработчики все чаще пользуются соответствующим языком, так как он включает в себя все преимущества Си-семейства и схож с большинством «способов общения» с компьютерами и софтом в веб-пространстве. Активно развивается, дорабатывается и поддерживается.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5_%D0%B8_%D0%BD%D0%B5%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5_%D0%BA%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"></span>Управляемые и неуправляемые кодификации<span class="ez-toc-section-end"></span></h3>
<p>Стоит обратить внимание на то, что утилиты, написанные на Шарпе, нередко называются управляемыми. Это значит, что основывается софт на базе Net.Framework. Данная особенность позволяет работать с общеязыковой средой CLR, отвечающей за загрузку и очистку памяти при необходимости.</p>
<p>Если же компиляция происходит без CLR, будет задействована обычная машинная кодификация. При подобных обстоятельствах фреймворк не осуществляет управление написанным кодом. Зато посредством него удается взаимодействовать с «машинным текстом».</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="Framework_%E2%80%93_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5"></span>Framework – определение<span class="ez-toc-section-end"></span></h2>
<p>Net Framework – своеобразный комплекс сервисов, работающих в Сети, а также программного обеспечения, активно внедряемого компанией Майкрософт. Для работы в интернете frameworks – это аналоги DirectX при задействовании игровых утилит. Иными словами – общепризнанный стандарт.</p>
<p>Появился Net Framework в 1999 году. Сейчас это – некая среда, используемая для работы ряда программного обеспечения. Есть две «версии» подобного ПО – для пользователей и для программеров.</p>
<p>Хотя само название Net Framework в случае с программированием использовать не совсем корректно. Связано это с тем, что фреймворк представляет собой некий инструментарий интерфейсов прикладного программирования (API). В нем также есть библиотеки для разработчиков. Отвечают за среду выполнения приложений (машина-песочница).</p>
<p>Именно Net.Framework – один из примеров. Пользуется спросом, так как поддерживается Microsoft и выполняется в Windows.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A6%D0%B5%D0%BB%D0%B8_%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B8_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8"></span>Цели, особенности и задачи<span class="ez-toc-section-end"></span></h3>
<p>Фраймворк Net содержит разнообразный функционал. Когда выполняется/пишется та или иная программа, требуется не только обработка информации, но и проделывание неких алгоритмов.</p>
<p>Основные цели, задачи и особенности Net Framework – это:</p>
<ol type="1">
<li>Работа с памятью устройства. Осуществляется управление оной. Программисты предусматривают освобождение и выделение пространства, управление жизнью тех или иных элементов. За это фраймворки Net задействуют CLR.</li>
<li>Наличие общей системы типов. В «классическом» варианте базовые типы определяются не самостоятельно, а при помощи компиляторов. Из-за этого при взаимодействии разных языков программирования могут возникать проблемы. Net Framework задействует систему типов.</li>
<li>Наличие библиотек классов. Больше не придется вручную записывать кодификации, дабы выполнить стандартные операции низкого уровня.</li>
<li>Собственные платформы и технологии разработки. В рассматриваемых фреймворках имеются «индивидуальные» области разработки приложений (ASP/ADO и другие). Они часто используются для написания утилит Виндовс.</li>
<li>Поддержка взаимодействия языков. NET Framework имеет поддержку промежуточного кода – CIL. Он компилируется во время взаимодействия с CLR. Данный примем можно использовать, чтобы сэкономить время при разработке: утилита, написанная на C#, будет осуществлять работу на других языках.</li>
<li>Поддержка совместимости. Возможно запускать утилиты, работающие на базе Net фреймворк на более поздних версиях. Не требуется предварительно проделывать какие-либо доработки.</li>
<li>Параллельность выполнения. Платформа годится для разрешения конфликтов версий. Несколько утилит (их интерпретаций) смогут без проблем сосуществовать на устройстве. В процессе обработки будет использоваться наиболее подходящий Framework.</li>
<li>Настройки для версий. Программисты смогут выпускать утилиты, которые работают по определенным стандартам. Пример – на платформах Net Core и Net Framework 4.</li>
</ol>
<p>Созданный таким образом контент – универсален и удобен. Это – одна из причин, по которой разработчики предпочитают работать с C#.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%BB%D1%8F_%D1%8E%D0%B7%D0%B5%D1%80%D0%B0"></span>Для юзера<span class="ez-toc-section-end"></span></h3>
<p>Описание Framework иногда вынуждает запутаться, особенно новичков. Существуют две версии этой «утилиты». Первая – для пользователей.</p>
<p>В данном случае не потребуется никаких особых знаний относительно рассматриваемой платформы. Для «рядового» пользователя контент прозрачен и понятен.</p>
<p>При использовании Windows соответствующий «пакет инструментов» может быть установлен на устройстве по умолчанию. Если же открыть приложение, требующее Net Framework, система предложит провести инициализацию недостающей «библиотеки».</p>
<p>Пользователям не стоит избавляться от более старых версий платформы. На то существует ряд отдельных причин:</p>
<ul>
<li>«набор» приложений Net поможет избежать ошибок запуска некоторых утилит – того ПО, которое использует конкретный фреймворк;</li>
<li>для некоторых платформ есть обновления «на базе прошлых».</li>
</ul>
<p>Чтобы избавиться от Net Framework в Windows до «Восьмерки», рекомендуется воспользоваться средством под названием «Программы и компоненты». Вручную деинсталляцию проводить нельзя ни в коем случае.</p>
<p>Внимание: начиная с Windows 8, фреймворк является частью операционной системы. Отдельному удалению он не подлежит.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%BB%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2"></span>Для разработчиков<span class="ez-toc-section-end"></span></h3>
<p>Программисты, решившие освоить C#, будут обязательно сталкиваться с Net Framework. Это очень удобно, так как платформа поддерживает совместимость языков. Можно взаимодействовать со всем функционалом Framework, независимо от того, на чем именно написан тот или иной контент.</p>
<figure class="wp-block-image"><a href="https://otus.ru/lessons/c-sharp-specialization/?utm_source=oj&utm_medium=affilate&utm_campaign=spec-csharp" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer"><img decoding="async" width="970" height="90" src="https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90.png" alt="C# и Framework: первое знакомство" class="wp-image-5973" srcset="https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90.png 970w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-300x28.png 300w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-150x14.png 150w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-768x71.png 768w" sizes="(max-width: 970px) 100vw, 970px" /></a></figure>
<p></p>
<p>Перед тем, как начать использование подобного программного обеспечения, требуется провести небольшую подготовку. Она сводится к следующим манипуляциям:</p>
<ol type="1">
<li>Если Net Framework ранее не был установлен в ОС — провести инициализацию. На данный момент стабильно работает версия 4.8. Присутствует в майских обновлениях Windows 10 (2019-2020 года). Можно загрузить платформу для более старых Виндовс. Дополнительные пакеты – это внештатные элементы. Выпускаются хаотично и не все требуются для разработки контента.</li>
<li>Выбрать языки, которые будут поддерживаться платформой Net. Обязательно обратить внимание на C# и Си-семейство как таковое.</li>
<li>Определиться со средой разработки. Воспользоваться можно любым подходящим контентом. В случае с Windows по умолчанию задействуют так называемую «базу» Visual Studio. Ее необходимо предварительно инициализировать перед началом программирования.</li>
</ol>
<p>Важно: для разработчиков предусматривается весьма дружелюбное и обширное комьюнити, а также разнообразные руководства и официальные справки от корпорации Майкрософт.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%93%D0%B4%D0%B5_%D0%B2%D0%B7%D1%8F%D1%82%D1%8C_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C"></span>Где взять и установить<span class="ez-toc-section-end"></span></h3>
<p>У некоторых пользователей, особенно далеких от программирования, возникают вопросы относительно Net Framework. Они задумываются над тем, где вообще взять соответствующее программное обеспечение. Ведь не всегда оно по умолчанию установлено в имеющейся операционной системе. Обойтись без него можно, но придется «туго».</p>
<p>Загрузку можно произвести через <a href="https://sonikelf.ru/jexr/aHR0cHM6Ly9wY2xvYWRlcnMuY29tL3VwbG9hZC8zZ2xTZUc1LnppcA==" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">данную ссылку<span class="wpel-icon wpel-image wpel-icon-6"></span></a>. Также на официальной страничке Microsoft Net Framework удастся отыскать программное обеспечение для своей ОС.</p>
<p>Внимание: проводить предварительную деинсталляцию прошлых версий нет никакой необходимости. Более того, поступать подобным образом крайне не рекомендуется. Конфликтов платформ не возникнет!</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%95%D1%81%D0%BB%D0%B8_%D1%81_%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D0%BE%D0%BC_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B"></span>Если с фреймворком проблемы<span class="ez-toc-section-end"></span></h3>
<p>Можно сколько угодно писать о том, что такое Net Framework, но не всем ясно, как поступить, если с данным ПО возникли проблемы. Это – крайне редкое явление. В новых версиях платформы и на новейших Windows они практически исключены. Операционная система вносит необходимые корректировки самостоятельно.</p>
<p>Если же проблемы все равно возникают, рекомендуется:</p>
<ol type="1">
<li>Проверить, есть ли в Виндовс (или иной операционке) последние обновления.</li>
<li>При наличии новой версии Net Framework – скачать и установить ее. Можно просто инициализировать обновление системными утилитами.</li>
<li>Деинсталлировать все имеющиеся фреймворки, перезагрузить компьютер (рекомендуется). После этого произвести добавление оных вновь.</li>
<li>Проверить системные файлы ОС на наличие ошибок и повреждений. Процесс отнимает несколько минут. В случае обнаружения ошибок Windows постарается автоматически исправить их.</li>
</ol>
<p>Иногда разрешить «конфликтную ситуацию» помогает откат системы. В крайнем случае стоит воспользоваться утилитой под названием Net Framework Repair Tool. Соответствующий софт способствует устранению наиболее распространенных ошибок при настройке и обновлениях фреймворков. В основном делается это автоматически.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B5%D1%82_Core"></span>Нет Core<span class="ez-toc-section-end"></span></h2>
<p>Net Framework с 2019 года перестала развиваться в качестве платформы для программирования. Остановились «работы» на версии 4.8. Но с 2014 года миру представили альтернативное решение. Речь идет о Net Core.</p>
<p>Это – тот же «виндовсовский» фреймворк, но более удобный и функциональный. Разработчиком является компания Microsoft. На данный момент актуальна связка C# и Core 5 (Net Framework).</p>
<p>Отличительной чертой «Коре» является именно кроссплатформенность. На практике Net Framework – утилита преимущественно для Windows (хоть и может работать на других ОС). А Core подойдет для:</p>
<ul>
<li>Windows;</li>
<li>MacOS;</li>
<li>Linux.</li>
</ul>
<p>Разработчики обещают вскоре выпустить совершенно новый фреймворк Core 6, который заберет лучшее от платформы Mono.</p>
<p>Внимание: Core также используется для разработки мобильных приложений на Android и iOS посредством C#.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F"></span>Компиляция<span class="ez-toc-section-end"></span></h2>
<p>Описание Си-семейства и используемых платформ для программирования не дают особого понимания нюансов компиляции Net Framework.</p>
<p>В C# при компилировании приходится работать с расширениями .dll или .exe через языковую «раскладку» CIL. После того, как происходит запуск, осуществляется компиляция типа JIT в машинный код. У него есть runtime, который отнимает не так много времени.</p>
<p>Полученная кодификация выполняется, но компилируется лишь та часть, к которой обращается устройство или пользователь. Если «войти» в другую часть кода, она преобразуется компилированием из CIL в обычный машинный вариант. И только после этого сохранится до завершения работы утилиты. Подобный алгоритм Net Framework способствует повышению производительности.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0_%D1%81%D1%80%D0%B5%D0%B4_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8"></span>Поддержка сред разработки<span class="ez-toc-section-end"></span></h2>
<p>Каждый разработчик имеет право выбирать, в какой среде писать те или иные кодификации. В случае с Net Framework разрешается использование:</p>
<ul>
<li>Visual Studio;</li>
<li>MonoDevelop;</li>
<li>SharpDevelop;</li>
<li>A#;</li>
<li>Borland;</li>
<li>Embarcadero;</li>
<li>Zonnon;</li>
<li>JetBrains;</li>
<li>PascalABC.</li>
</ul>
<p>Ни одно описание платформы не упоминает ключевой особенности Net Framework – кодификации пишутся и разработки возможны в обычном текстовом редакторе. Дополнительно придется вызывать компиляторы из командной строки.</p>
<p>Прочитав данную статью, каждый сможет понять, что такое Net Framework, и для чего он используется. В C# обойтись без него никак не получится. Это не предусматривается «встроенными возможностями».</p>
<p>В остальном работа с Net Framework, как и программирование на Си Шарп – это не так трудно. Если человек уже знаком с Си-семейством в той или иной степени, он относительно быстро освоит новый «способ общения» с компьютером.</p>
<p>Внимание: проверить наличие рассмотренной платформы в Windows можно через «Программы и компоненты».</p>
<figure class="wp-block-image"><a href="https://otus.ru/lessons/c-sharp-specialization/?utm_source=oj&utm_medium=affilate&utm_campaign=spec-csharp" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer"><img decoding="async" width="970" height="90" src="https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90.png" alt="C# и Framework: первое знакомство" class="wp-image-5973" srcset="https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90.png 970w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-300x28.png 300w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-150x14.png 150w, https://otus.ru/journal/wp-content/uploads/2023/03/CSpec_Welcome_970x90-768x71.png 768w" sizes="(max-width: 970px) 100vw, 970px" /></a></figure>
<p></p>
<p></p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/c-2/" rel="tag" data-wpel-link="internal">C#</a><a href="https://otus.ru/journal/tag/net-framework/" rel="tag" data-wpel-link="internal">Net Framework</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fc-i-framework-pervoe-znakomstvo%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fc-i-framework-pervoe-znakomstvo%2F&text=C%23%20%D0%B8%20Framework%3A%20%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B5%20%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fc-i-framework-pervoe-znakomstvo%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fc-i-framework-pervoe-znakomstvo%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2021%2F09%2Foj-1080x720-5.png&description=C%23%20%D0%B8%20Framework%3A%20%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B5%20%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/c-i-sql-zaprosy-chto-nuzhno-znat-programmistu/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/c-i-sql-zaprosy-chto-nuzhno-znat-programmistu/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="C# и SQL-запросы: что нужно знать программисту" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-4-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="C# и SQL-запросы: что нужно знать программисту" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/c-i-sql-zaprosy-chto-nuzhno-znat-programmistu/" data-wpel-link="internal">C# и SQL-запросы: что нужно знать программисту</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/c-i-sql-zaprosy-chto-nuzhno-znat-programmistu/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2021-09-03T16:39:03+00:00">3 сентября, 2021</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">8 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/meropriyatiya-v-otus-9/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/meropriyatiya-v-otus-9/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Мероприятия в OTUS" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2021/09/oj-1080x720-21-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Мероприятия в OTUS" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/meropriyatiya-v-otus-9/" data-wpel-link="internal">Мероприятия в OTUS</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/meropriyatiya-v-otus-9/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2021-09-06T09:53:07+00:00">6 сентября, 2021</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">2 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/c-i-framework-pervoe-znakomstvo\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 15:24:06 GMT -->