menu

SHARKLABS

Programar em Inglês ou em Português?

/
/
Programar em Inglês ou em Português?
bookmark Clean Code access_time

Discussão Antiga

Quando você vai programar, você define o nome das suas variáveis em português ou inglês? Essa pergunta também se aplica à funções, métodos, classes, etc.

Este tema aflige o mercado brasileiro a muitos anos e embora a resposta pareça ser simples, ela não é.

Desenvolvimento da Computação

A computação moderna foi criada e aprimorada nos países de língua inglesa, o Estados Unidos principalmente. Ou seja, a maior parte dos conceitos de programação foram criados e aperfeiçoados em inglês.

Por isso, temos os termos: IF, WHILE, FOR, FUNCTION, CLASS, GET, SET, SELECT, WHERE...

Resistência com o Inglês

O português tem poucas semelhanças com o inglês, embora existem algumas palavras que chamamos de cognatas, no geral os idiomas são bem diferentes.

Outra questão é que no Brasil a maioria das pessoas tem pouco ou nenhum conhecimento da língua inglesa. Isso é um reflexo de problemas no sistema ensino que não nos prepara adequadamente para aprender um segundo idioma.

Efeito colateral: Legibilidade do código

Com base na pouca semelhança entre os idiomas e nos problemas do nosso sistema ensino, a resposta mais comum para a pergunta realizada no início deste artigo é: Em português.

Porém quando programamos em português, a legibilidade do nosso código tende a ficar comprometida, já que teremos partes em inglês e partes em português. Quem nunca viu um método com o nome getCodigo ?

Então se programarmos em inglês, o problema legibilidade do código será resolvido? Nem sempre!

Dependendo da área negócio, fica difícil traduzir os termos para a língua inglesa. Por exemplo, o cálculo tributário e as regras de contabilização brasileiras possuem termos específicos para a nossa realidade e que não se aplicam a outros países.

Como traduzir termos relacionados aos nossos impostos (ICMS, IPI, ISS, CSLL, PIS, COFINS...)?

Como traduzir os termos Nota Fiscal Eletrônica e SPED?

A verdade é que se a tradução não for bem realizada, a legibilidade do código pode ficar até pior.

Minha opinião

A minha opinião é sempre que possível tentar programar em inglês, uma vez que na maioria das áreas de negócio é possível traduzir. É claro que será necessário uma sintonia entre toda a equipe de desenvolvimento para convencionar as melhores traduções de cada termo.

Para áreas de negócio extremamente específicas, eu recomendo algum de modelo de arquitetura de software para isolar as questões regionais. Por exemplo, em um sistema para cálculo tributário você pode criar um micro-serviço somente com as regras/termos regionais e o resto do sistema pode ficar de acordo com padrões internacionais.

Eu programo em inglês desde quando comecei a programar com Ruby on Rails, uma vez que neste framework existem convenções e padrões que fica difícil não programar em inglês. No início não é fácil, mas conforme o passar do tempo você se acostuma e os resultados são satisfatórios.

É claro que não existe uma verdade única e absoluta. Eu entendo que talvez existem situações que isso não seja possível, mas lhe recomendo a refletir bem sobre seu problema. Nos meus casos sempre encontrei uma boa solução.

Dúvidas ou sugestões entre em contato.

Autor
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." Martin Fowler