C# (произносится «си шарп») — язык программирования, разработанный Microsoft как часть платформы .NET. Синтаксически близок к Java и C++, имеет строгую статическую типизацию, сборщик мусора и обширную стандартную библиотеку. Основная платформа — .NET (в прошлом .NET Framework для Windows, с 2016 года — кросплатформенный .NET Core, с .NET 5 — единый .NET).
Применение в веб и хостинге
ASP.NET Core — кросплатформенный веб-фреймворк на C# для разработки REST API и веб-приложений. Запускается на Linux, Windows и macOS. Минимальный API-проект выглядит так:
var app = WebApplication.Create();
app.MapGet("/", () => "Hello, World!");
app.Run();
Производительность ASP.NET Core в бенчмарках TechEmpower превосходит Express.js (Node.js) и Django в 5–10 раз. Kestrel — встроенный HTTP-сервер .NET, работающий за Nginx или IIS в production.
История
C# разработан Андерсом Хейлсбергом в Microsoft. C# 1.0 вышел с .NET Framework 1.0 в 2002 году. C# 3.0 (2007) — LINQ. C# 5.0 (2012) — async/await. C# 9.0 (2020) — record types. C# 12 (2023) — primary constructors, collection expressions. .NET Core 1.0 вышел в 2016 году как кросплатформенная версия. .NET 5 в 2020 году объединил .NET Core и .NET Framework.
Связь с хостингом
ASP.NET Core-приложения развёртываются на VPS под Linux или Windows. Типичная конфигурация: Nginx reverse proxy перед Kestrel через Unix-сокет. Systemd запускает .NET-приложение как сервис. Docker-контейнеры с .NET-приложениями — стандарт для CI/CD. На Windows-хостинге с IIS приложения публикуются через Web Deploy или FTP.
C# в серверной разработке
.NET Core (2016) / .NET 5+ (2020) — кросс-платформенный фреймворк: Windows, Linux, macOS. ASP.NET Core — высокопроизводительный веб-фреймворк: до 7 млн RPS на одном сервере (Kestrel, TechEmpower Benchmark). На Linux — Nginx как reverse proxy перед Kestrel.
Деплой .NET на Linux
Self-contained deployment: приложение со всеми зависимостями, не требует установки .NET Runtime. Framework-dependent: меньше размер, требует runtime на сервере. Systemd unit для автозапуска. Docker: официальный образ mcr.microsoft.com/dotnet/aspnet.
.NET vs PHP/Python в хостинге
.NET Core значительно быстрее PHP и Python в CPU-intensive задачах. Для корпоративных систем и Microsoft-инфраструктур — естественный выбор. Managed .NET хостинг в России — Timeweb, Beget, специализированные Windows VPS. Licensing стоимость снижена с переходом на .NET Core.
C# для DevOps
Pulumi — Infrastructure as Code на C# (аналог Terraform): var server = new DigitalOcean.Droplet("web", new() { Size = "s-1vcpu-1gb", Image = "ubuntu-22-04-x64" }). PowerShell (на основе .NET) для Windows-автоматизации. .NET SDK CLI: кросс-платформенный инструмент для сборки и деплоя.
C# Dependency Injection
ASP.NET Core встроенный DI: Singleton, Scoped, Transient. builder.Services.AddScoped. Для unit testing: Mock-объекты через Moq или NSubstitute. SOLID принципы на C# — DI снижает связность кода. In production: минимизировать Singleton с изменяемым состоянием (thread safety).
Экосистема .NET в 2024
.NET MAUI — cross-platform мобильные приложения. Blazor — WebAssembly и SSR на C# без JavaScript. Orleans — распределённые системы. SignalR — WebSocket. Entity Framework Core — ORM. NuGet — пакетный менеджер (300 000+ пакетов). Ecosystem .NET совместим со всеми Linux-дистрибутивами.