O futuro não espera: .NET 11 e C# 15 dão as caras
Parece que foi ontem que estávamos dissecando as novidades do .NET 10, mas no mundo da tecnologia, a fila anda mais rápido que a compilação de um projeto em mainframe (e olha que aquilo era rápido, viu?). A Microsoft acaba de liberar a primeira Preview do .NET 11, e com ela, um gostinho do que o C# 15 nos reserva. O bug de hoje é claro: com tantas atualizações, o que realmente muda na prática? Vamos desbugar isso juntos.
A lenta despedida do Mono: unificação à vista
Se você, como eu, tem algumas décadas de código nas costas, deve se lembrar do projeto Mono. Para os mais novos, vamos à arqueologia digital. Mono é uma implementação de código aberto e multiplataforma do .NET, que a Microsoft adquiriu junto com a Xamarin. Por muito tempo, ele foi o motor por trás de aplicativos móveis e, mais recentemente, de algumas aplicações WebAssembly.
O problema? O .NET principal usa outro motor, o CoreCLR. Ter dois runtimes é como ter dois motores diferentes no mesmo carro: funciona, mas não é o ideal. A grande promessa do .NET 11 é continuar o trabalho de aposentar o Mono gradualmente. Nesta prévia, o CoreCLR já se torna o padrão para builds Android e um alvo oficial no SDK do WebAssembly.
E daí? Para nós, desenvolvedores, isso significa um futuro com um ecossistema mais coeso, menos dores de cabeça com compatibilidade e, potencialmente, melhor performance em aplicações móveis e web com MAUI e Blazor.
C# 15 e a polêmica da vez: argumentos de expressão de coleção
Ah, uma nova versão do C# não seria a mesma sem um debate acalorado sobre sintaxe, não é mesmo? A novidade da vez são os argumentos de expressão de coleção. A ideia é permitir que você personalize a criação de uma coleção de forma mais direta. Veja um exemplo:
List nomes = [with(capacity: valores.Count * 2), .. valores];
Com essa sintaxe, estamos criando uma lista e já definindo sua capacidade inicial na própria declaração, usando a palavra-chave with. É prático? Sim. Mas a comunidade se dividiu. Muitos argumentaram que a sintaxe parece "estranha" ou "fora do lugar" no C#, temendo que a linguagem se aproxime da complexidade de um C++. Eu diria que, comparado a gerenciar ponteiros em C, isso é um passeio no parque. Mas o debate é válido e mostra como a comunidade se importa com a elegância da linguagem.
Uma pequena melhoria que faz diferença
Nem só de grandes mudanças vive uma atualização. O .NET 11 também trará suporte à compressão Zstandard (zstd), um algoritmo moderno que promete alta performance. Não é o recurso que estampa as manchetes, mas é o tipo de melhoria que, no dia a dia, otimiza o desempenho de aplicações que lidam com grandes volumes de dados.
Sua Caixa de Ferramentas para o .NET 11
Então, o que levamos para casa com esta primeira olhada no futuro? Aqui está sua caixa de ferramentas desbugada:
- Unificação é o caminho: A migração do Mono para o CoreCLR continua firme. Espere um desenvolvimento mais simples e integrado para mobile e WebAssembly.
- C# 15 quer ser mais expressivo: A nova sintaxe para coleções é o primeiro de muitos recursos que virão. Ame ou odeie, ela busca resolver um problema prático.
- Performance sempre bem-vinda: Melhorias como o suporte ao Zstandard mostram o compromisso contínuo com a otimização da plataforma.
Este é apenas o primeiro passo de uma longa jornada até o lançamento final em novembro de 2024. Para os mais corajosos, a prévia já está disponível para testes. Para os demais, a boa notícia é que agora você já sabe para onde o vento está soprando. E, convenhamos, é sempre bom estar preparado para o futuro, mesmo que ele chegue a cada seis meses.