C# in Depth (4ª edição)
C# in Depth (4ª edição)
Resumo:
Introdução
O livro «C# in Depth» (4ª edição, 2019) de Jon Skeet não é mais um tutorial para iniciantes, mas um estudo aprofundado da evolução da linguagem C# da versão 2.0 à 8.0. Skeet, conhecido como um dos especialistas mais renomados em C# (e o participante mais ativo do Stack Overflow), oferece ao leitor não apenas uma lista de novos recursos, mas uma compreensão de por que a linguagem evoluiu dessa forma e como essas mudanças impactam o desenvolvimento diário.
O livro foi lançado em 2019, tem 528 páginas e é voltado para desenvolvedores experientes que já programam em C# e desejam passar do "código que simplesmente funciona" para soluções elegantes, eficientes e seguras.
Sobre o que é este livro
«C# in Depth» é estruturado como uma cronologia da evolução da linguagem. Cada capítulo é dedicado a uma versão específica do C# (a partir da 2.0) e suas principais novidades. Os tópicos principais incluem:
- Genéricos (generics) — como eles mudaram a tipagem e o desempenho.
- LINQ e expressões de consulta — abordagem declarativa para trabalhar com dados.
- Programação assíncrona (async/await) — análise aprofundada do modelo de tarefas, contexto de sincronização e melhores práticas.
- Tipos anuláveis de referência (nullable reference types) — novo sistema de segurança contra referências nulas.
- Pattern matching — de verificações simples a padrões recursivos complexos.
- Records e estruturas somente leitura — imutabilidade de dados.
- Span
e Memory — manipulação de memória de baixo nível sem alocação de buffers. - Interfaces com implementação padrão — evolução das abstrações.
Cada tópico é acompanhado não apenas por exemplos de sintaxe, mas também por uma análise do funcionamento interno do compilador e do ambiente de execução .NET.
Para quem é este livro
O livro não é destinado a iniciantes. Se você está apenas começando com C# ou .NET, é melhor começar com "C# 8.0 and .NET Core 3.0" de Mark Price ou "Head First C#". «C# in Depth» é um livro para:
- Desenvolvedores com 1–2 anos de experiência que desejam entender os "bastidores".
- Aqueles que estão migrando de versões mais antigas do C# (por exemplo, da 5.0 para a 8.0) e desejam dominar todas as novidades.
- Arquitetos e líderes técnicos que tomam decisões sobre a escolha de abordagens (por exemplo, async vs. threads, records vs. classes).
- Programadores se preparando para entrevistas para cargos Sênior/Líder.
O que o leitor aprenderá
Após a leitura, você será capaz de:
- Explicar a diferença entre covariância e contravariância em genéricos.
- Projetar APIs assíncronas corretamente, sem deadlocks.
- Usar pattern matching para substituir longos if-else e switch.
- Escrever código seguro com nullable reference types, evitando NullReferenceException.
- Otimizar o desempenho com Span
e ref struct. - Entender como o compilador transforma suas construções em código IL.
- Escolher entre classes, structs e records dependendo do cenário.
Pontos fortes
- Profundidade: Skeet não apenas lista recursos — ele explica a motivação por trás deles, alternativas e compromissos.
- Atualidade: A 4ª edição abrange o C# 8.0, incluindo nullable reference types, async streams e índices/intervalos.
- Autoridade do autor: Jon Skeet é membro da equipe de desenvolvimento do C# e autor de vários artigos; suas explicações são precisas e testadas.
- Exemplos práticos: O código do livro pode ser aplicado imediatamente em projetos reais.
- Estrutura: A abordagem cronológica permite ver a evolução da linguagem como uma história coesa.
Para quem é recomendado
Recomendo o livro a todos que já programam em C# e desejam parar de "apenas usar recursos" e começar a entendê-los. Se você sente que em