岩瀬順一の「K&R2 の日本語訳を読む 1.1」

7 ページ

2 行目。「書いてみる」は「書く」。

6 行目。「という単語を印字せよ。」は地の文ではない。 原文にならうなら

である。

        hello, world
という単語を印字せよ。  これが基礎となる……
といった感じか。

また、「単語」だと一語のようにも取られるので、 「言葉」のほうがいいかも知れない。

7 行目。 原文の This is the big hurdle; がどうして 「これが基礎となる障害物だとしよう」 という訳になるのか理解できない。 「どこかでプログラム・テキストを作り」 は 「どこかに…」。

8 行目。 原文が compile it successfully だから 「それを上手にコンパイルし」よりは「コンパイルに成功し」?

9 行目。 原文が where your output went だから 「出力がどこに行くか」よりは「出力がどこに行ったか」?

原文が you have to be able to ... だから 「見出さなければならない」よりは「見出すことができなければならない」?

10 行目。 「比較的容易」 は 「それに比べれば容易」。

11 行目, hello, world は二重引用符で囲む。 ただし、この二重引用符はタイプライター体の " ではなく 普通の " である。

17 行目。 「プログラムを」 の前に「この」を入れる。 「実行させる」と訳されている run は 8 行目では「ランし」と訳されている。 訳し分けている理由はわからない。

「使うシステム」は原文の the system you are using を直訳して 「(あなたが)使っているシステム」 のほうがわかりやすいと思う。

19 行目。 「ソース・プログラム」は原文では「プログラム」。

23 行目。 「コンパイルはスムースに進んで」 の原文は the compilation will proceed silently であるが、 これは「メッセージを出さずに」 の意味ではないかと思う。

26 行目。 「というコマンドで」は原文では「というコマンドを打って」。

8 ページ

1 行目。 「出力として出てくる」 は 「印字される」。

2 行目。 「周囲の」 は 「そのシステムの」。

4 行目。 「計算の過程」の原語は the computing operations だから 「計算(の)操作」?

5 行目。 「計算で使われる値」の原語は values used during the computation だから 「計算中に使われる値」? あるいは「計算の間、値を」?

6 行目。 「上の例では,main がそうした例になっている」 の原文は Our example is a function named main である。 この「example」は main 関数だけをさしているが、 訳文の「上の例」は hello.c 全体をさしているようである。 また、「そうした例」というと「どうした例?」と聞き返されそうである。 試訳:「上での例は main という名前の関数である」。 「私たちの例」と直訳でもいいかもしれない。

7 行目。 「普通は,関数には自分の好きな名前を付けてもよいが」 だと、つけなくてもよいようにもとれる。 「付けてもよいが」を「付けてよいが」としては?

8 行目。 「プログラムの実行は main の先頭から始まる」 は原文が your program begins executing at the beginning of main なので 「プログラムは main の先頭から実行することで始まる」、 「プログラムは main の先頭からの実行で始まる」。

11 行目。 「その仕事を行なうのに」は help perform だから「手伝わせるのに」?

12 行目。 「手元にある」は that are provided for you だから 「供給された」が直訳で、「用意された」ぐらい?

13 行目。 原文はここで段落がえをしていない。

15 行目。 「標準入出力ライブラリについての情報を含めるべきことを, コンパイラに対して指示する……」 では、 “含む”主体が何なのか、初学者には意味がわからないだろう。 「含めるべきことを」を「取り込むよう」とする?

16 行目。 「指示するものである」とあるが原文は単に「指示する」。 「置かれる」でもよいが原文どおり「現れる」としてもよいだろう。

「この標準ライブラリ」とあるが The standard library だから 「この」はなくてもいいと思う。

17 行目。 「説明する」は原文どおり「記述されている」としても十分。

18 行目。 ここでは include が「取り込む」と訳されている。

21 行目。 braces を「大カッコ」と訳しているが、「中カッコ」であろう。

23 行目。 「main で呼ぶ」としているが原文にそって 「main は……呼ぶ」としたほうがわかりやすいかも。

-3 行目。 「相手の関数」は the function it calls だから「呼び出される関数」?

-2 行目。 「関数名の次にあるカッコはこの引数のリストを囲むのに使われる」 とあるが原文には「のに使われる」に相当する部分はない。 「関数名の次のカッコはこの引数リストを囲む」、 あるいは 「関数名の次のカッコで〜」。

-1 行目。 「main は引数のない関数であることが () で示されている」 は 「main は引数のない関数であると定義されている。 このことは空のリスト () で示されている」。

9 ページ

2 行目。 「大カッコ {} は関数を構成する文を囲むためのものである」 の 「ためのものである」は原文にない。

5 行目。 「関数は名前で呼ぶが」とあるが、 「名前で呼ぶ」は「名前をつける」ぐらいの意味にも取られかねない。 原文は A function is called by naming it なので、 直訳すれば「関数は名前を呼ぶことで呼び出すが」。 「関数は名前で呼び出すが」?

「カッコ内に引数を並べたもの」は「カッコで囲んだ引数のリスト」 としたほうが原文の a parenthesized list of arguments に近くなるだろう。

6 行目。 「printf という名の関数」は「関数 printf」。

7 行目。 「printf は出力(この場合は引用符で囲まれた文字列) を印字するライブラリ関数である」 とあるが、 「この場合」が「出力の場合」を意味するようにも読める。 「いまの場合」「この例では」?

9 行目。 「二重引用符」のあとの「"……"」は原文になし。 原文の like "hello, world\n" が落ちている。

12 行目。 「\n という記号」の原語は The sequence \n である。 「〜という並び」?

改行 (newline) という文字」 は the newline character だから 「改行 (newline) 文字」。

「C記号」は C notation だから「C記法」。

「印字の場合,端末機を次の行の左端に進めることを示す」 は when printed advances the output to the left margin on the next line だから 「印字されると,出力を〜に進める」。

14 行目。 「改行が行なわれない」は no line advance だから「行が進まない」 ? 改行文字の話をしているのに「改行が行なわれない」とそのまま言われても。

18 行目。 「としたら」とあるが something like とあるので 「などとしたら」。

「引用符がないという」は原文になし。

19 行目。 「改行は printf では決して自動的には行われないから」 と読むと「手動で改行する必要があるのか?」と思ってしまう。 「printf は決してひとりでに改行はしないから」?

10 ページ

2 行目。 hard-to-type を「表現しにくい」と訳しているが、 「タイプしにくい」ではないのか?

3 行目。 「Cで使う他の記号」は 「Cで用意されている他のエスケープ符号列」? 「tab」は「タブ」 と“訳す”べきである。

8 行目。 x は原文では c である。


Iwase Zjuñici (岩瀬順一) 2001-10-21 (0) 22:40:37 +0900