Você programa, mas realmente conhece a linguagem de programação que utiliza? Olha só: a extensão do teu “vocabulário” define o tamanho das ideias que você consegue expressar. Vocabulário encurtado, ideias pequenas. Saber pouco de uma linguagem de programação limita o tipo de solução que você consegue desenvolver. Te limita.
E olha, C# por exemplo já foi simples, mas não é mais. Dava para aprender em uma tarde. Hoje, demanda semanas, se é que ainda dá pra saber tudo.
Eu digo que C# tem uma abordagem bem opinativa, um jeitão que é só dela. Orientação a objetos com pitadas de funcional. Conhecer o espírito da linguagem muda o jogo.
Programar do jeito certo em C# implica entender da linguagem, mas também de design, do processo de compilação e do runtime. Não é só escrever código que funciona. É saber o que acontece com ele depois.
Sempre digo que hoje escrevemos um C# açucarado, cheio de facilidades sintáticas, que é convertido em um C# limpinho, que gera um IL de qualidade, que resulta em um assembly de alto desempenho. Mas isso só acontece se formos expressivos.
Aliás, falando em conhecer, é importante estar atento a alguns mitos. Pra começar, tem gente que pensa que o runtime resolve tudo. Não resolve. Outros acham que C# só serve para soluções LoB. Só que não. Eu mesmo já desenvolvi engine 3D, compilador e até banco de dados, o RavenDB. Nem C#, nem .NET foram restrição. Se houve alguma, era minha falta de fluência.
Essas são algumas ideias que vou compartilhar na aula inaugural da nova turma de C# do jeito certo. Semana que vem. Mas vai ter muito mais. Quem vai estar lá?