Como a cada hora estou realizando consultoria em um cliente diferente, e o mercado é totalmente dividido entre C# e VB, eu tenho que escrever código nas duas linguagens o tempo todo. Muitas vezes isso acontece no mesmo dia. Se juntar o trabalho de edição da .Net Magazine, onde vejo de tudo: C#, VB, e até J# (e logo logo F#), a situação complica ainda mais.
Como as linguagens são muito parecidas, geralmente não é um problema, mas no fim do dia, quando isso acontece muito… lá estou eu, colocando ponto e vírgula no VB, parênteses no C#, ou esquecendo que no C# o operador de identidade tem dois iguais (==). Às vezes demora uns 3 ou 4 minutos para cair a ficha e entender onde está o erro, afinal, a aplicação não compila.
Agora, vocês já imaginaram como isso vai ser em 2 ou 3 anos? Vou ajudar:
- C#
- VB
- J#
- F#
- Iron Ruby
- Iron Python
- M (do OSLO)
Isso sem falar em uma ou outra linguagem independente por aí, como o Boo (esse é o nome da linguagem mesmo, não estou tentando te assustar), que pode acabar ganhando o mainstream do dia pra noite. E sem contar também as outras linguagens que não são diretamente dependentes do CLR, ou do DLR, como:
- Javascript
- HTML
- CSS
- XAML
Ou seja, não preciso mais me preocupar em errar ao colocar chaves no VB de vez em quando. Daqui uns anos o ambiente de trabalho vai estar tão complicado, que vou precisar de uns 5 minutos só pra “carregar” a linguagem do momento, bem ao estilo Matrix. Quando falamos que devemos usar a linguagem certa para cada tipo de aplicação, não estamos brincando, não é verdade?
Depois disso tudo, ambidestria fica até parecendo fácil.
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.