最近ちょっと話題になっている「通信の最適化の問題についての議論?」を読んで、色々考えた。むしろ関係の薄い、周辺のことを中心に。
昔、まだがりがりコードを書いていた頃、Haskellに出会った頃でもあるし、JavaScriptが盛大にディスられていたころでもあった。話はそこまでさかのぼる。
その頃、僕は大西科学、というテキストサイトを愛していて、ちょこちょこ掲示板なんかにも顔を出していた。もう15年以上前のことだ。ごくごく当たり前のことについて、ちょっと違った意味を見出して行く観点がとても魅力的だった。その中でも印象的なのは、記憶はちょっと薄らいでいて精確な引用では無いけれど、「子供ができてから、過去をやり直したいとは思わなくなった。数億匹の精子の競争の結果は、時間を巻き戻したら、まずもって同じ結果にはならない。だから、今の子供ではない別の子供に変わってしまうからだ」という話だ。もちろん、このあたりが単純に数億という話で良いのかは疑問で、精子の性能にはそもそもかなり幅があって、優秀な奴と劣った奴の差は歴然としていたり、最近の研究では、切込隊長と卵子突撃本隊みたいな役割分担があるという話もあったりするので、もしかしたら勝ち目のある奴は数十~数百分の一くらいまで絞られるかも知れない、というのはあるものの、しかし、受精の仕組みの意味、歴史をやり直す意味、について、ちょっと新しい認識を抱かせる観点だと思う。僕がシュタゲって面白いと思うのに乗り切れないのは、子持ちで、かつ、この話が刺さってしまったからだと思う。でも、それはすげー関係ないね。でも、この「観点と意味」という、自明なようで、人によって異なるがゆえに扱いづらいモノが、冒頭で眺めたようなディスコミニュケーションの根底にあるような気がする。
同一性を保証できることを前提としてプログラミングしていると困るじゃん、という主張は分からないでもないのだが、性能のために一般ユーザには体感できないレベルの劣化があっても良いじゃん、という主張に対する反論にはならないと思う。すれ違いだ。どっちにも理があるけど、噛み合っていないだけ、だと思うんだ。アプリ屋とインフラ屋の主張としてどちらにも理はあって、だとすれば(ユーザの声の総和も含めた)力関係で決まるものだと思う。同一性が保証できないことの「セキュリティ上の意味」はまた別で、そこまで言及するのはめんどいので触れない。でも、shi3z氏はそういうズレを自覚してか無意識でなのか、反論をするわけじゃなくて、一貫して相手にせずにからかうようなスタンスで返しているから、噛みついた方が荒ぶることになってるように見えた。
僕なりにインフラ側を擁護?してみるとさ、要は結局データレベルでの同一性を保証できたとして、そんなにできること多くなくね? 「ふつーのユーザ」にとっては何もかわらんのだし、というのが根本なんじゃないかと思う。
違うけど共通点がある例を挙げると更にずれた反論を食らうので、びくびくしながら書くけどさ、GPSから得られるデータはノイジーだけど(まあこの場合わざとノイジーにしているわけじゃないけど)それを何とかするためにWifi基地局の位置とか加速度センサの積算とかで補正するよね。Wifi基地局の位置が間違ってる時もあるけど、いちいち文句付けててもキリが無いから、なんとかするよね。そーゆー所与のもんとして受け入れれば良いだろ、だって「ふつーのユーザ」に対しての責任は果たしてるんだからさ、ってのがインフラ屋側に立った主張なんだと思う。だって、HASHが一致したとして何が保証されるの? なりすましが同一のデータを中継してログを取ってたって分かんないし、良いとこアプリ屋自身のデプロイミスを検出できるだけじゃね?
とはいえ、同一性が保証されないのは、アプリ屋として不便だよな、というのは分かる。超分かる。でも、もっと極端な話、「ネットワークが重くなったら画像をモノクロ2階調にします」とか「共用のキャッシュにないデータは当分レスポンス返しません」っていう仕様になったって、それはそれでエンドユーザとしては助かる場面もあるかと思うし、アプリ屋側に完全に立つことはできないね。
嫌な気分になったのはむしろここだ
何だかローレベルの技術のほうが技術レベルが高いかのような言い方をしてしまうのは、世の中にとって良くないよな。あるいは、上流と下流が分かれば中間も分かるはず、という誤認識をさせたかったのかも知れないけど、それも誤謬だよね。これは、からかいであれ何であれ、良くない。たぶん噛みついた側も乗せられちゃってるのか、そう思っているのか、shi3z氏も本気なのかネタなのか分かりにくいんだけど、でも、こういう、ともすると定着しかねない誤謬を広めるのはやめて欲しい。「通信をビットレベルで扱う」のって、今回の議論の対象のレイヤーよりだいぶローレベルだよね。明らかに違うレイヤだよね。「離散コサイン変換」の実装みたいな、意味が分からなくてもできる行為を引き合いに出すのは何を暗に示そうとしているのか理解に苦しむ。
技術というカテゴリを超えた話にはなるけれど、例えば、経営という領域は、ローレベルな技術の対極にある。数学だの物理だのの理論的ベースがあって、メカトロとかデバイスドライバとか通信プロトコルとかカーネルとか比較的ローレベルの技術があって、彼らの技術のユーザとしてライブラリ書きがいて、アプリケーションフレームワーク書きがいて、アプリ書きがいて、ここからはあんまりレイヤとして語りにくく、ティアとレイヤが入り交じってるけど、インターフェースとかもあって、脇にはプロジェクトマネジメントとかがありつつ、更に脇に簿記・経理があって、会計があって、別のティアとして知財とか法務とかもあって、営業やマーケティングもあって、それぞれがそれぞれの下にあるレイヤを道具としてカプセル化したものを使っている。で、そういうもんをさらに道具として使うのが経営だよね。中間レイヤも上流も下流も、それぞれに特有の困難さがある。
別に素粒子物理学と社会学を深く理解しているからといって、その中間のレイヤー全てに通暁していることにはならない。医学とかね。だから、両端に詳しいから、中間も分かるよ、っていうのをからかいとして使うんだったら、もっと極端なナンセンスにすべきだと思うな。
んー、なんか、説明しにくいね。諧謔って、意図を一つに絞りづらい。だから、ここでは2つの可能性を仮に挙げて、両方「うーん」と書いてみたわけなんだけど、どっちにせよ伝わんないんなら、片方に絞って書くか、あるいはそもそも初めから何も書かない方が良いんだろうか。かつて愛読していたコンビニ店長のブログみたいに、おしっこの話を織り交ぜてこういうのを書ければもっと楽しい文章になる気がするのだが、あんな文才は残念ながら持ち合わせてはいない。
結論
なんか、つまんない気がするぞ。荒れたら速攻消すけど、とりあえず、結論をシンプルに書いておこう。 今期は「がっこうぐらし」と「監獄学園」と「それが声優!」をおっかけようかと思います。 「がっこうぐらし」は掴みは上々なので、後は叙情的な要素が強くなっていったら最高だと思うな。先生の話とかを通じてね。では。なお、 アニメに関係の無いコメントはめんどくさいので消す のでよろしく。記事ごと消すか、コメントだけ消すかは気分次第。まあ、「カッとなって書いた」ってやつですよ。