2010年9月2日木曜日

[メモ] SICPは英語で読むべし

翻訳とは本質的に不可逆なオペレーションだ。よほど上手くやらないと、こぼれ落ちる部分がかなり大きくなってしまう。

たとえば "principle of least commitment" を「最小責任の原則」などと訳してしまうと commit という動詞の持つ「委任する」という側面は見えてくるが「明言する」「深入りする」という側面が見えなくなってしまう。この原則の背後にあるのは、ヴィトゲンシュタイン風に言うならば「語り得ぬものについては沈黙しなければならない」ということであり「どこで抽象化を止めるかを見極める事が重要だ」ということなのだ。

こういった概念の取りこぼしは一知半解への近道である。「敵を知る」は兵法の初歩だが、これでは敵の実力の半分しか理解出来ない。結局のところ、自分に都合の良いイメージを捏造してそれをもとに過小評価し返り討ちにあうか、逆に過大評価して萎縮してしまうので、ネイティブと同じリングに上がった場合は確実に負けることになる。「英語で読むべし」はそういった愚に陥る事無く等身大の理解をするための戦略なのだ。

「英語で読むべし」にはもうひとつ理由がある。「プログラミング言語は印欧諸語の延長線上にあるから」というのがそれだ。プログラミング、ひいてはチューリングマシンやノイマンアーキテクチャといったコンピュータサイエンスの諸要素は印欧圏が産み出した文化の精髄であり、それを理解するには文化を産み出した言語に触れるのが一番の近道だからだ。

なかでも英語は、格変化の簡略化や名詞における性の廃止など、印欧諸語のうちで最も抽象化が進んだ言語だと言える。言語運用という点から見れば、具体的な概念をマッピングし抽象化するという方向に言語進化のエネルギーを注ぎ込んできた。

逆に日本語は、言語運用とは抽象化ではなく具体化を意味するという側面が、21世紀のこんにちでも未だ色濃く残っている。「縁起でもない」に見られる様な言霊信仰が脈々と受け継がれて来たのだ。ある意味、英語とは正反対の進化を遂げて来たわけで、そういった背景の違いをもとに産み出された文化たるや、その理解を拒む要素があちこちにトラップとして潜んでいる。

いつの時代も言語理解は文化理解の早道であり王道であるということで、やはり英語で書かれたものは英語で味わうのが理想である。もしくは漢字に取り組んだ時のように、時間・手間といったリソースを注ぎ込んで日本化するかだ。

ちなみに、Rubyは日本人が産んだプログラミング言語だ、という認識は半分正しく半分誤りである。Matz氏はまぎれも無く日本人であるが、言語設計に垣間見られるその信条を産んだのは日本ではないからだ。

ということで「英語なんて正直言って簡単なんですから何とかしましょうよ」というのが結論だ。特にSICPは英文としては平易な部類に入るし、分詞構文で頭をひねったりする箇所も無い。なんと言っても、これほどの名著が英語だとタダで読めるのだから、読まなきゃ絶対損なのである。

0 件のコメント:

コメントを投稿