2011-09-21

日本語の限界を感じる

C++の参考書を書くのがつらい。どうも、日本語という言語の限界を感じる。

日本語で技術書を書くのは、苦痛極まりない。どんなにわかりやすく言葉を選ぼうと、結局やっていることは、英語の翻訳でしかない。それならば、最初から英語で書けばいいではないか。明治になってから、医学はドイツ語から翻訳されたオランダ語ではなく、元のドイツ語で学んだように、プログラミングも英語で学ぶべきなのだ。確かに、一般人は翻訳で学んだが、専門家たる医者は原語で学んだのだ。専門家であるプログラマーも原語で学ぶべきである。

実際のところ、今や、もはや参考書というもの自体が時代遅れなのではないかと思う。何故ならば、誰もが一次ソースたる規格書を読むことが出来るからだ。まあ、C++はISOの規格なので、規格書は無料ではない。とはいえ、たったの352スイスフランだ。クソの役にも立たぬ参考書を何冊も買うより、規格書を買ったほうがいい。

むしろ、今の時代に日本語のプログラミングの参考書を出しても、害悪でしかないのではないかと思い始めている。日本語の資料がなければ、まともにプログラミングを学びたいものは、自然と英語を学ぶようになるはずだ。かつて私は、プログラミングを学ぼうとしたが、まともな日本語の参考書がなかったので、まず英語から学ぶことにした。この2011年になっても、まともな日本語の参考書が存在せず、世間一般に良書とされている日本語の参考書は、すべて英語からの翻訳(それもかなりひどい翻訳)であるという事実からしても、私の取った戦略は正しかったといえる。

とすれば、日本語の参考書をこれ以上増やしても、害悪でしかない。

結局、今の私は、自分自身が全く必要としていない、それどころかむしろ、害悪であるとまで考えるような参考書を書いているわけだ。道理でつらいわけだ。

追記:確かに、352スイスフランは、個人で買うにはちょっと高い。恐らく来年頃には、ANSIから数十ドル程度の値段で、規格書が買えるようになるはずだ。

16 comments:

  1. C++の本を楽しみにしていたのに、そう言われてしまうと悲しいですね。
    寄付まで募っておいて今更言うことなのですか……

    ReplyDelete
  2. ちょっとその論理はおかしいのではないかと思います。
    それが通るのであれば、英語の参考書は何から翻訳してるのでしょうか?

    逆に英訳して海外で出版されてもおかしくないものを書けばいいじゃないですか。

    言うは易しなのは承知しておりますが、目指すのはそこでは?

    ReplyDelete
  3. 既に同じような内容がコメントされていますが,本質から逸れるあるいは冗長になるなどの理由から仕様に書かれない歴史的経緯や想定用途などを補って説明するのが,解説書に求められる役割だと思います.
    おそらくですが,想定読者を違えているのではないしょうか.参考書として想定すべきは仕様の細部を把握したい人間ではなく,仕様により実現されることを把握したい人間ではないでしょうか.

    ReplyDelete
  4. C++の規格は、英語で議論され、英語で定義されています。
    翻訳というのは根本的に邪悪なのです。


    歴史的経緯や想定用途が知りたければ、
    C++ Standards Committee Papers

    ReplyDelete
  5. JIS 原案はおそらく個人的な都合とは無関係に誰かがやらねばならないことになっていると思いますので、そちらの作業を手伝うなりすることで寄付に報いる働きをされてはいかがでしょうか?

    「C++0x本」は実は JIS 原案のことだったのだよ、ということで。

    ReplyDelete
  6. 日本語のC++本は出しますよ。
    ただ、もはや日本語という言語が、プログラミングを学ぶのに適していないという事実はどうにもなりません。

    それに、参考書というものも、今後は下火になっていくでしょう。
    今後は、MLやStack Overflowのようなユーザー参加型のサービスに、学習の中心が移るはずです。

    C++11のJISの翻訳、今回は出るのでしょうか。
    一応、使っている人もいるにいるそうですが。

    ReplyDelete
  7. いつもこのサイトにはお世話になっています。私は英語を難なく読めますが、まとまったC++0xの情報源が存在しない現状、本は必要です。質問サイト(2chふくめ)も使いますがPythonみたいに正しい道筋が見えている言語ならまだしも、C++0xは方針設定の段階でつまづくことが多いです。仕様書ではなく、ユーザーの独断でもなく、見識者の多角的な指導が絶対的に必要です。

    ReplyDelete
  8. Anonymousさん
    >私は英語を難なく読めますが、まとまったC++0xの情報源が存在しない現状、本は必要です。

    仰るとおりまとまった情報は必要ですが、本でなくてもよいのではないでしょうか。僕はPythonはネットに転がってるチュートリ読んで覚えたので、そういう意味では参考書は必ずしも必要ないと思います。
    こんなのですが、もっとわかりやすいサイトがあった気がする。→ http://docs.python.org/tutorial/interpreter.html

    Stack Overflowは僕もよく使いますが、個別の疑問点を解消するのには便利でも、全般的に知っておきたい場合には何の役にも立ちません。その点で、参考書やそれに類するWebサイトは非常に有用です。

    ReplyDelete
  9. じゃあ辞めればいいじゃないですか?
    著者がそんな態度で書いてる本は確かに害悪でしかないでしょうね。
    日本語で素晴らしいプログラミングの本を書いてプログラマ人口を増やしている著者はいますよね。
    結局あなたの固定観念の問題なんでしょうから。

    ReplyDelete
  10. で、辞めたら辞めたで寄付金詐欺だとか何とか叩くつもりなんでしょ?

    ReplyDelete
  11. 平謝りすればそれ以上叩きませんが。

    ReplyDelete
  12. 情報源を集めるのは英語が有利でしょう。ただ日本語も捨てたモンじゃないし、すばらしい訳者のかたもいますね。

    個人的には英語みたいな非論理的言語よりもドイツ語、フランス語の書籍が増えてほしいものですがw

    ReplyDelete
  13. 確かに英語は日本語より非論理的だと言われていますが、ドイツ語とフランス語は、文法上の性が存在し、数体系が無意味に複雑であり、国際的に流行らなかったのは当然です。
    ドイツ語は二桁の数字をひっくり返して言わねばならず、フランス語は十進数と二十進数が混ざっています。

    ReplyDelete
  14. 単なる逐語訳ではなく再構成ともいえる翻訳は非常な困難を伴うでしょうけど、それは確実に日本のプログラミング界への貢献となるはず。
    杉田玄白は翻訳開始当初、櫂や舵の無い船で大海に乗り出したようだと言ってその困難を表したといいます。
    原語を学び、さらに対象を学ぶのは一番効率は良いかもしれませんが、普通はそこまでモチベーション維持できないでしょう。
    日本語の情報で学んだ後に更に原語での一次ソースに当たる、と言うパスを構築することはプログラマ人口を拡大させることができるでしょう。
    玄白による解体新書がなかったら日本の医学のここまでの発展はなかったのでは?
    膨大な量の英文を意図やコンテクストまで理解して翻訳するのは単純作業ではなく非常に大変な作業でしょうが、応援しています。
    わずかですが寄付や魔導書の購入もしました。
    寄付額が足りなければ言ってください。

    ReplyDelete
  15. 日本語の限界じゃなくてお前の限界だろうが
    自分の理解力が足りないのを日本語の限界(キリッ
    とかマジださいんですけど
    これでもうニートに投資して本書かせようなんて人はだれもいなくなりますね
    所詮はニートだって結論が出た
    マジニートは豆腐メンタルだわ

    ReplyDelete
  16. こんなバカに寄付しなくてよかったと心の底から思えるエントリーでした。

    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.