株式会社Spelldata

〒100-0004
東京都千代田区大手町一丁目7番2号
東京サンケイビル27階
Tel: 03-3242-3150
Fax: 050-3488-8836
営業時間: 土日・祝日を除く 9:00〜17:30

良き海外の技術書を読む

異端者として

2019年1月1日
著者: 竹洞 陽一郎

新年あけましておめでとうございます。
今年もどうぞよろしくお願いします。

2019年の元日を迎えて、今年一年の抱負と共に、今考えている事を綴ってみます。

How JavaScript Works

年末に、Douglas Crockford氏の「How JavaScript Works」がアメリカから届きました。
Douglas Crockford氏は、オライリーの「JavaScript: The Good Parts」を執筆された方で、JSON(JavaScript Object Notation)の発見者です。

この本は、JavaScriptの言語仕様について解説した本で、どのようにJavaScriptのエンジンで実行されるかという話ではなく、言語仕様上の問題点を洗い出したものです。
読みやすく、分かりやすい文体ですし、内容も素晴らしいので、JavaScriptで実装をされている方にはお勧めの本です。

この本の前書きにあたる、「Chapter 0: Read Me First!」の「Heresy」(異端)という箇所で、ハッとさせられる文章がありました。

This book about a programming launguage will make some people angry. I am a harbinger of the next paradigm, and that is threatening to the keepers of the old paradigm. I am used to this. I was attacked when I discorverd that JavaScript has good parts, which turned out to be the first important discovery of the 21st century. I was attacked when I discovered JSON, which is now the world's best loved data interchange format.

Communities from around shared beliefs, and communities can provide benefits to their members even when those beliefs are wrong. Communities can feel threatened when those beliefs are questioned. I am a heretic. I value the pursuit of truth over the benefits of community. That is offensive to some people.

(このプログラミング言語についての本に、怒る人達もいるだろう。 私は次のパラダイムの先駆者であり、古いパラダイムを大事にする人達には脅威だ。 以前からずっとそうだ。 私が、21世紀の最初の重要な発見となった、JavaScriptには良い部分がある事を発見した時、私は攻撃された。 私が、今では世界中で愛されているデータ交換フォーマットであるJSONを発見した時、私は攻撃された。

共有された信じられている事にコミュニティは集い、コミュニティは、その信じられている事がたとえ間違っていても、コミュニティのメンバーに利益を提供できる。 コミュニティは、それらの信じられている事に疑問を持たれた時、脅威を感じる。 私は異端者だ。 私は、コミュニティの利益より真実の追求に価値を見出す。 それを攻撃と受け取る人々がいる。)

これは、今、正に私が直面している事です。

「ベストプラクティス」という夢のレシピ

「高速化のためのベストプラクティス」と呼ばれるものは、美味しい料理のレシピのように魅力的です。
コンピュータ科学、ソフトウェア工学、品質管理などの知識が無くても、手軽にWebサイトを高速化できると言うのです。
しかも、無料の検証ツールを使えば、お金が殆ど掛かりません。

Googleのような著名で権威ある最先端企業が、それを勧めているのです。

しかし、コンピュータ科学では、このような名言があります。

Garbage in, garbage out.
(ゴミなデータからは、ゴミな結果しか出ない)

これは、1957年11月10日に掲載された、アメリカ陸軍のウィリアム・メイリンが、アメリカ陸軍の数学者たちが初期のコンピュータでした仕事について解説した新聞記事で書かれたものです。
("Work With New Electronic 'Brains' Open Fields for Army Math Experts" 閲覧には料金が掛かります。)

自動診断は素晴らしい。
しかし、その自動診断が、何を見て診断しているかが問題です。
もし、的外れなものを見ていたり、診断基準が間違っている場合には、当然ながら、高速化には繋がりません。

去年、新規でお付き合いしたお客様も、皆さん、共通して

という話から始まり、疑心暗鬼になっていて、契約時には必ず高速化する、高速化されなかったら返金するという条項を入れてくれと求めてきました。
(Spelldataは、結果にコミットし、高速化の保証をしています。)

契約を終えて、プロジェクトがスタートしても、私達が提案する内容について、「本当なの?」という疑いの雰囲気は何となく漂っています。
それがプロジェクトの最初の1か月で消え始めます。
毎日、前日の計測データのレポートを送っていますから、施策を行う事で、どんどん表示速度の数値が変わっていくのが分かるからです。

People see what they want to see and what people want to see isn’t always the truth.
― Roberto Bolano

人々は見たいものを見る。そして人々が見たいものが常に真実とは限らない。
― ロベルト・ボラーニョ(チリの小説家)

お手軽で、すぐに効果があると、権威ある人や機関から言われた事は、とても魅力的です。
すぐに飛びつきたくなるでしょう。
しかし、大事なのは、因果関係です。

ベストプラクティスで推奨されている事は、原因と結果に、きちんと矢を引く事ができるのでしょうか?
いいえ、インターネットや携帯網がどんどん変化しているので、状況が変わっています。
2~3年前の状況に基づいて作られたベストプラクティスは、既に役に立たないのです。

大事なのは、真の遅延の原因を追究し、それを解決することです。
それは、お手軽な自動診断ツールでは決して見つけ出す事は出来ないのです。

真実を追求する価値

私は、今、日本のWeb技術者のコミュニティで言われている「高速化技法」について、効果がないと否定しています。

それは、年間数百万円のお金を掛けて、きちんと検証を行った結果だからです。
誰かが言っている事、どこかの会社が提供しているサービスの遅延の問題を指摘するのは、相当に神経を使います。
間違った指摘だったなら、問題だからです。

ですから、間違っているとか、遅いという事を指摘する場合には、入念に証拠を固めます。
それには、お金と時間が掛かるのです。

この話をWeb制作会社にすると、「うちはそんな予算がない」と言われる事が多いです。
だから、無料のツールや計測サービス、もしくは安い計測サービスが良いと言われます。
しかし、無料のツールや計測サービス、格安の計測サービスのデータが間違っている場合には、その人達はお金と引き換えに正しさを売り渡している事に気づいて欲しいのです。

私は、お金がかからない、そして効果がない「高速化のベストプラクティス」のコミュニティの間違いを指摘するのは気が滅入る事ですが、それでも真実を追求する方が価値があると信じています。
何故なら、エンジニアにとっては、品質の結果が全てです。
真に高速化を達成できないのであれば、いたずらに時間と労力を費やしたに過ぎません。

私は、魂を売るつもりはなく、自分の仕事に責任と誇りを持って従事し、きちんと結果を出したいです。
そして、私は、きっと同じ想いのエンジニアや制作会社がいると信じています。
そういう方たちと一緒に、統計的品質管理を推進するコミュニティをつくり、製造業のようにWebの業界にも普及させて、業界を発展させていきたいと考えております。


[前のページに戻る]