heldercorreia.com

autodidata, programador e consultor

Porque programo em inglês

Não foi sempre assim, mas hoje em dia escolho as minhas variáveis, funções, classes e até mesmo comentários em inglês.

Já me disseram na Universidade que se estamos em Portugal, falemos português. Pois, mas as linguagens de programação que uso estão escritas em inglês, e até considero mais profissional por questões de internacionalização.

Há vários benefícios.

Eu gosto de ler código como prosa. É estranho ler mistura de línguas, como em if (factura.getMontante() < conta.getSaldo() && !cliente.isDevedor()). Ou ter que remover os nossos caracteres especiais como em aplicacao.fazEstrategia();. Não soa bem.

Se a linguagem de programação que estamos a usar está em inglês, há sempre esta mistura, ainda mais quando usamos bibliotecas externas desenvolvidas em inglês.

Imaginemos que eu crio um pedaço de código em português. Só o posso partilhar com portugueses. Eu trabalhei num projecto de cá, iniciado por uma empresa italiana. A maior parte do código está em inglês, mas há nomes e comentários em italiano, o que não ajuda. Isto num projecto internacionalizado em várias línguas.

A única coisa que deixo em português são dados. Valores de variáveis. Incluindo mensagens a mostrar no ecrã, mas apenas se não houver intuito da aplicação ser internacionalizada.

Mesmo na Universidade justifica-se. Os programas são curtos e de vida curta mas mais vale ganhar um bom hábito cedo. Mesmo em código que não é suposto ser partilhado para outros usarem, pode ser útil para pedir ajuda em qualquer fórum, ou no Stack Exchange, por exemplo, sem necessidade de alterar nada.

Nós vivemos numa sociedade global hoje em dia. Inglês neste momento é a língua mais internacional, e programar nesta língua abre mais portas. Um programa que poderá sobreviver o suporte do seu criador, torna muito mais simples para uma empresa poder “contratar” ajuda de qualquer lado.

São por esses motivos que considero uma boa prática programar em inglês, e isso inclui mensagens de commit num SCM como o Git.

Comentários