今話題の「数学的基礎」を教える記事を読んだ

ふとTwitterを眺めていると、こんな記事に対するツイートが流れてきた。

関数型言語 - 関数、値、圏論、モナド、評価戦略、純粋関数型、その辺りの「数学的基礎」を教える - Qiita

著者の別の記事を私は何度か読んだことがある。最初に読んだのはこの記事だった。 わかりやすくて読みやすい、良い記事だと感じたことを覚えている。

しばらくして、偶然twitterで流れてきた記事を読んだ。わかりやすいとは思ったが、良い記事だとは思えなかった。しかし、私はそう感じた理由を説明できなかった。

そして今日、最初に挙げた記事を読んだ。結論から言おう。読むだけ時間の無駄だった。

そして、私はそう思った理由を自分の中でなんとか言語化することに成功した。

前提

私が思ったことを書くだけでは、様々な誤解が生まれるかもしれないので、予め断っておきたいことが幾つかある。

記事の内容が間違っていると言いたいわけではない

自慢ではないが、私は数学が苦手だ。去年は微積分の単位を落としたぐらいであるから間違いない。なので、記事の内容が間違っているかあっているかはわからない。私は、記事の内容が的外れのデタラメだから読む価値がないと主張したいわけではない。

一般的な事実を書きたいわけではない

私がこれから書くのは、誰もがそう思うだろうという一般的な事実ではない。私が感じたことを書くだけであるから、それはおかしいと思う人もいるだろう。それは、ここで書くことが間違っているからではなく、私と感じ方が違うだけである。

読む価値のない記事

読む価値のない記事とは

さて、ようやく本題だ。

読む価値のない記事とはどのような記事だろうか。それはたくさんある。

たとえば、内容が間違っている記事、主張したいことがわからない記事、必要以上に冗長な記事。

少し言い換えてみよう。読む価値のない記事とは、すなわち、読んでも得ることのない(または非常に少ない)記事だ。あるいは簡単に言うならば、「悪い記事」だ。

なぜ読む価値がないのか

先ほどの記事を、何故読む価値がない(=悪い)記事だと感じたのか。

それは、私がこの記事の内容を信用できないと感じたからだ。

それは根本的な理由ではないが、少なくとも直接的な理由である。

私がこの記事を読んだのは、「数学基礎」について学びたいからだ。学びたいから記事を読んだのに、そこに書いてあることが信用できなければ、読む価値はない。

書いていることは正しいのかもしれないが、私はそれを信用できないと感じた。記事の内容が正しいかどうかは関係ない。

なぜ信用できないと感じたのか

最初に、著者の記事には読む価値がないと思い、その理由を考えた時よりは、信用できない理由を考えるのは遥かに簡単だった。読む価値がないのは信用できないからだと思い至った時、信用できない理由はすぐにわかった。

それは、著者が記事の中で他人を馬鹿にしているからだ。例えばこんなことが書いてある。

中には100人中100人がそう思っていて、 私は101人目の「異端者」であるらしいです(笑)

まあ、101人目でもなんでも、間違っているのはその100人のほうなので、 どういうトンデモ理論を強弁されようとも、こちらの見解が揺るぐことなど微塵もないわけなのですが、まあ要するにそういう感> じで思っている人らがいる、っていうのは大変興味深い事柄でした。

(中略)

こんなもんは、圏論の表面をざっとなぞるだけで、誰でもすぐわかるはずです。 わかる「はず」ですが、こういう戯言を、 100人中100人が正しいとおもっていて、オマエの考えが異端だ、 私は「評価」っていうのが何か理解していない、 その辺りよく区別ついていないからだ、数学勉強しろ、 みたいに豪語しちゃうっていうのは笑止千万。

というわけで今回、 訳知り顔のなーんもわかっていない連中に向けて、  「数学的基礎」の講義を私の方からします。

さて、長々と引用したが、私はこれらの文章を次のように読み取った。

「ちょっと圏論かじっただけでわかるようなこともわからないなんて頭悪すぎwww。でも仕方ないからそんな頭の悪いお前らに俺が正しい数学基礎の講義をしてやるよ。ありがたく思え」

あまりに傲慢だ。もちろん、誰もがこのように受け取るわけではないだろうが、少なくとも私はこのように受け取った。

また、この記事に対して次のようなコメントが付いている

(略)

表面をみるとAであるようにみえるがそれはありがちな誤解で、よく学ぶと実はAではなくBであることがわかる、ということはま> まあることです。

あなたは、自分が誤解しているかもしれないだとか、本当に彼らが間違っているのかを確かめようだとか、そういう気持ちをいだくことはないんでしょうか。 私はそういった心構えは、識者(私はあなたがまるで愚かしいとは思っていません)にとって必要なものだと思います。ましてや初学者に教えを与えたいのであれば尚更ですよね

このコメントに対しての著者の返答は次のようなものであった。

結論として間違っているので、表面をみて間違っていると判断しているのではありません。 実際にEVALとAPPLYが本質的な差だとか、そんなもん圏論を「なぞれば」普通に間違いだと断定できるレベルの話であるし、 事実私は、EVALのみだけで関数型プログラミング言語を構築して概念実証もしているので、 彼らの結論が間違っていることはFACTとして実証できています。

実証できているなどの、具体的な部分については私はよくわからない。しかし、この返答は良くない返答である。簡潔にまとめると、このやり取りは次のようなものだろう

質問「自分が間違ってるかもしれないとは思わないのか」

返答「彼らが間違っていることは実証できている」

明らかに質問者はYesかNoかを問うているが、それに対してYes/Noで返答していない。実際に、この部分より後のコメント欄では質問者が「Noですね」とかくにんしたところ、著者は「Yesです」と答えている。つまり、相互の認識に齟齬が生じている。たとえば「そう思います/そうは思いません。なぜなら…」というような形で答えればこのような齟齬は生じない。

著者は間違いを指摘されながらも、「たとえ著者以外の全員が著者の間違いを指摘しようとも、著者が正しく、著者以外が全員間違っている」と主張している。そして、講義だと宣言しながらも、説明の間に著者を批判した方々に対する批判を挟み、Yes/Noの問に対してYes/Noで回答しない。

自分だけが正しく自分以外が全員間違っているという認識は、自分以外が正しく自分だけが間違っていることが多いのは、某ノベルゲームの第一話の謎を解く鍵としても有名だ。

このような人物の書く記事を、果たして信用できるのだろうか。

ある程度の知識がある方ならば、的外れのことを書いているかどうかの判断はつくだろう(尤も、著者の言う「訳知り顔の連中」に含まれるのならば、全くデタラメの記事に見えるのかも痴れない)。だが、私のような素人には正しいことを書いているかどうかは全くわからない。そして私は、これまで挙げたような著者の表現から、信用に値しないと感じた。

さらに、極めて個人的かつ感情的な意見を述べるならば、『上から目線で「教えてやるよ」みたいな書き方をするような人物はどんなに優秀であろうが信用に値しない』。『』の中に書いたのは、すべて私の感情である。意見ですらないことは承知の上だ。

おまけ

おことわり

ここから先は、この文章を書き、そして気が緩んだ後に書いた文章である。そこに書いてあるのは私の意見ではなく感情であり、感想であるから、これまでの主張とは別個のものとして受け取ってもらいたい。

批判って難しい

そもそも、自分が間違っていて、批判しようと思った相手が正しいことは大いにありえる。

批判する文章の中に間違いがあるようならば、その批判は途端に説得力をなくしてしまう。本文の中で書いたのと同じで、「信用」を失ってしまう。

感情的になってもいけない。感情がおかしいと告げていても、その理由を説明できなければそれはただの戯言であって批判ではない。

批判するのって難しい。ただ批判するのは簡単だけど(それはもはや悪口や陰口の類だ)、正しく批判するのは本当に難しい。