Что такое C# и .NET: обзор для начинающих
Основы3 минРедакция Innovialabs
Коротко
C# — это язык программирования, а .NET — платформа, которая компилирует и выполняет код на C#; сегодня она работает на Windows, Linux и macOS и подходит для веба, десктопа, игр и корпоративных систем.
C# и .NET: короткий ответ
C# (читается «си шарп») — объектно-ориентированный язык со статической типизацией, созданный в Microsoft. .NET — платформа, в которой этот код живёт: компилятор, среда выполнения, стандартная библиотека и инструменты.
Проще говоря: C# — это то, на чём вы пишете, а .NET — то, где и как это работает. На .NET есть и другие языки (F#, Visual Basic), но C# — основной.
Как код на C# превращается в работающую программу
Путь кода состоит из нескольких шагов:
- Вы пишете файл
.cs. - Компилятор превращает его не в машинный код, а в промежуточный язык (IL) — универсальный байт-код.
- При запуске среда выполнения CLR (Common Language Runtime) с помощью JIT-компилятора переводит IL в машинный код конкретного процессора.
- CLR также управляет памятью через сборщик мусора — вам не нужно освобождать память вручную.
Есть и режим AOT-компиляции (заранее в машинный код): быстрее старт, меньше зависимостей, но с некоторыми ограничениями.
Минимальная программа выглядит так:
Console.WriteLine("Привет, .NET!");
var prices = new List<decimal> { 120m, 80m, 45m };
Console.WriteLine($"Сумма: {prices.Sum()}");
От Windows-only к кроссплатформенности
У платформы долгая история, и из-за неё новички часто путаются в названиях:
| Название | Что это |
|---|---|
| .NET Framework | Исходная версия, работает только на Windows. Сейчас поддерживается, но новых крупных функций не получает |
| .NET Core | Переписанная кроссплатформенная версия с открытым исходным кодом |
| .NET (5 и новее) | Объединённая линейка, продолжение .NET Core. Именно её выбирают для новых проектов |
Главное для практики: современный .NET — open source, работает на Windows, Linux и macOS, отлично живёт в Docker-контейнерах и облаке.
Что пишут на C# и .NET
- Веб-API и бэкенд. Фреймворк ASP.NET Core — для REST API, микросервисов, сайтов и real-time через SignalR.
- Корпоративные системы. Банки, логистика, ERP, внутренние порталы — там ценят строгую типизацию, долгую поддержку и зрелые инструменты.
- Игры. Движок Unity использует C# как язык скриптов — это один из самых популярных путей в геймдев.
- Десктоп. WPF и WinForms для Windows, кроссплатформенные варианты — .NET MAUI и Avalonia.
- Мобильные приложения. Через .NET MAUI можно писать под iOS и Android из одной кодовой базы.
- Облако и фоновые задачи. Worker-сервисы, очереди, serverless-функции.
Сильные и слабые стороны
Плюсы:
- строгая типизация ловит много ошибок ещё до запуска;
- богатая стандартная библиотека и менеджер пакетов NuGet;
- LINQ — удобные запросы к коллекциям и данным;
async/awaitдля асинхронного кода;- сильные IDE: Visual Studio, Rider, VS Code.
Минусы:
- порог входа выше, чем у Python или JavaScript;
- репутация «языка для Windows» всё ещё встречается, хотя давно устарела;
- для небольших скриптов и прототипов бывает избыточен.
С чего начать
- Установите .NET SDK с официального сайта.
- Создайте проект командой
dotnet new consoleи запуститеdotnet run. - Освойте базу: типы, классы, коллекции, LINQ,
async/await. - Выберите направление: веб (ASP.NET Core), игры (Unity) или десктоп — и сделайте маленький проект.
Подробная документация — на learn.microsoft.com/dotnet.