程式設計師對名稱的誤解

兩週前,翻譯了“程式設計師對時間的誤解”,該書的結構和風格以帕特里克·麥肯齊兩年前出版的這部經典文本為基礎。 由於有關時間的註釋受到了觀眾的極大好評,因此翻譯有關名字和姓氏的原始文章顯然是有意義的。

今天的約翰·格雷厄姆·卡明 抱怨 在他的部落格上表示,由於字元無效,他正在使用的電腦系統不接受他的姓氏。 當然,不存在無效字符,因為根據定義,一個人代表自己的任何方式都是適當的標識符。 約翰對這種情況表示非常沮喪,他完全有權這樣做,因為 名字是我們個性的本質, 幾乎按照定義.

我在日本生活了幾年,專業編程,僅僅通過調用自己就破壞了很多系統。 (大多數人叫我帕特里克·麥肯齊,但我接受六個“全名”中的任何一個都是正確的,儘管許多計算機系統不接受其中任何一個。) 同樣,我曾為在全球範圍內開展業務的大型公司工作過,理論上,我已經為每一個可能的名稱設計了他們的系統。 所以, 我還沒有見過任何一個電腦系統能夠正確處理名稱,而且我懷疑這樣的系統是否存在於任何地方.

因此,為了每個人的利益,我整理了一份您的系統可能對人名做出的假設清單。 所有這些假設都是錯的。 下次設計系統時,至少嘗試減少清單。

1. 每個人都有一個規範的全名。
2. 每個人都有自己使用的全名。
3. 在某一特定時間點,每個人都有一個規範的全名。
4. 在某一特定時間,每個人都有一個自己使用的全名。
5. 每個人都有N個名字,無論N的值是多少。
6. 名稱符合一定數量的字元。
7. 姓名不變。
8. 名稱變更,但僅限於某些有限的情況。
9. 名稱以 ASCII 書寫。
10. 名稱以一種編碼方式書寫。
11. 所有名稱均對應 Unicode 字元。
12. 名稱區分大小寫。
13. 名稱不區分大小寫。
14. 有時名稱中會有前綴或後綴,但您可以安全地忽略它們。
15. 名字中不包含數字。
16. 姓名不能用全部大寫字母書寫。
17. 名字不能全部用小寫字母書寫。
18. 名字有順序。 如果所有系統都使用相同的排序方案,選擇其中一種記錄排序方案將自動導致所有系統之間的順序一致。
19. 名字和姓氏必然不同。
20. 人們有親戚共有的姓氏或相似的名字。
21.一個人的名字是獨一無二的。
22. 姓名 幾乎 獨特的。
23. 好吧,好吧,但是名字非常罕見,沒有一百萬人擁有相同的名字和姓氏。
24. 我的系統永遠不會處理來自中國的名字。
25. 或者日本。
26. 或者韓國。
27. 或愛爾蘭、英國、美國、西班牙、墨西哥、巴西、秘魯、瑞典、波札那、南非、特立尼達、海地、法國、克林貢帝國——所有這些國家都使用「奇怪的」命名方案。
28. 克林貢帝國是個笑話,對吧?
29.該死的文化相對主義! 男人在 我的社會,至少對於名字的普遍接受的標準有同樣的想法。
30. 有一種演算法可以無損地以一種或另一種方式轉換名稱。 (是的,是的,你可以這樣做,如果演算法的輸出與輸入相同,就給自己拿一枚獎牌)。
31. 我可以自信地假設這本淫詞字典不包含姓氏。
32. 人們在出生時就被賦予了名字。
33. 好吧,也許不是出生時,但不久之後。
34. 好吧,好吧,大約一年之內。
35.五年?
36.你在開玩笑吧?
37. 列出同一個人姓名的兩個不同系統將對該人使用相同的姓名。
38. 如果系統設計得好,兩個不同的資料輸入操作員,如果給出一個人的名字,肯定會輸入相同的字元集。
39. 名字破壞我的體制的人都是陌生的人。 他們應該有正常的、可接受的名字,例如田中太郎。
40.人有名字。

該清單絕不是詳盡無遺的。 如果您想要反駁這些觀點的真實姓名範例,我很樂意提供。 請隨意在評論中為這個誤解列表添加更多要點,並在人們下次想出一個創建包含名字和姓氏列的數據庫的好主意時向他們發送一個指向此列表的鏈接。

來源: www.habr.com

添加評論