Oh 脳《147》「我が輩は猫である」を英訳すると?

記事一覧Oh 脳: after ZERO《其之佰肆拾漆》

「我が輩は猫である」を英訳すると?

《監修》小泉ひよ子とタマゴ倶楽部

THE BOXER, 1969

In his anger and his shame
"I am leaving, I am leaving"
But the fighter still remains


先日、Software Design を献本していただいたので、
今回は、その宣伝を兼ねた話題を提供します。

● p.88「他人の家に土足で踏み込む」

私は、セミナー受講者のみなさんに、
「我が輩は猫である」を「I am a Cat.」に直訳したのでは…という話をしましたが、
著者の指摘にもあるように、その文化的な背景を理解しないと損をします。


プログラミング言語に限らず、外国語(自然言語)を学ぶときも、
言語を習得するのは「手段」であって、真の「目的」があるはずです。
文法への戸惑いを払拭できたら、その背景にある文化を堪能したいものです。
ソースコードを読むときも、

  • 行間を読める

ようになったその次には、

  • 著者を取り巻く(プログラミング)環境

にも思いを巡らせます。


GoF を反面教師に 〜 Let's GoForward 〜」で伝えたかったのは、
デザインパターン GoF の背景にある文化を理解しないまま、
C++ の事例を他の言語に直訳しがちなプログラマーに対する警鐘でした。

GoF が出版された時代に配慮すると、公用語C++ を選択したのも頷けますが、
それは、フィルター(C++)を通して見える世界観に限定される危険を孕んでいます。
仮に直訳された「I am a Cat.」をもとに翻訳を繰り返したらどうなるか、
伝言ゲームの例を挙げるまでもなく、その問題点が浮き彫りになります。


実際に Ruby/Python などで記述されたデザインパターンの事例には、
GoF のサンプルコードを直訳したかのような代物をよく見掛けます。
確かにそれは、文法的にも正しく等価なコードと言えるかもしれませんが、
そこから逆に「我が輩は猫である」の趣を再現できるでしょうか。


自動翻訳された英文から、日本語に再翻訳したとき、
とかく不自然な表現になってしまう事例には、枚挙に暇がありません。


こんな話があります(古典落語に由来する逸話と記憶していますが…)。

ある弟子が鍛錬を積み、匠の技の一挙手一投足を完璧に模倣できるまでに至ります。
やがて、都で成功を納め、自身も多くの弟子を抱えるようになったとき、
「その所作にはどのような意味があるのか」と問われます。
もちろん、見よう見まねですから、その意味など知る由もありません。
やがて、故郷に凱旋を果たし、年老いた師に向って
「その所作にはどのような意味があるのか」と教えを乞うと、
師は「そのような所作には覚えがない」と不思議がります。
実際に匠の技を披露すると、師もその所作を忠実に再現するのですが、
実は何の意味もない所作(癖)だと気付き、愕然とするのです。

閑話休題
ともすると、GoF に掲載された C++ のサンプルコードを鵜呑みにするあまり、
未熟な言語仕様のツケを、デザインパターン清算したようなコードになりがちです。


GoF の著書をデザインパターンの「バイブル」として紹介するものもありますが、
GoF はあくまでも「原典」を紹介(再構成)したカタログ(ガイドブック)にすぎません。


海外旅行を計画するときには、ガイドブックを参考にするかと思います。
しかし、現地に行ってみないと体感できないものも少なくありません。
卑近な例が、海外のガイドブックに掲載された日本の紹介記事です。
日本人の平均的な感覚とのずれ(ギャップ)を痛感することになり、
日本に関する認識はこんなものか…と、複雑な思いに駆られたりするものです。


それと同様に、GoF が引用した原典を知る立場からすると、
パターンに関する認識はこんなものか…と、複雑な思いに駆られたりするもので、
GoF が何を伝え、何を伝えていないか…について、言及せずにはいられません。

《追記》

セミナー課題では、Iterator パターンを取り上げ、GoF の問題点を指摘しました。
(他のセミナーでは「for と別れる50の方法」として紹介したのと同じ課題)

参考文献の著者も指摘しているような、Java で実現できる限界を越えて、
クロージャーを導入した Python 版では、より簡潔かつ柔軟な構造になるので、
仕様変更にも迅速に対処できるなど、プログラミングの効率化が期待できます。

とは言え、Java プログラマーより一昔(約10年)も前に、
Jython プログラマーは、クロージャーの恩恵に浴していたわけですから、
遅ればせながら私も、2003 年以降に Jython を本格的に導入したときに、
「もっと早く採用していれば…」と後悔したのも、理解できるかと思います。

《余録》

無くて七癖…とは良く言われることですが、卑近な例を挙げると、
インフルエンザ対策でも話題になったように、無意識に自分の顔を手で触ってしまうことです。

  • 誰かに観察してもらうと、
  • 誰かを意識的に観察していると、

自分では気付かなくても、何度も自分の顔や髪に手を伸ばしている様子が分かります。

Last updated♪2010/01/14