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

2週間前、Habréで「 プログラマー時間に関する誤解 」の翻訳が公開されました。これは、2年前に公開されたPatrick Mackenzieによるこの古典的なテキストに基づいています。 タイムノートは聴衆に非常に好意的に受け取られたため、名と姓についての元の記事を翻訳することは明らかに理にかなっています。



John Graham-Cumming 今日、彼のブログで、使用しているコンピューターシステムが無効な文字のために姓を受け入れなかったと不満を述べました。 もちろん、無効な文字はありません。定義上、人が自分自身を提示する方法が適切な識別子であるためです。 ジョンはこの状況について大きな失望を表明しました。彼はすべての権利を持っています。なぜなら、その名前は私たちの人格の本質でありほとんど定義上そうです。



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



だから、すべての善のために、私はあなたのシステムがおそらく人々の名前について作ることができる仮定のリストをまとめました。 これらの仮定はすべて誤りです。 次回システムを設計するときは、少なくともリストを減らすようにしてください。



1.各人には、正規のフルネームが1つあります。

2.各人が使用するフルネームが1つあります。

3.この時点で、各人には正規のフルネームが1つあります。

4.この時点で、各ユーザーは1つのフルネームを使用しています。

5.各人は、Nの値に関係なく、正確にN個の名前を持ちます。

6.名前は特定の文字数に収まります。

7.名前は変更されません。

8.名前は変更されますが、特定の限られた場合のみです。

9.名前はASCIIで書かれています。

10.名前は任意の1つのエンコードで書き込まれます。

11.すべての名前はUnicode文字に対応しています。

12.名前は大文字と小文字が区別されます。

13.名前は大文字と小文字が区別されません。

14.プレフィックスまたはサフィックスが名前に表示される場合がありますが、無視しても問題ありません。

15.名前には数字が含まれていません。

16.名前を大文字で書くことはできません。

17.名前を小文字で書くことはできません。

18.名前には順序があります。 すべてのシステムが同じ順序スキームを使用している場合、記録順序スキームのいずれかを選択すると、すべてのシステム間で自動的に一定の順序になります。

19.名前と姓は必ず異なります。

20.人々には、親nameに共通する姓または類似の名前があります。

21.人の名前は一意です。

22.人の名前はほとんど一意です。

23.わかりました、わかりました、しかし名前は十分にまれなので、同じ名前と姓を持つ百万人はいません。

24.私のシステムは中国からの名前を決して扱いません。

25.または日本。

26.または韓国。

27.または、アイルランド、英国、米国、スペイン、メキシコ、ブラジル、ペルー、スウェーデン、ボツワナ、南アフリカ、トリニダード、ハイチ、フランス、クリンゴン帝国-これらはすべて「奇妙な」名前スキームを使用しています。

28.クリンゴン帝国は冗談でしたよね?

29.文化相対主義で地獄へ! 私の社会の人々は少なくとも、一般的に認められている名前の基準という同じ考えを持っています。

30.損失なく名前を一方と他方に変換するアルゴリズムがあります。 (はい、はい、出力アルゴリズムが入力と同じを返す場合、これを行うことができます、自分でメダルを取ります)。

31.このわいせつな単語の辞書には姓が含まれていないと自信を持って推測できます。

32.名前は出生時に与えられます。

33. OK、おそらく出生時ではなく、かなり後のことです。

34.わかりました、わかりました、1年ほど。

35. 5年ですか?

36.冗談だろ?

37.同じ人の名前が示されている2つの異なるシステムは、同じ名前を使用します。

38.システムが適切に設計されている場合、2つの異なるデータ入力演算子は、人の名前が与えられた場合、必ず同じ文字セットを入力します。

39.名前が私のシステムを壊す人々は奇妙な見知らぬ人です。 田中太郎のように、通常の受け入れ可能な名前を付ける必要があります。

40.人々には名前があります。



リストは決して網羅的ではありません。 これらの点のいずれかに反論する本名の例が必要な場合は、喜んで名前を付けます。 この誤解のリストのコメントに他のポイントを追加し、次にfirst_name列とlast_name列を持つデータベースを作成するための独創的なアイデアを思いついたときにこのリストへのリンクを送信できます。



All Articles