名前に関するプログラマーの誤解

XNUMX週間前、「プログラマーの時間に関する誤解」は、XNUMX年前に出版されたパトリック・マッケンジーによるこの古典的なテキストに構造とスタイルが基づいています。 当時のメモは聴衆から非常に好意的に受け入れられたため、名前と姓に関する元の記事を翻訳することは明らかに理にかなっています。

今日のジョン・グラハム=カミング 不平を言いました 彼のブログでは、彼が作業していたコンピュータシステムが無効な文字のために彼の姓を受け入れなかったと述べています。 もちろん、無効な文字はありません。なぜなら、人が自分自身を表現する方法はすべて、定義上、適切な識別子だからです。 ジョンはこの状況について大きな不満を表明しており、彼にはそうする権利がある。 名前は私たちの個性の本質です, ほぼ定義通り.

私は日本に数年間住んでおり、専門的にプログラミングをしていて、自分に電話をかけるだけで多くのシステムを壊しました。 (ほとんどの人は私のことをパトリック・マッケンジーと呼びますが、多くのコンピューター システムではそのいずれも受け入れられませんが、私は XNUMX つの「フル」ネームのいずれも正しいものとして受け入れます。) 同様に、私は世界規模でビジネスを展開する大企業で働いており、理論上はあらゆる名前に合わせてシステムを設計してきました。 それで、 名前を正しく処理するコンピューター システムを XNUMX つも見たことがありませんし、そのようなシステムがどこにも存在するとは思えません。.

そこで、皆さんのために、システムが人の名前に関して行う可能性のある仮定のリストをまとめました。 これらの仮定はすべて間違っています。 次回システムを設計するときは、少なくともリストを減らすようにしてください。

1. 各人は XNUMX つの正規のフルネームを持っています。
2. 各人は使用するフルネームを XNUMX つ持ちます。
3. 特定の時点で、各人は XNUMX つの正規のフルネームを持ちます。
4. 特定の時点で、各人は XNUMX つのフルネームを使用します。
5. N の値に関係なく、各人はちょうど N 個の名前を持っています。
6. 名前は一定の文字数に収まります。
7. 名前は変更されません。
8. 名前は変更されますが、それは特定の限られた場合にのみです。
9. 名前は ASCII で書かれます。
10. 名前は XNUMX つのエンコーディングで書き込まれます。
11. すべての名前は Unicode 文字に対応します。
12. 名前では大文字と小文字が区別されます。
13. 名前では大文字と小文字が区別されません。
14. 名前に接頭辞や接尾辞が含まれる場合がありますが、それらは無視しても問題ありません。
15. 名前には数字は含まれません。
16. 名前を大文字で書くことはできません。
17. 名前全体を小文字で書くことはできません。
18. 名前には順序があります。 すべてのシステムが同じ順序付けスキームを使用している場合、レコード順序付けスキームの XNUMX つを選択すると、すべてのシステム間で自動的に一貫した順序が得られます。
19. 姓と名は必ず異なります。
20. 人々は親戚に共通する姓またはそれに類似したものを持っています。
21. 人の名前はユニークです。
22. 人の名前 殆ど ユニーク。
23. わかりました、わかりました。しかし、名前は非常にまれであるため、同じ姓名を持つ人が XNUMX 万人もいないわけではありません。
24. 私のシステムは中国からの名前を決して処理しません。
25. あるいは日本。
26. あるいは韓国。
27. またはアイルランド、イギリス、アメリカ、スペイン、メキシコ、ブラジル、ペルー、スウェーデン、ボツワナ、南アフリカ、トリニダード、ハイチ、フランス、クリンゴン帝国 - これらはすべて「奇妙な」命名スキームを使用しています。
28. クリンゴン帝国なんて冗談ですよね?
29. 文化相対主義なんてクソだ! メンイン 私の社会、少なくとも一般的に受け入れられている名前の標準について同じ考えを持っています。
30. 名前を損失なく一方的に変換するアルゴリズムがあります。 (はい、はい、これはできます。アルゴリズムの出力が入力と同じであれば、メダルを獲得してください)。
31. この卑猥な言葉の辞典には姓は含まれていないと確信してよい。
32. 人は生まれたときに名前を与えられます。
33. そうですね、生まれた時ではないかもしれませんが、その後すぐです。
34. わかりました、わかりました、XNUMX 年以内に。
35. XNUMX年?
36. 冗談でしょ?
37. 同じ人の名前をリストする XNUMX つの異なるシステムでは、その人に同じ名前が使用されます。
38. システムが適切に設計されていれば、XNUMX 人の異なるデータ入力オペレーターが人の名前を与えられた場合、確実に同じ文字セットを入力します。
39. 私のシステムを壊す名前を持つ人々は、奇妙な見知らぬ人です。 田中太郎のような、普通の受け入れられる名前を付ける必要があります。
40. 人には名前があります。

このリストは決してすべてを網羅しているわけではありません。 これらの点に反論する実名の例が必要な場合は、喜んで提供させていただきます。 コメント欄にこの誤解リストに関する箇条書きを自由に追加してください。次回、first_name 列と last_name 列を含むデータベースを作成するという素晴らしいアイデアを思いついたときに、このリストへのリンクを他の人に送信してください。

出所: habr.com

コメントを追加します