C# está ficando cada vez mais poderosa … e isso pode ser um problema!

Elemar Júnior

Já foi possível aprender C# em poucas horas. Esse tempo passou! A especificação da linguagem tem ficado cada vez maior e novas features continuam sendo adicionadas rotineiramente. Se, por um lado, a linguagem está cada vez mais relevante, de outro, atingimos um ponto em que são raros os programadores que conhecem C# plenamente  e, mesmo estes, tem dificuldades de utilizar eficientemente todo seu potencial. Este aspecto não pode ser ignorado, sobretudo em ambiente corporativo.

O sucesso de C# faz com que ela seja adotada no desenvolvimento de soluções para cenários muito distintos. Embora a linguagem seja, ainda, majoritariamente utilizada para o desenvolvimento de aplicações empresariais (LoB), ela também vem sendo adotada para o desenvolvimento de soluções em nível mais baixo – como no desenvolvimento de compiladores, jogos, engines de bancos de dados, proxys reversos – e de nível mais alto, como linguagem de scripts.

Desde sua criação, a linguagem já foi ampliada para suportar melhor o desenvolvimento de aplicações com execução paralela ou concorrente (por exemplo, com async e await), permitir gestão mais eficiente de memória (por exemplo, com tuplas e ref structs) e, recentemente, para ajudar programadores a tornar seus códigos mais expressivos impedindo que um erro extremamente comum e, consequentemente, custo continuasse sendo cometido (nullable reference types).

C# também está superando barreiras quanto a ambientes de execução. Hoje, ela é usada para escrever código que roda em servidores poderosos – on-premises e na nuvem, desktops, dispositivos móveis, browser e dispositivos leves. Cada um desses ambientes oferecendo desafios inéditos e inspirando, ainda, o surgimento de mais features na linguagem.

Já é bem comum que programadores utilizem a linguagem diariamente conhecendo um subset bem reduzido da especificação. A consequência dessa ignorância é que categorias inteiras de problemas poderiam estar superados e não estão – ao contrário, causam prejuízos crescentes. Nessa mesma linha, os custos para formação de bons programadores na linguagem estão crescendo.

Sempre houve certa interdependência entre a linguagem, seu compilador e o framework. Entretanto, nos últimos tempos, essa interdependência está ficando, naturalmente, maior. A implicação disso é que programadores precisam entender essas interdependências para poder determinar o que pode e o que não pode ser utilizado.

Dependendo do subset de features da linguagem que um programador conhece e utiliza, seu código se torna mais ou menos compreensível para outros programadores no time. Se, por exemplo, ele utilizar intensamente features destinados a fazer melhor uso da memória, beneficiando a performance, utilizará recursos que não são conhecidos pela maioria dos programadores.

A popularidade, longevidade e o poder crescente de C# está fazendo com que ela comece a sentir “dores” parecidas com C++. Esse é um problema em potencial que não podemos ignorar.

Em ambiente corporativo, é importante que consideremos como desenvolver os profissionais, garantindo que as features que fazem diferença sejam conhecidas e utilizadas por todos. Algumas features novas tornam as outras, antigas, irrelevantes, embora compatíveis. Por isso, é importante que o código “mantenha o frescor”. Finalmente, é necessário vigiar para que não se produza código “inteligente demais” – complexo em demasia sem benefício percebido.

Em resumo

O problema
A popularidade, longevidade e poder de C# faz com que a linguagem seja incrementada com cada vez mais funcionalidades, tornando-a cada vez mais complexa. Isso limita a capacidade dos times de entender a linguagem e selecionar o que deveria e o que não deveria ser utilizado. Também faz com que as pessoas tenham, na linguagem, mais um obstáculo para entender o código escrito por outras.
O insight
Em ambiente corporativo, é importante garantir que desenvolvedores tenham acesso e desenvolvam competência nos recursos da linguagem que podem ter impacto positivo para o negócio. Além disso, é importante garantir um “nivelamento” do time.
Os benefícios
C# não está evoluindo sem motivos. Entretanto, se a evolução da linguagem não for tratada nas organizações, isso se converte em um problema. Aproveitar bem os recursos da linguagem, deixando de lado recursos que, embora compatíveis, estão obsoletos, tem potencial de gerar programas mais performáticos e códigos mais expressivos, potencializando resultados.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
1 Comentário
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Patrick
Patrick
3 anos atrás

E este poder tende a aumentar muito nos próximos anos. Cabe aos desenvolvedores se manterem atualizados na linguagem e proporcionarem discussões com as equipes para executarem refactor em pontos onde as novas features se aplicam a fim de utilizarem os melhores recursos e manter a linguagem sempre viva.

Excelente post!

AUTOR

Elemar Júnior
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas e profissionais a gerar mais resultados através da tecnologia.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Engenharia de Software

Três vantagens reais de utilizar orquestradores BPM para serviços

Arquiteto de software e solução com larga experiência corporativa
Desenvolvimento de Software

Os principais desafios ao adotar testes

Especialista em Testes e Arquitetura de Software
Arquitetura de Dados

Insights de um DBA na análise de um plano de execução

Especialista em performance de Bancos de Dados de larga escala

Acesse nossos canais

Simplificamos, potencializamos e aceleramos resultados usando a tecnologia do jeito certo

EximiaCo 2022 – Todos os direitos reservados

1
0
Queremos saber a sua opinião, deixe seu comentáriox
()
x

C# está ficando cada vez mais poderosa … e isso pode ser um problema!

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?