.NET 8
.NET 8’s release prompts broad reflection on how far the platform has come: developers praise its performance gains, Native AOT compilation, new C# 12 features (like collection expressions and interceptors), and cloud-focused additions such as .NET Aspire. At the same time, many see cross‑platform GUI and tooling on non‑Windows systems as lagging, and remain wary of ecosystem fragmentation (.NET Framework vs .NET Core vs “just .NET”), UI framework churn, and Microsoft’s monetization around IDEs and extensions. Overall, participants view modern .NET as a fast, capable, and well‑tooled option for back‑end and cloud‑native work, but less clearly positioned as a best‑in‑class choice for cross‑platform desktop and mobile UIs.
C# 12 language changes
- New collection expressions (
[1, 2, ..others]) and spread syntax reuse the existing..pattern-matching form for symmetry between construction and deconstruction. - Debate over
..vs...; choice was partly to reserve...for possible future features. - Primary constructors for classes divide opinion: seen as a powerful convenience by some, potentially confusing by others.
- Interceptors via source generators are viewed as niche “power tools” for DI/AOP frameworks rather than everyday business logic.
Native AOT, performance, and footprint
- Native AOT praised for small, standalone binaries and Go-like deployment, though many note ecosystem gaps (reflection-heavy code, older ASP.NET patterns, GUIs).
- Some compare it more to Java/Graal native image: powerful but only a subset of libraries work smoothly.
- Dynamic PGO now on by default; expected to especially benefit abstraction-heavy code.
Aspire, Dapr, Orleans, and cloud-native
- Aspire generates both interest and suspicion; some see it as helpful integration for cloud-native .NET, others fear “too much magic” and overlap with Dapr.
- Questions about long-term commitment to Dapr and Orleans; maintainers report active work (Orleans workflows, storage, Aspire integration).
Tooling, cost, and platforms
- Visual Studio (Windows), VS Code with C# extensions, and Rider are the main options; many praise Rider on macOS/ARM.
- Friction for truly free/open tooling at “enterprise scale” and on non-Windows platforms, though CLI + VS Code is workable.
- Licensing around VS / DevKit for larger companies raises concerns about future monetization; others argue the runtime is MIT and forkable.
Cross‑platform & GUI story
- Strong consensus that non-GUI, cross-platform server/CLI is solid and pleasant.
- Desktop/mobile GUI is considered fragmented: MAUI (native-backed), Avalonia/Uno (Skia-style), Blazor (web/WASM), third-party options (Eto, Godot).
- Some fear Blazor repeats WebForms-style pitfalls; others are enthusiastic about its unified component model and new streaming/server features.
Versioning, Mono, and compatibility
- Explanation repeated: old Windows-only .NET Framework vs modern cross‑platform .NET 5–8; .NET Standard mainly for legacy library sharing.
- Mono largely subsumed into the main repo, but still used in Unity, MAUI mobile, and some niche platforms.
- Many praise .NET’s backwards compatibility; some counter that Java remains even stricter.
Other languages and adoption
- F# 8 announced alongside C# 12, with performance and interop improvements; community worries about its marginal visibility.
- Several threads on why/when to pick .NET over Go/Java: strong tooling, LINQ, async model, and yearly incremental improvements.