無断リンク禁止問題とプログラミングの溝と

 ふと無断リンク禁止問題を目にして、あぁ15年前*1から延々とこの議論は続いているのだなぁと思いながらも、なぜこの問題がかくも絶えることがないのかということを思いめぐらせてみた。

理解の程度と価値観の変遷

 おおよそIT系技術者であれば無断リンク禁止のナンセンスは理解していて、そもそもそんな主張をしてもしょうがないという価値観になってしまう事実がある。事実、無断リンク禁止を主張するのは矛盾に満ちた主張になってしまいナンセンスなのだけど、おおよそハイパーリンクの仕組みというものを理解できていない人は現実世界の比喩としてインターネットを捉え、その祖語のもとでは、無断リンクを糾弾したくなる感情もまた自然なものだと思うのだ。

 人は現象に法則性を見出す。

 インターネットという代物に初めて触れた人は、それを現実世界の何かと類似のものだろうと捉えることだろう。そして、それは大きな誤りで、現実世界では起こりえないことがネット世界では起こりえる。物理世界の法則と別種の法則で支配されたバーチャル空間なのであって、リアル世界の法則を前提に「おかしい。こんなはずじゃない」と言ったところで世界のルールが違うのだからどうしようもない。ホームページといったものを部屋であるとかそうした現実世界の空間のようなものの比喩として理解すると、あなたは挨拶もなしに勝手に人の部屋にあがりこむのですか!という理論でもって読み逃げ禁止*2とかをうたいかねない。

 子供が自己中心的な我儘を叫んだところで、世界はそのようにできてはおらず、自分の主張は空しいかな泣き叫び駄々をこねても叶えられないことを思い知らされる。おなじように、無断リンクをされたくない!と駄々をこねたところで、インターネットはそのようにできてはおらず、自分の主張は空しいかな泣き叫び駄々をこねても叶えられないのだ。

 ならば、世界に合わせて価値観をかえるより仕方ない。子供がおやつを独占するのをあきらめ、皆で分け与えることを強制され、挙句みんなで分割することに対してなんらの憤りも感じなくなるように、無断リンク禁止の主張を諦め、ハイパーリンクに対してなんらの憤りも感じなくなるのだ。

 ネットへの精通度合いと無断リンク禁止論者の比率を相応に説明できるのではなかろうか。若者が無断リンクを叫び、そしてそのまま大人になるのであれば、時の流れとともに無断リンクは禁止されることになるが、そうはなっていない。15年前に荘園だった僕はやはりリンクに対してなんらかの挨拶を伴うことが当然だと考えていたが、その思想は霧散した。熟練というかインターネットに対する理解を深めることでナンセンスを理解し、理解すればリンクをするにあたってなんらの断りもいらない価値観を身につけるという、世代による分離ではない熟練による分離と捉える方が現象を矛盾なく説明できるだろう。

バーチャル世界を理解する壁

 さて、インターネットという、リアル世界とは法則の異なるバーチャル世界を人間が正しく理解するまでに時間を要するという話になったわけだが、類似の話題としてプログラミングできる人とできない人との間の深い溝 - masatoi’s blogを取り上げよう。

 これは、リアル世界とは法則の異なるプログラミングの世界を人間が正しく理解するまでに時間を要するというか、コストが折り合わないのでIT業界はそのような人を切り捨ててしまうという話。ちょっと違うか。

 しかし、自分はプログラミングは後天能力だと考える派なので、どうにもプログラミングを理解できないといった人たちでも根気よくトレーニングを積めば身に付けれると考えているけども、産業的な話で言えばそこまでするのはコスト的に折り合わないから切り捨ててしまえと冷酷に考える。おおよそ数学と言うか論理思考になれている人、いやこれも後天的に獲得する能力だと思っているけども、その積み重ねをさぼってきた人に学生時代からの総量の分だけ取り返せというのが相当に大変であることは理解いただけるだろう。そうしたことをサボってきた人がプログラミングをしたいと言うならば、そのツケを払わないといけない。ツケさえ払うならプログラミングを身に付けれると思うけど、ツケのある奴はIT業界の門はおおよそ門前払いという現実がある*3

 プログラムにバグが発生した場合、かなり珍妙な挙動を示すということはよくある。プログラマというのはそこでオカルトを持ち出すのではなく法則を見出しバグの原因にあたりをつけれなくてはならない。無断リンク禁止をうたうように、自分の頭の中の誤った理解を元にこうしろ、こうあるべきだ、と主張しても事態はなんら解決しない。

認知心理学からのアプローチ

 そういえば認知心理学でウェイソンの4枚カード問題というのがあったっけ。

 http://homepage1.nifty.com/NewSphere/EP/b/psych_cards4.htmlとか解説しているページはたくさん見つかる。

「ウェイソンの選択課題」 (ウェーソンの四枚カード問題)

表にアルファベットや数字が並んでいる4枚のカード。
【母音のカードの裏はいつも偶数】がホントだと確認するには最低どのカードをめくればいい?

この問題ではだいたい3/4の人が間違ってしまう。
 ところが… 
「コスミデスの実験」

16歳 コーラを飲む人 20歳 ビールを飲む人

こういう4枚のカードで
【「18歳未満は飲酒禁止」に違反していない】ことを確かめるにはどのカードをめくればいい?
この問題だと、正答率がほぼ全員になってしまう。

 まぁこんな話。

 これをどう捉えるかというのは難しいところだけども、人間は既知の体験になぞらえて新しい課題を考えると思っていいんじゃなかろうか。抽象度が高い問題と言うのは、既知の体験に結び付けにくく正解率を落としてしまうんじゃないかな。新しいプログラミングパラダイムを学んだとき、なかなか概念が理解できなくて苦しむわけだけど、「ウェイソンの選択課題」的なモノを辛抱強く理解できるまでやって最初の壁を越えれば、そこそこにはプログラミングの世界を楽しめる。

 自分が理解できない未知と遭遇して、泣き叫び駄々をこねても未知はいつまでも冷酷に未知のままなわけで、駄々をこねるのを諦めて自分の価値観であるとか、自分の思考ロジックであるとか、自分の側をどうにかするしかない。変わるべきは自分の方じゃない、世界の方だと言ったところで時が空しく過ぎていくだけなのだから。

*1:おおよそWindows95が発売された頃に自分もインターネットに触れ始めた

*2:mixiで流行ったアレ

*3:ブラック企業だと頭数要因として門に迎え入れてくれるかもしれないがろくな結果にはならない