Tenho visto algumas pessoas dizendo que o C# está com muitas novidades. Com o LINQ ganhou muita novidade (extension methods, lambdas, etc) e agora com dinamismo está complicado demais.

Outros acham que a linguagem tem que evoluir. Os outros que se virem para aprender as novidades.

Eu? Acredito que a linguagem deve sim evoluir, mas deve crescer de maneira inteligente e ordenada. Os que criticam a evolução do C# dizem que ele vai ser o novo C++, que em pouco tempo vai estar tão grande que vai ser impossível de entender. Eu não acredito nisso.

Sim, o LINQ trouxe conceitos de linguagem funcional ao C#.

Sim, podemos fazer código unsafe com C#.

Sim, lambdas e delegates são muito parecidos e resolvem problemas semelhantes.

E sim, o C# agora tem também conceitos de uma linguagem dinâmica.

Mas entendo que isso faz parte da riqueza da linguagem.

Os críticos também dizem que o custo de entrada para um novo programador no C# está ficando muito alto, porque a linguagem está muito grande e há muito a estudar. Eu não vejo isso como um problema. Quem sabe com isso teremos menos falsos sêniors no mercado.

O que você acha? O C# está complexo demais?

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.