Is .NET just miles ahead or am I delusional?
Overall sentiment
- Many commenters see modern .NET / C# as a very strong, highly productive “boring stack,” especially for server‑side and enterprise work.
- Others argue it’s overcomplicated, culturally dogmatic, and not clearly “ahead” once you look outside JS and C++ comparisons.
Perceived strengths of .NET / C#
- Language: C# seen as a well‑designed, modern, statically typed language with powerful features (LINQ, generics, async/await, unsafe/stack tools for performance).
- Tooling: Visual Studio, Rider, and the
dotnetCLI are repeatedly praised for excellent dev experience, debugging, and “press F5” simplicity. - Runtime & perf: .NET runtime considered fast “for a GC’d language,” with good standard library, good SIMD/math APIs emerging, and strong cross‑platform story since .NET Core.
- Web & data: ASP.NET Core, Entity Framework Core, and LINQ viewed by some as unmatched in ergonomics for CRUD/web APIs and data querying.
- Deployment: Simple single‑binary deployments on Linux/containers; often no need for extra infra like Redis for basic queues/caching.
Perceived weaknesses / gaps
- Ecosystem: NuGet packages seen as less mature/secure than Maven; numerical/data engineering and FFT/filters/parquet libraries lag far behind Python; many serious libraries are thin C/C++ wrappers.
- Fragmentation & churn: Long history of abandoned or replaced UI/web stacks (WebForms, WPF, Silverlight, Razor variants, Blazor skepticism). Some fear Blazor will follow that pattern.
- Complexity: Async/await, LINQ, and heavy design‑pattern culture can lead to hard‑to‑reason code, performance footguns, and multi‑layer “lasagna architecture.”
- Compile times and hot‑reload experience are criticized versus Go/Node/Python.
- Some say .NET abstractions around OS features (e.g., certs) and framework upgrades (.NET Framework → Core, Azure Functions modes) cause painful breaking changes.
Ecosystem, culture, and usage patterns
- Often associated with large enterprises, Windows/Azure shops, and “cost center” vibes, sometimes with mediocre engineering culture and legacy code.
- Others note it enables long, stable careers, with C# SDKs commonly offered by third‑party services.
- Compared to Java, many see .NET as more coherent and polished; others see them as roughly equivalent “big enterprise” ecosystems.
Front‑end & web comparisons
- React, JS/TS, and modern front‑end stacks are frequently described as over‑complex versus .NET server‑side simplicity.
- Blazor divides opinion: some call it unique and powerful, others avoid it due to Microsoft’s history of abandoning UI frameworks and prefer React/HTMX/Svelte/etc.