Equívocos dos programadores sobre nomes

Há duas semanas, uma tradução de “Equívocos dos programadores sobre o tempo", que se baseia em estrutura e estilo neste clássico texto de Patrick Mackenzie, publicado há dois anos. Como a nota sobre a época foi recebida de forma extremamente favorável pelo público, obviamente faz sentido traduzir o artigo original sobre nomes e sobrenomes.

John Graham-Cumming hoje reclamou em seu blog que o sistema de computador com o qual ele trabalhava não aceitava seu sobrenome devido a caracteres inválidos. É claro que não existem caracteres inválidos, porque qualquer forma como uma pessoa se representa é - por definição - um identificador apropriado. John expressou grande frustração com a situação, e ele tem todo o direito de fazê-lo, porque o nome é a essência da nossa individualidade, quase por definição.

Morei no Japão por vários anos, programando profissionalmente, e quebrei muitos sistemas apenas ligando para mim mesmo. (A maioria das pessoas me chama de Patrick McKenzie, mas aceito qualquer um dos seis nomes “completos” como correto, embora muitos sistemas de computador não aceitem nenhum deles.) Da mesma forma, trabalhei para grandes corporações que fazem negócios em escala global e, em teoria, projetei seus sistemas para todos os nomes possíveis. Então, Não vi um único sistema de computador que lide com nomes corretamente e duvido que tal sistema exista em qualquer lugar.

Então, para o bem de todos, compilei uma lista de suposições que seu sistema provavelmente fará sobre os nomes das pessoas. Todas essas suposições estão erradas. Tente pelo menos reduzir a lista na próxima vez que projetar um sistema.

1. Cada pessoa tem um nome completo canônico.
2. Cada pessoa tem um nome completo que usa.
3. Em um determinado momento, cada pessoa tem um nome completo canônico.
4. Num determinado momento, cada pessoa tem um nome completo que utiliza.
5. Cada pessoa tem exatamente N nomes, independentemente do valor de N.
6. Os nomes cabem em um certo número de caracteres.
7. Os nomes não mudam.
8. Os nomes mudam, mas apenas em alguns casos limitados.
9. Os nomes são escritos em ASCII.
10. Os nomes são escritos na mesma codificação.
11. Todos os nomes correspondem a caracteres Unicode.
12. Os nomes diferenciam maiúsculas de minúsculas.
13. Os nomes não diferenciam maiúsculas de minúsculas.
14. Às vezes há prefixos ou sufixos nos nomes, mas você pode ignorá-los com segurança.
15. Os nomes não contêm números.
16. Os nomes não podem ser escritos em letras MAIÚSCULAS.
17. Os nomes não podem ser escritos inteiramente em letras minúsculas.
18. Existe ordem nos nomes. A seleção de um dos esquemas de ordenação de registros resultará automaticamente em uma ordem consistente entre todos os sistemas se todos usarem o mesmo esquema de ordenação.
19. O nome e o sobrenome são necessariamente diferentes.
20. As pessoas têm sobrenome ou algo semelhante comum aos parentes.
21. O nome de uma pessoa é único.
22. Nome da pessoa quase exclusivo.
23. Ok, ok, mas nomes são raros o suficiente para que não haja um milhão de pessoas com o mesmo nome e sobrenome.
24. Meu sistema nunca lidará com nomes da China.
25. Ou Japão.
26. Ou Coreia.
27. Ou Irlanda, Grã-Bretanha, EUA, Espanha, México, Brasil, Peru, Suécia, Botswana, África do Sul, Trinidad, Haiti, França, o Império Klingon - todos os quais usam esquemas de nomenclatura "estranhos".
28. O Império Klingon era uma piada, certo?
29. Maldito relativismo cultural! Homens em minha sociedade, pelo menos têm a mesma ideia de um padrão geralmente aceito para nomes.
30. Existe um algoritmo que converte nomes de uma forma ou de outra sem perdas. (Sim, sim, você pode fazer isso, se a saída do algoritmo for igual à entrada, ganhe uma medalha).
31. Posso presumir com segurança que este dicionário de palavras obscenas não contém sobrenomes.
32. As pessoas recebem nomes ao nascer.
33. OK, talvez não no nascimento, mas logo depois.
34. Ok, ok, dentro de um ano ou mais.
35. Cinco anos?
36. Você está brincando, certo?
37. Dois sistemas diferentes que listam o nome da mesma pessoa usarão o mesmo nome para essa pessoa.
38. Dois operadores de introdução de dados diferentes, se receberem o nome de uma pessoa, irão certamente introduzir o mesmo conjunto de caracteres se o sistema for bem concebido.
39. Pessoas cujos nomes quebram meu sistema são estranhos. Eles devem ter nomes normais e aceitáveis, como 田中太郎.
40. As pessoas têm nomes.

A lista não é de forma alguma exaustiva. Se você quiser exemplos de nomes reais que refutem algum desses pontos, ficarei feliz em fornecê-los. Sinta-se à vontade para adicionar mais marcadores para esta lista de equívocos nos comentários e enviar às pessoas um link para esta lista na próxima vez que tiverem uma ideia brilhante de criar um banco de dados com colunas first_name e last_name.

Fonte: habr.com

Adicionar um comentário