本の虫

著者:江添亮
GitHub pages: https://ezoeryou.github.io/blog/
Blogger: http://cpplover.blogspot.jp/
メール: boostcpp@gmail.com
Twitter: https://twitter.com/EzoeRyou
GitHub: https://github.com/EzoeRyou

アマゾンの江添のほしい物リストを著者に送るとブログ記事のネタになる

筆者にブログのネタになる品物を直接送りたい場合、住所をメールで質問してください。

兵庫県警は魔法と科学の区別がつかない:JavaScriptプログラムによる補導が間違っている件について

不正プログラム書き込み疑い補導|NHK 兵庫県のニュース

クリックすると同じ画面が表示され、消えなくなる不正なプログラムのアドレスをインターネットの掲示板に書き込んだとして、13歳の女子中学生が兵庫県警に補導されました。

兵庫県警は魔法と科学の区別がついていない。そのようなJavaScriptプログラムには何の問題もなく、問題はそれを閲覧したユーザー側のブラウザーにある。

「クリックすると同じ画面が表示され、消えなくなる不正なプログラム」というのがどのように実装されていたかは知らないが、最も簡単で原始的なものは、アラートを繰り返し表示し続けるプログラムだ。

while (true) alert("Hello") ;

このプログラムを実行すると、アラートが繰り返し表示され続ける。ところで、このプログラムを実行しているのは閲覧者のコンピューターとブラウザーだ。このプログラムを提供したものの責任ではない。このプログラムを実行する時、閲覧者は上の文字列を受け取る。それだけだ。その文字列をどうするかは閲覧者の責任だ。閲覧者のブラウザーは上記の文字列を解釈して、あらかじめ定められた規則に従い処理を行う。つまりプログラムを実行するのは閲覧者の責任であって提供者の責任ではない。なぜならば提供者は単なる文字列を提供しているだけなのだから。それを予め定められた規則に従って解釈して実行するのは閲覧者のコンピューターとそしてブラウザーの責任だ。

ブラウザーはJavaScriptを極めて安全な方法で実行する。Coinhiveもそうだが、WebブラウザーがJavaScriptプログラムを実行するにあたって問題は一切ない。もし問題があるとするならば、それはブラウザーの不具合かハードウェアの不具合だ。Webブラウザーは任意のJavaScriptプログラムを安全に実行できるように実装されている。上のプログラムにしたって、古典的すぎるのでブラウザーはとっくの昔に対処している。

もし、上のプログラムが問題を起こすとしたならば、それはブラウザーがハードウェアの不具合であって、提供者の責任ではない。コンピューターは魔法ではないのだ。

したがって、兵庫県警は魔法と科学の区別がついていない。