Prog Academy
RU UA
Программирование

Что такое C# и платформа .NET?

C# — строго типизированный объектно-ориентированный язык программирования от Microsoft. Он работает на платформе .NET — среде выполнения со стандартной библиотекой и инструментами, на которой строят веб-сервисы, десктопные приложения, игры на Unity и корпоративные системы.

Разделение простое: C# — это язык, .NET — платформа, которая исполняет написанный на нём код и предоставляет готовые библиотеки. Для веб-разработки используют ASP.NET Core, для работы с базами — Entity Framework, для игр — движок Unity.

По устройству C# близок к Java: строгая типизация, сборка мусора, компиляция в промежуточный код, схожие принципы ООП. Современный .NET кроссплатформенный — приложения одинаково работают на Windows, Linux и macOS.

Где применяется

C# закрывает сразу несколько рынков. В корпоративной разработке на ASP.NET Core пишут веб-сервисы и внутренние системы, особенно в компаниях, которые уже живут на инфраструктуре Microsoft. В геймдеве на нём программируют логику в Unity — это основной язык движка.

Есть и менее очевидные ниши: десктопные приложения для Windows, интеграции с 1С и учётными системами, сервисы обработки документов. Для украинского рынка это заметная часть аутсорсинговых проектов, где заказчик из США или Западной Европы много лет работает на .NET.

Пример

Компании нужен внутренний портал заявок с ролями, отчётами и выгрузкой в Excel. На ASP.NET Core такой проект собирается из готовых частей: авторизация, работа с базой через Entity Framework, генерация файлов — большая часть задач закрыта стандартными библиотеками платформы.

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/api/orders/{id:int}", async (int id, AppDb db) =>
{
    var order = await db.Orders.FindAsync(id);
    return order is null ? Results.NotFound() : Results.Ok(order);
});

app.Run();
Минимальный веб-сервис на ASP.NET Core: маршрут, обращение к базе и ответ в JSON.

Частые вопросы

Чем C# отличается от .NET?

C# — это язык программирования, набор правил записи кода. .NET — платформа, которая его выполняет: среда выполнения, стандартные библиотеки, инструменты сборки. На .NET работают и другие языки, например F# и Visual Basic, но C# среди них основной.

Работает ли C# только на Windows?

Уже давно нет. Современный .NET кроссплатформенный: приложения одинаково запускаются на Windows, Linux и macOS, а в продакшене чаще всего разворачиваются в Linux-контейнерах. Ограничение осталось лишь у старых десктопных технологий вроде WinForms.

C# или Java — что выбрать?

Языки очень близки по устройству, и переход между ними занимает недели. Ориентируйтесь на рынок: Java чаще встречается в банках и финтехе, C# — в продуктовых компаниях на экосистеме Microsoft и в геймдеве. Требования к уровню кандидата сопоставимы.

Подходит ли C# для разработки игр?

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

Подробная статья в блоге →

Связанные термины