INASOFT 管理人のひとことフリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。 2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。 ・INASOFT Webサイト: https://www.inasoft.org/ ・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/ 2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32] Tweet ■『エラー』表示が怖い、委縮させてしまう2024年 6月24日(月) 21:48:30 |
RSS配信中 | |
先日、SNSで「18÷0=0」と書かせる小学校教師がいて、数学会を震撼させた(=この教師はバカだといいたい)という話題が流行っていました。掛け算の順序と同様に、定期的に話題になりそうな気がします。 同様のことは、0の0乗とかでも生じますが、n乗という概念自体が中学以上でしか登場しないことと、中学以上では教科専門の教師が教えるということもあって、あまりトラブルはないのかもしれません。 小学校だと、正の範囲でしか物事を扱わないということもあり、「18個のリンゴを0人で分けたら、1人あたりのリンゴが無限になっちゃうでしょ」のような説明も出てきますが、これも厳密にはどうかなというところもあって、高校数学まで行くと、limには方向(右から近づけるのか、左から近づけるのか)の概念が生じて、lim[n→+0](18÷n)なのかlim[n→-0](18÷n)なのかで結果が変わってしまうとかゴチャゴチャしてくるので、僕としては無限大(+∞)とも言いたくないところではあります。 現実にコンピュータに計算をさせると、NaN(非数。Not a Number)だったり、#DIV/0 だったり、例外処理を発動したり、要はこういう計算をさせるよりも前にトラップを発動させて計算をさせず特定の結果を与えるということがよくあります。Intel x86系CPUのdiv(除算)命令で、割る数を0にして実行させると、内部割込みint 0が発生して、0番で指定されたベクタアドレスに処理(インストラクションポインタ)が飛ばされます。その後、OSだったりアプリだったりが後始末をします。コンピュータを停止(hlt)させたり、演算結果に特定の意味を与えてリターン(iret)する等。 書いた後に思ったけど、NaNは、ちょっと違うか。 と、そんな感じの話題が、YouTubeショートとかTikTokにも現れたようで(主に「こんなおバカな教師がいますよ」と揶揄するネタとして)、子供もこの問題を目にすることになりました。で、さっそく、手元にあったiPhoneで18÷0を計算させてみることにしました。すると… そういえば昨今は、コンピュータから表示される「エラー」が怖くて仕方がない、怒られている気がするという人がいます。プログラマがコンパイラからエラーを出されて「怒られる」と表現するのとは異なり、真に叱られている気分になるのだそう。むしろ修正するチャンスを与えてくれているわけですが、なんかこう、感情的に叱られている気分になり、もう続けられなくなったり、退職しようとしたりするとか。 やはり、「最近の子」だから、iPhoneから「エラー」と言われてしまうのが怖いんだなぁ……と思っていたんですが、そんなことを考えながらこの「エラー」の文字を見ていると、 なんというか「エ」という字に冷徹に睨まれて、「ラ」という字に笑われて、いや、怖いというか、嘲笑うというか、不快感というか、妙な感情が呼び起こされてきました。
これを教訓に、ソフトウェアを製作していて表示するエラーメッセージについても、過度に怖がらせないためにどういう工夫が必要かは、よく考えたいと思いました。逆に、そんな大変なことじゃないだろうと舐め腐ってるユーザーに恐怖を与えるにはどうしたらよいかというのも同時に考えたら効率が良いと思いました。(懐かしい) 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
3198111 (+0031)[+0384] Copyright© 2010-2024 INASOFT |