2009-12-31

C++0x本は名詞を英単語で記述すべきか?

私は今、非常に斬新なアイディアを持っている。それは、来年書き始めるC++0x本の、専門用語の名詞を、すべて英単語で記述してはどうかということだ。

たとえば、lambdaやrvalueのような用語は、この英単語のまま書くことになるだろう。それなら、このルールを、すべての用語に広げてしまえばいいのではないだろうか。

広く普及した単語でも、おかしいと感じるものはたくさんある。例えば、式と文だ。これは、expressionとstatementの訳語だが、私は、式と文では、サッパリ意味が想像できない。

では音訳して、エクスプレッションとかステートメントというカタカナ化を行えばいいのではないかという意見もあるだろう。しかし、このカタカナ化は、かえって単語を分かりにくくする。

また、私の本は、C++0xを深く深く解説する本になる予定だ。読者対象は中級以上のプログラマである。初心者ではない。プログラミングというのがどういうものか知っていて、ある程度C++もかじっている人間である。そういう人間は、少なくとも、C++の専門用語に対する英単語ぐらい、知っているはずである。

type, function, class, pointer, reference.

例えば、上記の英単語に対する、一般的な訳語が分からないC++プログラマがいるだろうか。

動詞は、翻訳すべきだと思っている。たとえば、"a pointer A reference a variable B."という文章は、「variable Bを参照するpointer A」、「pointer Aはvariable Bを参照する」などと訳すことが出来る。「referenceする」という記述は、さすがに問題がある。

問題はある。関数とか変数とかコメントといった、極めて一般的になっている名詞まで、英単語にするべきなのだろうか。それぐらいは、例外を設けるべきではなかろうか。しかし、対象読者は、functionもvariableもcommentも、何を意味するか知っている。それに、たとえ知らなくても、C++0xの言語仕様を解説する本なので、functionというものがなにか、commentとは何か、ということも日本語で解説する。だいたい、プログラミングを全く知らないものが、関数とか変数という言葉を聞いても、プログラミングで使われている概念を悟るハズがない。数学の知識のある者は、関数や変数の概念を知っているという意見もあるかもしれない。しかし、数学でいう関数や変数と、プログラミング畑でいうものとは、やはり違うのである。とすれば、たとえ英単語で用語を記述したとしても、訳の分からない漢字で記述されているか、訳の分からないアルファベットで記述されているか、程度の違いしかないわけだ。

ところで、あくまで言語仕様を解説するので、明確に章節を分けると宣言したものの、まだ問題はある。gotoやswitch satetementと、labelを分けるのなら、まだいい。問題は、variableのdeclarationが、specifierという部類に属するのだ。これは、変数というものを説明するには、ものすごく回りくどい。さすがにまずかろう。

がしかし、考えてみれば、対象読者は、変数の宣言の書き方ぐらい、わかっていることを前提としている。それならば、彼らが知りたいのは、単に表面上の文法ではなく、言語として、どのように定義されているか、ではなかろうか。実際、私は、「どのように」書くかではなくて、「なぜ」そう書かなければならないのかを説明する本を書くと宣言した。それなら、規格書にそって説明するのも、無駄にややこしいというわけではない。

5 comments:

  1. こんにちはharu-sです.

    >例えば、上記の英単語に対する、一般的な訳語が分からないC++プログラマがいるだろうか。
    確かに,そんな人はいません.
    しかし,変数や関数のように既に一般的になっていて意味的にも問題がない用語は,そのまま通す方が読みやすいでしょうね.
    逆に,新しい概念や,日本語ではうまく表現できない用語は,英単語のままにしておくのがよいと思います.

    >「なぜ」そう書かなければならないのかを説明する本を書く
    それはさらに期待が高まりますね!
    楽しみです.

    ReplyDelete
  2. しかしですね、式や文が一般的な言葉だと主張する人もいるのです。
    expressionやstatementの訳語としては、どうかとおもうのですが。

    ReplyDelete
  3. 私も式や文は既に一般的になっていると思います.
    しかし,その訳語の意味に問題があるのなら,expressionで通してもよいのではないですか.
    ただ,「expressionは式とも呼ばれている」のようなことは書いてあるのがよいと思います.


    この記事のはてブコメントでは訳語を作った方がいいと言われていますね.

    ReplyDelete
  4. Keep up the great work, its hard to find good ones.

    ReplyDelete
  5. This information provided by you is very practical for good planning.

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.