8 motivos pra programar em inglês

8 motivos pra programar em inglês

Vejo muitos brasileiros escrevendo código em português. Na faculdade até pode fazer um pouco de sentido por mais didático, mas vou apresentar alguns motivos pelos quais isso deve ser evitado no mundo real:

1. O motivo mais importante: inglês é o idioma internacional para código (e para documentações). Mais especificamente, o inglês americano é o padrão. Eu trabalho em uma empresa australiana e embora a Austrália siga a gramática britânica, o código que escrevemos segue a gramática americana (exemplo: “color” e não “colour”). Então se esse é o padrão mundial, por que não segui-lo?

2. Se você pretende um dia trabalhar fora do Brasil, potenciais empresas querendo te contratar vão querer ver seu código, mas não irão entender se estes estiverem em português. Então procure deixar seus repositórios no Github com código e documentação em inglês.

3. Os comandos e palavras-chave de linguagens em programação são em inglês, então mesmo que você queria escrever em português, vai acabar ficando inevitavelmente uma mistura.

4. Algumas linguagens e frameworks estão preparados para entender o inglês em termos de semântica. Exemplo: o Ruby on Rails sabe que a tabela no banco de dados para um determinado model deve ser sempre o nome do model no plural. Ou seja, ao ter um model “Person”, ele vai procurar uma tabela “people”.

5. Contribuições para projetos open-source devem ser em inglês. Eu sinceramente não conheço um projeto open-source famoso que não esteja em inglês.

6. Muitas empresas no Brasil já escrevem códigos em inglês. Então se eventualmente você começar a trabalhar em um dessas empresas, você terá que se adaptar de qualquer forma.

7. Acentos, “ç” e caracteres especiais não funcionam bem em todas as linguagens, fazendo que você tenha palavras escritas de forma incorreta se você as escrever em português.

8. Você treina e melhora seu inglês :-)

  • Luccas Maso

    Não consigo nem olhar pra um projeto quando ta em português ahahha

  • Lazaro Prates Junior

    fresco

  • Francisco Cabral

    me conectei só para dar up

  • Renan Oliveira

    get_nome #sqn

  • Sistemas de Gestão estão muito focados em legislação brasileira. SPED, TEF, NFe, CTe, etc. Até para simplificar é inevitável esses tipos de sistemas estarem comentados em português, e também porque não adianta ter acesso em outros idiomas para esses módulos.

    A maioria dos empregadores ainda são empresas familiares e é já é difícil se comunicar com o pessoal que trabalha lá. Muitos ainda falam “arreio”, “trúi”, “um definede”, “gôto”… :P.

    Claro, projetos internacionais ou maiores, aí sim em inglês.

  • iurisilvio

    Se o seu domínio é brasileiro, fica muito difícil de fazer tudo em inglês. As vezes até confunde quando tenta traduzir.

  • Willian Medeiros de Faria

    Vamos esquecer os bugs e nos concentrar em traduzir o código pra inglês… Bora lá

  • Luccas Maso

    se ta em português nao precisa mudar, só tentar manter tudo em pt mesmo

  • Eu vou continuar usando variáveis e funções em português e pau no cu de vocês.

  • Também me conectei só pra dar UP! kk

  • Diego Armando

    É complicado issae neh… As vezes você traduz as entidades no sistema e já nem parece o mesmo negócio, acaba perdendo um pouco de intuitividade no código.

  • Eduardo Henrique Rodrigues

    Também me conectei só pra dar up kkkkkkk

  • Pingback: 8 motivos pra programar em inglês | Java Lee()

  • Bruno Brito

    Cara, que medo desse post! Não concordo com metade dos argumentos.

    E o DDD com a linguagem obiqua ó…

  • lucascaton

    Fala Bruno! Por que não concorda?

  • Hugo Demiglio

    Pior que código tudo em português é código poliglota… =P

  • Lucas Ferreira da Silva

    Pra q tanta agressão O.o

  • Willian Medeiros de Faria

    Não era pra jogar no lixo?

  • Leonardo Rodrigo

    ED Motta aprova esse post

  • Abelardo Dantas Álvares

    Nossa cara… que viadagem.

  • Bruno Brito

    Cara, invariavelmente para cair nessa discussão, vou buscar apoio em literaturas e não apenas no meu “achometro”

    http://martinfowler.com/bliki/UbiquitousLanguage.html

    Esse é o texto base, que também está no livro do DDD, para conversamos.

    Um bom código é aquele que o design e a programação comunica entre programador e usuário do sistema.

    E no contexto Brasileiro, obviamente o design e a programação que mais se aproxima da linguagem de domínio do usuário é o português.

    Escrever testes, empregar um bom BDD em terras tupiniquins, não tem jeito, traduzir para o inglês você vai dificultar a comunicação.

  • Discordo em alguns pontos. Acho que tudo depende para quem iremos programar e como vislumbraremos nosso código. Seguindo as regras do DDD, sinceramente não vejo motivo para no lugar de escrever ObterListaDeProdutos eu colocar GetProductList. Acho que em português o código ficaria mais fiel ao domínio e regra de negócio. Caso seu projeto seja pessoal e você queira expandi-lo aí sim, é outra coisa. Saber inglês é obrigação na nossa área, mas ter pensamento xiita é para outro grupo. Pensar em quem vai fazer a manutenção é importante também. Mas Domínio e Regra de Negócio é tudo!

  • Mitou!

  • Perfeito!

  • Helio W

    Bota escrever só por escrever

    1 – O padrão internacional pode mudar. Ponto de vista relativo

    2 – Se você pretende um dia trabalhar fora do Brasil… É pode ser bem vindo sei lá mas na Russia creio que um ucraniano seja mais bem vindo, na Itália um italiano, etc.

    3 – Bom para um chefe em TI que não seja fluente em inglês, talvez não. Para ele pode ser legível um if ou um where porem um getPeopleWhoChangedTheirSex não seja tão legível.

    4 – “Algumas linguagens e frameworks estão preparados para entender o inglês em termos de semântica. Exemplo: o Ruby on Rails” Opa alguns Frameworks ok? Bom no exemplo, com Rails existe o chamado inflectors (assim que se escreve? :D) pois então você insere uma chave-valor, assim por exemplo, {oa: oas } e por fim se você tiver um modelo chamado pessoa ele vai refletir a um modelo de dados representado pelo nome de pessoas. (Ie18N) a… model = modelo ou table = tabela por favor né

    5 – Projetos grandes normalmente tem traduções :D

    6 – É pode acontecer, porem creio que eles prefiram que eu seja FLUENTE em inglês.

    7 – Vais apresentar seu software ou sei lá o que :D pra o cliente com textos na interface como Nome de usuario, User name ou Nome de Usuário? O que seria de nós, se o mundo do desenvolvimento de software não leva-se a sério a codificação de caracteres.

    8 – Por fim, bom melhorar o inglês né? bom só se um dos argumentos anteriores for satisfeito. Mesmo assim creio que exitam forma melhores. Aqui na minha cidade exitem monte cursinhos de inglês ou pelo menos acho que existiam, sei lá :D

    Há! eu curto definir a lógica em inglês :D

  • Lucas, discordo de você!

    Acredito que quanto mais próximo do negócio, mais fácil será seu entendimento e menor os riscos de falhas do projeto.

    Uma forma de facilitar o entendimento do negócio é usar uma Linguagem Ubíqua.

    Sobre os seus pontos, alguns questionamentos…

    1. Inglês é o idioma internacional, mas não significa que você deve criar projetos, escrever códigos em inglês, significa que vc tem que saber o idioma.

    2. Da mesma forma que se deve usar uma linguagem ubíqua no código, a mesma linguagem deve ser usada na sua documentação. Não tem muito o que pensar.
    Sobre trabalhar fora, isso é uma questão pessoal, você não pode misturar seus desejos e usar do projeto em que está trabalhando para abrir novas oportunidades para você no futuro.

    3. Não vejo essa mistura como algo ruim.. não entendi porque isso te prejudica.

    4. Não conheço ruby mas pelo que entendo isso são conventions, e você pode definir a sua. Fica até estranho vc pensar em uma tabela NFs em inglês

    5. De novo depende do projeto, se o publico alvo são usuários do mundo todo faz sentido que seja em inglês, agora projetos do governo, ou projetos específicos de uma região, faz mais sentido que este projeto seja escrito na mesma linguagem do seu publico alvo.

    6. Se escrevem, e seus clientes são regionais, estão fazendo de forma errada. Você não deveria fazer!

    7. Isso não impede de escrever `c`. Não ha necessidade de ser purista.

    8. De novo, isso é uma questão pessoal. Não acho bacana você adicionar riscos ao projeto para que você aprenda uma lingua nova.

Comments are closed.