.NET 8

.NET 8 provoca uma reflexão ampla sobre o quanto a plataforma avançou: desenvolvedores elogiam os ganhos de desempenho, a compilação Native AOT, os novos recursos do C# 12 (como expressões de coleção e interceptors) e adições voltadas à nuvem, como o .NET Aspire. Ao mesmo tempo, muitos veem a história de GUI e ferramentas em sistemas que não são Windows como atrasada, e permanecem cautelosos com a fragmentação do ecossistema (.NET Framework vs .NET Core vs “apenas .NET”), a rotatividade de frameworks de UI e a monetização da Microsoft em IDEs e extensões. No geral, os participantes veem o .NET moderno como uma opção rápida, capaz e bem equipada para back-end e cloud-native, mas menos claramente posicionada como a melhor escolha da categoria para UIs desktop e mobile cross-platform.

Mudanças na linguagem C# 12

  • Novas expressões de coleção ([1, 2, ..others]) e a sintaxe de espalhamento reutilizam a forma existente de pattern matching .. para simetria entre construção e desconstrução.
  • Há debate sobre .. vs ...; a escolha foi parcialmente para reservar ... para possíveis recursos futuros.
  • Construtores primários para classes dividem opiniões: vistos como uma conveniência poderosa por alguns, potencialmente confusos por outros.
  • Interceptors via source generators são vistos como “ferramentas avançadas” de nicho para frameworks de DI/AOP, e não para lógica de negócios do dia a dia.

Native AOT, desempenho e footprint

  • Native AOT é elogiado por binários pequenos e independentes, com implantação ao estilo Go, embora muitos apontem lacunas no ecossistema (código pesado em reflection, padrões antigos de ASP.NET, GUIs).
  • Alguns o comparam mais ao Java/Graal native image: poderoso, mas apenas um subconjunto das bibliotecas funciona sem atritos.
  • O Dynamic PGO agora vem ativado por padrão; espera-se que beneficie especialmente código com muita abstração.

Aspire, Dapr, Orleans e cloud-native

  • Aspire gera tanto interesse quanto suspeita; alguns o veem como uma integração útil para .NET cloud-native, outros temem “magia demais” e sobreposição com Dapr.
  • Há dúvidas sobre o compromisso de longo prazo com Dapr e Orleans; os mantenedores relatam trabalho ativo (workflows do Orleans, armazenamento, integração com Aspire).

Ferramentas, custo e plataformas

  • Visual Studio (Windows), VS Code com extensões C# e Rider são as principais opções; muitos elogiam o Rider no macOS/ARM.
  • Há atrito para ferramentas realmente gratuitas/abertas em “escala empresarial” e em plataformas não Windows, embora CLI + VS Code seja viável.
  • Licenciamento do VS / DevKit para empresas maiores levanta preocupações sobre monetização futura; outros argumentam que o runtime é MIT e pode ser bifurcado.

História cross‑platform e de GUI

  • Há forte consenso de que o uso cross-platform sem GUI, para servidor/CLI, é sólido e agradável.
  • A GUI para desktop/mobile é vista como fragmentada: MAUI (baseado em nativo), Avalonia/Uno (estilo Skia), Blazor (web/WASM), opções de terceiros (Eto, Godot).
  • Alguns temem que Blazor repita armadilhas no estilo WebForms; outros estão entusiasmados com seu modelo unificado de componentes e os novos recursos de streaming/servidor.

Versionamento, Mono e compatibilidade

  • Explicação repetida: o antigo .NET Framework era apenas para Windows, enquanto o .NET moderno 5–8 é cross-platform; .NET Standard serve principalmente para compartilhamento de bibliotecas legadas.
  • Mono foi em grande parte incorporado ao repositório principal, mas ainda é usado em Unity, no mobile do MAUI e em algumas plataformas de nicho.
  • Muitos elogiam a compatibilidade retroativa do .NET; alguns contrapõem que o Java continua ainda mais rigoroso.

Outras linguagens e adoção

  • F# 8 foi anunciado junto com C# 12, com melhorias de desempenho e interop; a comunidade se preocupa com sua visibilidade marginal.
  • Há vários tópicos sobre por que/quando escolher .NET em vez de Go/Java: forte tooling, LINQ, modelo async e melhorias incrementais anuais.