O mundo da programação está cheio de termos estranhos. Você tem backends, tags, frameworks e muito mais. No entanto, embora algumas palavras e frases possam parecer estranhas até você se acostumar com elas, geralmente não são ofensivas.
Existem algumas exceções raras, no entanto, como o uso frequente de master e slave. É quase desnecessário dizer que essas são duas palavras potencialmente problemáticas, devido às suas conotações históricas. No entanto, elas ainda são amplamente usadas em círculos de desenvolvedores e múltiplas linguagens de programação. De fato, seu uso é tão incorporado que a maioria das pessoas nunca parou para pensar nos termos.
Hoje, vamos falar mais sobre esses dois termos problemáticos de programação. Vamos discutir a controvérsia em torno do uso deles, introduzir o debate sobre a possibilidade de substituí-los e explicar o que algumas equipes de código aberto estão fazendo para abordar a questão. Vamos falar sobre terminologia!
A Existência de Termos Problemáticos na Programação de Código Aberto
Como mencionamos anteriormente, há muita controvérsia quanto ao uso dos termos master e slave dentro da comunidade de código aberto. Geralmente, esses termos referem-se a um modelo de comunicação onde um elemento tem controle total sobre um segundo.
Por exemplo, você pode ter bancos de dados mestre e escravo, sendo o mestre o principal.
Se você não faz parte da comunidade técnica, isso pode parecer um pouco estranho. Todos nós conhecemos o significado de ambas as palavras, assim como seu contexto histórico. No entanto, esses termos existem há algum tempo, e a maioria das pessoas que os usam nunca os questiona ou lhes dá muita atenção.
Ao mesmo tempo, há algum tempo algumas pessoas têm apontado que o uso deles poderia ser problemático. Podemos encontrar referências já em 2004 para a controvérsia em torno desta questão. Durante aquele ano, a Iniciativa do Monitoramento Global de Idiomas selecionou a combinação mestre/escravo como o exemplo mais flagrante de terminologia politicamente incorreta. Desde então, houve muita discussão dentro dos projetos de código aberto sobre a possibilidade de substituir ambas as palavras. No entanto, muitos argumentos interessantes foram feitos sobre isso
Para ser sincero, todo esse caso pode parecer exagerado se você não passou a última década considerando isso.
Por Que Há uma Controvérsia Sobre os Termos Master e Slave
Quando os termos master e slave são usados na comunidade de código aberto, não estão se referindo a pessoas. Se esse fosse o caso, poderíamos encerrar esta discussão rapidamente, já que praticamente todos concordariam que precisaríamos criar uma terminologia menos ofensiva.
Em vez disso, esses termos são usados para se referir a elementos como bases de dados, drives e mais. Isso nos leva às razões pelas quais algumas pessoas são contra substituir os termos mestre e escravo, que podemos resumir em alguns pontos:
- Ambos os termos existem há algum tempo, portanto, não faz sentido substituí-los.
- No mundo da tecnologia, as palavras não são usadas em um contexto ofensivo.
Para algumas pessoas, master e slave são apenas palavras, e a ideia de que deveríamos desencorajar o uso delas na programação parece uma perda de tempo. De um ponto de vista prático, é difícil argumentar contra esses pontos. No entanto, se estamos sendo práticos, então também vale a pena apontar que substituir esses termos não afetaria os projetos em termos de funcionalidade.
Além disso, o argumento de que devemos continuar usando as mesmas palavras porque sempre fizemos isso não é particularmente convincente. Como sociedade, tornou-se normal para nós desencorajar o uso de terminologia ofensiva, mesmo que essa mudança leve tempo. Seria uma questão simples escolher palavras substitutas que são muito menos carregadas e começar a usá-las em vez disso.
Isso nos leva ao cerne do debate, que é se uma palavra por si só pode ser ofensiva independentemente do contexto. Algumas pessoas argumentariam que mudar os termos mestre e escravo estabelece um precedente ruim, já que sempre haverá palavras que outros acham ofensivas. Deixando de lado os debates sobre terreno escorregadio, porém, é difícil argumentar contra o fato de que esses dois termos, em particular, têm claramente conotações negativas.
Acima de tudo, é importante considerar que, embora essas palavras possam não afetar você pessoalmente, elas podem ter um grande impacto em outras pessoas e na maneira como pensam. A comunidade de código aberto é construída em torno da colaboração, então, se pudermos melhorar o ambiente e torná-lo mais amigável para todos substituindo algumas palavras, então talvez faça sentido fazê-lo.
Como Projetos de Código Aberto Estão Desencorajando o Uso de Termos de Codificação Problemáticos
O debate em torno dos termos mestre e escravo existe há tanto tempo que várias empresas já tomaram medidas para abordá-lo. IBM e Microsoft, por exemplo, usam as palavras primário e réplica quando se referem a bancos de dados em sua documentação.
Quanto a projetos de código aberto, Python, Drupal e Django já eliminaram completamente esses termos de suas documentações. Python seguiu o mesmo caminho que Microsoft e IBM, utilizando primário e réplica. Django, por outro lado, optou por implementar os termos líder e seguidor.
Esses são apenas os exemplos mais destacados que conseguimos encontrar. Há também muitos projetos menores que tomaram medidas para abordar a controvérsia. Além disso, o fato de vários grandes players do mundo tecnológico concordarem que o uso desses termos deve ser levado a sério envia um sinal claro de que outros provavelmente seguirão o mesmo caminho.
No final, se devemos substituir os termos master e slave é uma decisão pessoal de cada desenvolvedor. Se você faz parte de um projeto de código aberto, pode ser mais difícil alcançar um consenso. No entanto, pode ser melhor que caminhemos para substituir esses termos nos círculos de desenvolvedores. Afinal, o ethos de código aberto é um de acessibilidade para todos, o que é difícil de alcançar quando termos comumente usados podem afastar uma parte da comunidade potencial.
Você Acha que os Termos de Codificação Problemáticos Devem Ser Alterados?
Os termos master e slave são comuns quando se trata de computação. Para muitas pessoas, as palavras não carregam conotações negativas, já que têm significados muito específicos dentro do mundo de TI. No entanto, é impossível negar o seu peso histórico. Com isso em mente, sempre haverá pessoas que consideram o uso casual de ambos os termos na codificação problemático.
Embora mudar os termos que usamos na programação possa parecer inconveniente, é possível e relativamente simples. O fato de vários projetos bem conhecidos como Python e Drupal estarem tomando medidas para eliminar o uso de master e slave é já um grande passo. Livrar-se desses termos não é apenas uma boa jogada de RP, mas também torna a comunidade mais amigável para aqueles que podem achá-los pessoalmente ofensivos.
Você acha que faz sentido substituir termos problemáticos de codificação na linguagem de desenvolvimento de software? Compartilhe suas ideias conosco no Facebook ou Twitter.