先日、設計者と仕様について少々議論をしました。日本語版「かけ算の順序問題」など)の問題が話題になりました。Wikipediaの説明では、「『6人のこどもに、1人4こずつみかんをあたえたい。いう式と答えを不正解にすべきか」という話です。有名な話だと思います。筆者がその問題の理非を問う資格とかはないですし、当コラムではそれについて一切述べません。なく、自分たちの中で話題になったのは、「この問題の起こり方が、仕様書を介した設計者とプログラマの間の悶着(もんちゃく)の起こり方と瓜二つだ」という点です。このところ、連投気味ですが、これについて意見をご披露いたします。値の範囲を整数と指定された。その「整数」とはどう考えても1以上の整数のことを言っているとしか思えない。それに対して、やっぱりこれは「自然数」であり、言っていることが変ではないか?という(出るべくして出た)反論が起きました。要するに、“数学の言葉を再定義している”のが原因です。「かけ算の順序」も同じことが原因だと思います(「×」の再定義が原因だと思います)。以上!」では何が問題か?まだ、小学校の授業のやり方は柔軟な対応が可能で、「こちらのやり方がだめならあちら」というふうにできるかも知れませんが、IT分野の設計者の作る仕様の場合、そうもいかないことがあります。「NULL」という言葉ですが、RDBでいうNULLを表す(試験での正解はこれだと思います)RDBでいうNULLまたは、空文字を表す(MSAccessなどで、テーブルを表示した場合、NULLが意図せず空文字に更新されてしまうことがあり、またテーブルをCSVを介して移動した場合にも、NULLが空文字になってしまう場合があるので、両方を同一視したい。VARCHAR2とかならこの問題はクリアされる)。RDBでいうNULLまたは、空文字または、半角全角スペースのみの文字列を表す(画面などで、左記3つは同じに見えるため、それらは同一視したい)。いうふうに、場合によって再定義しなければならない場合が頻繁に出ます。ここで「数学の言葉の再定義はあり得ない」とされてしまうと、設計者は動きが取れなくなりますし、プログラマも自由を奪われることになります。●解法の自然な拡張なら......。これが「再定義」でなく、「解法の自然な拡張」なら何の問題もありません。応答日を考慮した、日付と月数の足し算。月末日を考慮した、日付と月数の足し算。関数”のような)とかなら、単なる「+」と共存できると思います。そのためには名前を別の(もっと限定的な)ものにするとか引数の型で区別するとか複雑になります。プログラミングではもちろん常套手段としてやりますが、設計段階ではかえって分かりにくくなるので、やらないと思います。小学生に教える際にも同じような配慮がいるのかもしれません。自治の範囲で数学の言葉の再定義は認める。その際、責任者はその再定義について十分な配慮をする。程度の落としどころにしていただけると、本当に助かります。ITをなりわいとしている他の人も、そうだと筆者は思います。今回はこんなところです。●コラムのコメント欄の方針コメントに対し、当意即妙の回答を、それなりのタイミングでする自信がありません。このコラムで、わたしは基本的にコメントに答えないコメントを書く人は、回答がない前提で議論を進めていただくとさせていただきます。値の範囲を整数と指定された。その「整数」とはどう考えても1以上の整数のことを言っているとしか思えない。「自然数」というと、上限はない。コンピュータに入力するなら、上限がある。「値の範囲」に上限が指定されていないなら、仕様に不備がある。「「100未満の自然数」という書き方が出来るだろ」ということは、ある。「かけ算の順序」も同じことが原因だと思います(「×」の再定義が原因だと思います)。RDBでいうNULLを表す(試験での正解はこれだと思います)わからん。RDBでいうNULLまたは、空文字または、半角全角スペースのみの文字列を表す(画面などで、左記3つは同じに見えるため、それらは同一視したい)。ええ!!そうなの?空文字列と半角全角スペースのみの文字列が同じに見えるから同一視したいですって?じゃぁ、"A\08"は?いくつかのコントロールコードは、「見た目」は「なにもない」よね。それが違うものだって事は、プログラマなら、意識するよね。事を忘れないようにすることですね(笑)。他のことは「推して知るべし」ですよね。12:27≪...“数学の言葉を再定義している”...≫について、⦅自然数⦆を[絵本]「もろはのつるぎ」のように観るのはどうでしょう。名前を記憶しておくコメント:くわぢ初めてのPCはMZ-80Cでした。終わるまで」とか習わされました。あなたはどこ見ていますか?書籍「誰でも身につく!暗算力」を読んでみた。未成年者略取ムチャか?男気か?部下も立て続けに。利用規約ITmediaはアイティメディア株式会社の登録商標です。